***
title: Webflow CMS API
description: Learn how to interact with the Webflow CMS using the Data API.
hidden: false
layout: reference
subtitle: Manage your Webflow CMS content using the Data API
------------------------------------------------------------
Webflow's CMS API lets you programmatically create, manage, and publish content. Use it to build custom workflows, integrate with external systems, and automate content management. For general information on the Webflow CMS, see the [help center documentation](https://help.webflow.com/hc/en-us/articles/33961307099027-Intro-to-the-Webflow-CMS).
## Overview
Use the Data API to manage three core components of the Webflow CMS:
Database-like containers that define content structure and fields.
Individual data fields that define content types within a collection.
Content records stored within a collection.
The API supports both **staged** and **live** content, giving you precise control over your [publishing workflow](/data/docs/working-with-the-cms/publishing). You can create content programmatically, perform bulk updates, and manage multi-locale content.
***
## Workflows
There are a few workflows that are particularly helpful to understand when working with the CMS API.
}
>
Learn how to create, manage, and publish collections and items.
}
>
Learn how items are published, updated, and unpublished.
}
>
Learn how to create and manage linked CMS items across multiple locales.
}
>
Learn how to deliver cached content to external applications.
***
## Key concepts
Collections are structured containers for dynamic content, similar to database tables. Each collection defines a content type, like blog posts, team members, or testimonials, by specifying a set of fields.
Collections can contain various [field types](/data/reference/field-types-item-values), including text, rich text, images, dates, numbers, and references to other collections.
Each collection has a unique ID used to manage its details, fields, and items.
### Collections endpoints
| Endpoint | Description |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- |
| GET [List collections](/data/reference/cms/collections/list) | Retrieve all collections for a site. |
| GET [Get collection](/data/reference/cms/collections/get) | Retrieve the schema and details for a specific collection. |
| POST [Create collection](/data/reference/cms/collections/create) | Create a new collection. |
| DELETE [Delete collection](/data/reference/cms/collections/delete) | Remove a collection and all of its items. |
Fields define the structure and data type for content in a collection. Each field has a unique ID used to manage its details and item data. Each field's type determines the kind of content it can store. See the [field types reference](/data/reference/field-types-item-values) for a full list of types and their properties.
### Collection fields endpoints
| Endpoint | Description |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
| POST [Create field](/data/reference/cms/collection-fields/create) | Create a new field in a collection. |
| PATCH [Update field](/data/reference/cms/collection-fields/update) | Modify an existing field. |
| DELETE [Delete field](/data/reference/cms/collection-fields/delete) | Remove a field from a collection. |
To list fields, retrieve collection details using the [get collection](/data/reference/cms/collections/get) endpoint.
Items are individual records within a collection. Each item has a unique ID and contains data for the fields defined in that collection.
### Collection Item states
Items exist in two main states:
Draft content not visible on your live site.
Published content that appears on your website.
This dual-state system lets you prepare content changes without affecting your live site. You can create, edit, and preview staged content before publishing. For more details, see the [CMS publishing guide](/data/docs/working-with-the-cms/publishing).
### Collection items endpoints
Manage staged items on a site. These endpoints also work with live items. Updating a live item automatically updates its staged version. Creating a new item with these endpoints always creates a draft.
| Endpoint | Description |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| GET [List items](/data/reference/cms/collection-items/staged-items/list-items) | Retrieve a list of all items in a collection. |
| GET [Get item](/data/reference/cms/collection-items/staged-items/get-item) | Retrieve a specific item. |
| POST [Create item(s)](/data/reference/cms/collection-items/staged-items/create-items) | Create items. Use `cmsLocaleIds` to create items across multiple locales. |
| PATCH [Update items](/data/reference/cms/collection-items/staged-items/update-items) | Modify one or more items. |
| DELETE [Delete items](/data/reference/cms/collection-items/staged-items/delete-items) | Delete one or more items. |
| POST [Publish item](/data/reference/cms/collection-items/staged-items/publish-item) | Publish one or more items. |
Use the [unpublish live item endpoint](/data/reference/cms/collection-items/live-items/delete-items-live) to unpublish a live item.
Manage live items on a site. These endpoints only work for live items.
| Endpoint | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| GET [List live items](/data/reference/cms/collection-items/live-items/list-items-live) | Retrieve a list of all live items in a collection. |
| GET [Get live item](/data/reference/cms/collection-items/live-items/get-item-live) | Retrieve a specific live item. |
| POST [Create items](/data/reference/cms/collection-items/live-items/create-item-live) | Create new live items. |
| PATCH [Update items](/data/reference/cms/collection-items/live-items/update-items-live) | Modify one or more live items. |
| DELETE [Unpublish items](/data/reference/cms/collection-items/live-items/delete-items-live) | Unpublish one or more live items. |
| POST [Publish item](/data/reference/cms/collection-items/staged-items/publish-item) | Publish one or more live items. |
***
## Start working with the CMS API
Below is an interactive tutorial that will walk you through the basic steps of getting a collection, listing a collection schema, listing collection items, and creating a collection item.