Workspace audit logs, combo classes, and app improvements

Workspace audit logs Data API v2

Workspace Audit Logs

Security and compliance are top priorities for Webflow and our users. To enable better security and compliance monitoring, we’re excited to announce that the Webflow Data API now supports workspace-level audit logs for enterprise customers. In combination with the existing site-level audit logs, teams now have a complete view of user activity across their organization. Use the Workspace Audit Log API to track important user events, including:

This endpoint requires authentication with a Workspace API token

Localization support for additional elements Data API v2

These updates enable you to localize more element types on a page. In addition to the existing support for text-based elements and component instances, you can now localize the following elements using the Page APIs:

  • Select choices on a select element
  • Placeholder text on a text input element
  • Button text on submit and search buttons

Support for branch IDs Data API v2 - beta

For branched pages, you can now use the isBranch and branchId parameters for additional details. These parameters are included in the following endpoint responses:


Create combo classes Designer API

We’re happy to announce that the Designer API now supports the creation of combo classes. Combo classes are a way to override the styles of an existing parent class. This is useful for creating unique variations of a style without having to create a new class.

In the Designer API, you can now create combo classes using the createStyle method and passing an existing style to the parent property. For example, if you have a parent class called button and you want to create a new style that applies a different color for a specific button, you can do the following:

my-app.ts
1// Create a style for the button
2const buttonStyle = await webflow.createStyle('button')
3
4// Add properties to the style
5await buttonStyle.setProperties({
6 "background-color": "grey",
7 "font-size": "16px",
8 "font-weight": "bold",
9});
10
11// Create a combo class that applies the new style to the button
12const comboClass = await webflow.createStyle('button-primary', {parent: 'button'})
13
14// Add properties to the combo class
15await comboClass.setProperties({
16 "background-color": "blue",
17});
18
19// Check if the class is a combo class
20const isComboClass = await comboClass.isComboClass()

Form and asset methods Designer API

Forms

Assets


Quality of life updatesWebflow Apps

In addition to API updates, we’ve also focused on improving the developer experience for Webflow Apps.

  1. Invite users to test apps
    You can now invite external users to test your apps before publishing to the marketplace by simply providing their email address and a message. This feature addresses the previous limitation where in-development apps could only be installed within the registered workspace. Contact developers@webflow.com for early access.

  2. Safeguarding app settings for marketplace apps
    We’ve improved stability for marketplace apps by implementing safeguards against breaking changes. To protect both app developers and end users, certain critical setting changes for published apps now require re-approval through our update process. This ensures your users always have a consistent experience while giving you a controlled path to evolve your app’s capabilities. In your app settings modal, you’ll now see some disabled settings that require re-approval to make changes.

    These settings include:

    • Adding a new building block (Designer or Data API)
    • Changing app scopes

Introducing Webflow’s official MCP server and LLMS.txt support

MCP Hero Image

Introducing Webflow’s MCP server

For developers using AI-powered tools like Cursor or Claude Desktop, we provide a Model Context Protocol (MCP) server that enhances the agent’s understanding of your Webflow projects. The MCP server has tools that enable the AI agent to access real-time information about your sites, collections, and other objects, enabling more accurate and contextual code suggestions and troubleshooting. To see a full list of tools, see the MCP server documentation.

LLMS.txt support

We’re excited to announce compatibility with the emerging /llms.txt standard, making your documentation accessible and optimized for AI developer tools such as Cursor, GitHub Copilot, ChatGPT, Perplexity, and Anthropic’s Claude.

/llms.txt is designed to be token-efficient, ensuring faster processing and cost-effective LLM interactions without sacrificing valuable info. Learn more

  • Use https://developers.webflow.com/llms.txt to access the LLM-readable documentation.
  • Additionally, you can access markdown versions of any documentation page to provide a more structured and context-rich experience for LLMs. To access the markdown version of a page, add .md to the end of the URL.

Comments API and enhanced form controls

Comments APIs Data API v2

We’re excited to introduce a new Comments API. With these endpoints, you can programmatically access comments across your Webflow sites, enabling new integrations with your existing tools and workflows. This release makes it easier than ever to track feedback, coordinate reviews, and streamline your content management processes.

