Create Items

Create one or more staged items in a CMS Collection. Send an `items` array with `fieldData` for each item. By default, new items are created in the primary locale. To choose other locales or add variants to an existing item, expand the options below. - **Publishing:** Set `isDraft: false` to queue an item for the next site publish. Items are created as drafts (`isDraft: true`) by default. To publish individual items, use [Publish Collection Item(s)](/data/reference/cms/collection-items/staged-items/publish-item). - **Request limit:** Up to 100 items, counting every locale variant across all entries. One item in three locales counts as three; an item in the primary locale only counts as one. Required scope | `cms:write` <div className="create-items-options"> <Accordion title="Create items in multiple locales"> Each new item gets one ID. Its locale variants share that ID and the same `fieldData`. - **Selected locales:** Set `cmsLocaleIds` to the locale IDs you want to create the item in. - **All site locales:** Set `allCmsLocales: true` to include every current site locale, including the primary locale, without listing IDs. - **Primary locale only:** Omit both `cmsLocaleIds` and `allCmsLocales`. Use only one locale selector per entry. `allCmsLocales` is available only for new items and accepts only `true`; omit it instead of sending `false`. </Accordion> <Accordion title="Add locale variants to an existing item"> Set `id` to an existing item's ID and provide the new locales in `cmsLocaleIds`. The variants reuse that ID. The item must exist and must not already have a variant in any requested locale. Send the source content in `fieldData` as a starting point for translators. To provide different content per locale, send multiple entries with the same `id`, each with one locale in `cmsLocaleIds` and its own `fieldData`. </Accordion> <Accordion title="Validation and errors"> These requests return a `400`: - Combining `allCmsLocales` with `cmsLocaleIds` (even an empty array) or `id`. - Setting `allCmsLocales` to `false`, a string, or `null`. - Sending unrecognized properties, including singular `cmsLocaleId`. Use `cmsLocaleIds` (plural). - Repeating a locale within one entry, or the same `id`/locale pair across entries. Check the response's `message` and `details` for validation errors. Some errors identify an entry, such as `items[2].cmsLocaleIds`. Invalid locale selector combinations return a message with an empty `details` array. </Accordion> </div> Moving from `POST /items` or `POST /items/bulk`? See [Creating collection items](/data/docs/working-with-the-cms/create-items) for request mappings. Rich Text fields can include Webflow components. See [Components in Rich Text](/data/docs/working-with-the-cms/components-in-rich-text) for markup and constraints.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

collection_idstringRequiredformat: "objectid"
Unique identifier for a Collection

Query parameters

skipInvalidFilesbooleanOptionalDefaults to true
When true, invalid files are skipped and processing continues. When false, the entire request fails if any file is invalid.

Request

The items to create, and the locales to create them in
itemslist of objectsRequired

The items to create. A request can create up to 100 items, counted as the sum of the locales across every entry. An allCmsLocales: true entry counts once per current site locale; a new-item entry with neither locale selector counts as one.

Response

Request was successful
itemslist of objects

The created items. Locale variants of the same item share an id and differ by cmsLocaleId.

Errors

400
Bad Request Error
401
Unauthorized Error
404
Not Found Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error