New Endpoints

Site Redirects A new set of endpoints to manage redirects for a site.

Workspace Management A new set of endpoints to manage sites within a workspace.

  • Create Site
    A new endpoint to create a site for a workspace.
  • Update Site
    A new endpoint to update a site for a workspace.
  • Delete Site
    A new endpoint to delete a site for a workspace.
Updated publishing behavior

Starting December 2024, Webflow is introducing an improved publishing workflow for collection items. When a live item’s isDraft property is set to true, the item will continue to remain published on the live site even after a full site publish. This allows users to make updates to the collection item in a draft state without changing what is visible on the live site.

To remove an item from the live site, you must now explicitly call the unpublish endpoint. This change gives developers more precise control over the publishing state of individual items. Please see the “publishing items” section of the CMS guide for more details.

  • Create CMS Item
    The default behavior of the createItem API is now to create a draft item. All new items will be created with the isDraft flag set to true.
  • Publish CMS Item
    Due to changes in how publishing is handled, sites with multiple domains are longer required to have their domains in sync when publishing a single CMS Item. Previously, users would receive a 409 error when attempting to publish a CMS item while the domains were not in sync. Users will no longer receive a 409 error when attempting to publish a CMS item.

CMS APIs

  • Update page content
    Updated properties in the request body. To update a nested Component Instance within a Component, use the propertyOverrides property instead of using the properties property, .
  • Update component content
    Updated properties in the request body. To update a nested Component Instance within a Component, use the propertyOverrides property instead of using the properties property, .

Breaking Changes

CMS APIs

Deleting collections and collection fields
Deleting a Collection is now achieved through client.collections.delete(), which was previously an API used to delete a Collection field. The method client.collections.deleteCollection() has been removed.

  • CHANGED: To delete a Collection, use: client.collections.delete(collectionId)
  • NEW: To delete a Collection field, use: client.collections.deleteField(collectionId, fieldId)
  • REMOVED: client.collections.deleteCollection()

Creating CMS items
Creating multiple CMS items across multiple locales is now achieved through client.collections.createItems(), which was previously achieved through client.collections.createItemForMultipleLocales().

  • CHANGED: client.collections.createItems()
  • REMOVED: client.collections.createItemForMultipleLocales()
1const newItems = client.collections.items.createItems(collectionId, {
2 cmsLocaleIds: [primaryCmsLocaleId, secondaryCmsLocaleId],
3 isArchived: false,
4 isDraft: false,
5 fieldData: {
6 name: "My Item For Multiple Locales",
7 slug: "my-item",
8 "plain-text": "foo",
9 },
10});

Pages APIs

  • Localization
    The locale query parameter is now localeId.
    • CHANGED: locale -> localeId

New features

Fixes

  • Some APIs that created resources (i.e. collections.items.createItem()) had request payload types that required an id, which is not possible to provide. This is no longer required.
  • fieldData type in CMS Items now allows arbitrary extra key/value pairs - allowing the creation of CMS Items with custom fields.

New methods