Timing on comments

There may be up to a 5-minute delay before comment threads appear in the system. This delay may also occur in webhook notifications.

Add .well-known files to your site Data API v2

In addition to our existing support for site configuration, we’ve added new endpoints to set and delete .well-known files. This empowers site managers to automate and streamline the management of site metadata and security configurations, enhancing integration with modern web protocols and improving overall site interoperability. For more information, see Wefblow’s help documentation on .well-known files.


Control form settings and fields Designer API

We’ve added new methods to manage form settings using the Designer API. This means you can now create forms using the element creation methods with the FormForm element preset. Once the form is created, or if you already have a form created, you can use the new methods to manage the following settings - and manage required fields on forms:

  • Name: the name of the form
  • Redirect URL: the URL to redirect to after the form is submitted
  • Action: the URL to send the form data to
  • Method: the HTTP method to use when sending the form data

Form Settings

Form Fields

Additionally, you can manage required fields on forms.

Designer API form controls and enhanced CMS capabilities

CMS API improvements Data API v2


Introducing comments APIs Data API v2 - beta

Webflow’s API now supports operations to retrieve comments on a site with these new endpoints:

  • List all comment threads - Get all comment threads for a site.

  • Get comment thread - Retrieve a specific comment thread by ID with full details.

  • List comment replies - Get all replies for a specific comment thread.

    Comment replies aren’t included in the initial thread listing. To retrieve replies, first get the Comment Thread ID from the list endpoint, then use that ID with the replies endpoint.


Localization improvements for components Designer API

  • Retrieve and update additional component node types
    In addition to Text and Nested Component Instances, you can now update the following node types:
    • text-input - Update placeholder text on a text input node
    • select - Update choices on a select node
    • submit-button - Update text and waiting message on a submit button node
    • search-input - Update text on a search button node

Managing forms Designer API

Webflow’s Designer API now supports the following methods for Form elements:

Support for variable modes Designer API

Variable modes let you define multiple values for individual variables, creating distinct sets of values (“modes”) that can be switched and applied across a site. Create and manage variable modes with the following endpoints:

New form submission endpoints and designer state management features

List form submissions by site Data API v2

List form submissions by site - A new endpoint that lets you retrieve form submissions across your entire site. Unlike the existing List Form Submissions endpoint, this endpoint:

  • Takes siteId as a path parameter
  • Accepts elementId as a query parameter to filter by formElementId
  • Works seamlessly with forms in components, where each component instance gets a unique formId but shares the same formElementId

To use this endpoint, first get the formElementId from the List Forms API, then pass both the siteId and formElementId to retrieve all submissions for a specific form, even when it appears in multiple component instances.


Work with pseudo-states Designer API

Get the current pseudo-state of the designer and subscribe to changes in the pseudo-state. This is helpful for showing specific style properties based on a pseudo-state like :hover, :focus, or :active.

Get additional site details Designer API

Support for new CMS fields, advanced site configuration, and variable management features

Enhancements to CMS fields and collections Data API v2

  • Create reference fields
    To create a reference field, choose MultiReference or Reference as the type property in the field object. Additionally, include the metadata property to specify the collectionId of the collection that the reference field will point to. You can create a reference field during collection creation using the create collection endpoint or by updating an existing collection using the create collection field endpoint.
  • Create fields during collection creation
    You can now create multiple fields during collection creation using the create collection endpoint. Collections are limited to 60 fields per collection.

Add and manage robots.txt Data API v2


Add and manage well-known files Data API v2 - beta

Upload well-known files to sites with the following requirements:

  • File size must be less than 100KB per file
  • Maximum of 30 files total
  • Files must have one of these extensions (or no extension):
    • .txt
    • .json
    • .noext - A special extension that removes other extensions when uploaded. This helps compatibility with tools that require file extensions
      Example: apple-app-site-association.noext.txt will be uploaded as apple-app-site-association

New CMS field type: Option Data API v2 - beta


Create and manage variable collections Designer API

Use the following endpoints to create and manage variable collections:

Form submission deletion, reference field creation, and page method updates

Delete form submissions Data API v2

Delete form submissions from a site using the delete form submission endpoint.

Track publishing history Data API v2

Track publishing history for a site using the lastPublished parameter. This parameter returns the date and time of the last published version of a site’s custom domain. This parameter will appear in the response for the get custom domains endpoint, as well as the list sites and get site endpoints.

JavaScript SDK updates Data API v2

Version 3.1.0 is now available and up to date with the latest changes in the Data API v2.


Create reference fields Data API v2 - beta

Create reference fields in a collection using the create collection field endpoint.

To create a reference field, you’ll need to:

  • Set the type property in the field object to either MultiReference or Reference
  • Include the metadata property with the collectionId of the target collection
1{
2 "displayName": "Authors",
3 "type": "Reference",
4 "metadata": {
5 "collectionId": "580e63fc8c9a982ac9b8b745"
6 }
7}

You can add reference fields in two ways:

Create multiple collection fields during collection creation
Data API v2 - beta

Create multiple collection fields during collection creation using the create collection endpoint. Collections are limited to 60 fields per collection.


Page properties enhancements Designer API

Page methods for the designer API now accept null values. The following methods now accept null values:

Programmatic 301 redirects, workspace management, and CMS publishing improvements

Manage 301 redirects Data API v2

New endpoints to manage 301 redirects for your site:

Workspace management Data API v2

New endpoints for programmatic site management within workspaces:


Breaking changes in JavaScript SDK Data API v2

Collection management

Deleting collections and collection fields

  • 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()

CMS item creation

Creating CMS items

  • 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 localization

  • CHANGED: The locale query parameter is now localeId

Bulk CMS operations Data API v2

Added methods to create multiple CMS items in a single request:

SDK fixes Data API v2

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

Updated publishing behavior Data API v2 - beta

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’s 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 no 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 weren’t in sync. Users will no longer receive a 409 error when attempting to publish a CMS item.

Page and component content updates Data API v2 - beta

We’ve updated the request body structure for updating content:

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

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


Extension management Designer API

New supported variable types Designer API

Bulk CMS authoring improvements and locale parameter updates

Bulk CMS authoringData API v2

We’ve enhanced the create collection items endpoint to support bulk creation. Now you can create multiple CMS items in a single request by passing an array of items to the items property. This provides a more efficient way to create multiple items while maintaining compatibility with the existing bulk Create Items endpoint.

Introducing the localeId ParameterData API v2 Data API v2 - Beta

We’re standardizing our query parameter naming by introducing localeId as the preferred parameter name, replacing locale. For backward compatibility, the locale parameter will continue to work, but we recommend using localeId in all new implementations. This change affects the following endpoints:


List form submissions by site

List form submissions by site - A new endpoint that lets you retrieve form submissions across your entire site. Unlike the existing List Form Submissions endpoint, this endpoint:

  • Takes siteId as a path parameter
  • Accepts elementId as a query parameter to filter by formElementId
  • Works seamlessly with forms in components, where each component instance gets a unique formId but shares the same formElementId

To use this endpoint, first get the formElementId from the List Forms API, then pass both the siteId and formElementId to retrieve all submissions for a specific form, even when it appears in multiple component instances.

Bulk CMS item authoring and management

Create and manage multiple CMS items Data API v2

Scale your content operations with new bulk CMS endpoints supporting up to 100 items per request. These APIs significantly improve large-scale content management workflows, and help prevent rate limiting when working with large collections.

  • Create multiple CMS items
    Create a single item or multiple items. This endpoint supports creating items across multiple locales and can update up to 100 items in a request.

  • Update multiple CMS items
    Update a single item or multiple items in a Collection. This endpoint can update up to 100 items in a request.

  • Delete multiple CMS items
    Delete Items from a Collection. This endpoint can delete up to 100 items in a request.

Bulk management for live CMS items Data API v2

  • Update live collection items
    Update a single live item or multiple live items in a Collection. This endpoint can update up to 100 items in a request.
  • Delete live collection items
    Remove an item or multiple items from the live site. Deleting published items will un-publish the items from the live site and set them to draft. This endpoint can delete up to 100 items in a request.