openapi: 3.1.0 info: title: Webflow Components API description: Webflow Data API v2 - Components endpoints. version: 2.0.0 contact: name: Webflow Developer Relations email: developers@webflow.com url: https://developers.webflow.com termsOfService: https://webflow.com/legal/terms license: name: MIT url: https://opensource.org/licenses/MIT servers: - url: https://api.webflow.com/v2 description: Webflow API v2 x-fern-server-name: Data API security: - OAuth2: [] - ApiKey: [] tags: - name: Components paths: /sites/{site_id}/components: get: x-fern-sdk-group-name: components x-fern-sdk-method-name: list security: - OAuth2: - components:read operationId: list-components summary: Webflow List Components description: 'List of all components for a site. Required scope | `components:read` ' tags: - Components parameters: - name: site_id in: path description: Unique identifier for a Site example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid default: - name: branchId in: query allowEmptyValue: true description: Scope the operation to work on a specific branch. example: 68026fa68ef6dc744c75b833 required: false schema: type: string format: objectid - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: integer - in: query example: 0 allowEmptyValue: true name: offset description: Offset used for pagination if the results have more than limit records required: false schema: type: integer responses: '200': description: Request was successful content: application/json: schema: description: List of Components on a site. type: object example: components: - id: 6596da6045e56dee495bcbba name: Primary Button group: Buttons description: A default button component that can be used across the site - id: 658205daa3e8206a523b5ad4 name: Secondary Button group: Buttons description: A secondary button component that can be used across the site - id: 6258612d1ee792848f805dcf name: Card group: description: - id: 68a2b1d1ee792848f805dcf name: Nav group: description: readonly: true pagination: limit: 20 offset: 0 total: 4 properties: components: type: array items: description: The Component object type: object required: - id example: id: 6258612d1ee792848f805dcf name: Primary Button group: Buttons description: A default button component that can be used across the site properties: id: type: string description: Unique identifier for the Component example: 8505ba55-ef72-629e-f85c-33e4b703d48b name: type: string description: Component Name readOnly: true example: My Button Component group: type: string description: The group that the component belongs to readOnly: true example: Buttons description: type: string description: Component Description readOnly: true example: A button component that can be used across the site readonly: type: boolean description: Indicates whether the component is read-only. Components that cannot be updated within this Site are set to readonly. Workspace Libraries are a good example. optional: true readOnly: true example: true pagination: description: Pagination object type: object required: - limit - offset - total properties: limit: type: integer description: The limit used for pagination example: 100 readOnly: true offset: type: integer description: The offset used for pagination example: 0 readOnly: true total: type: integer description: The total number of records example: 100 readOnly: true '400': description: Request body was incorrectly formatted. x-logErrorCode: 400 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: bad_request message: 'Bad Request: Request is malformed' externalReference: details: [] '401': description: Provided access token is invalid or does not have access to requested resource x-logErrorCode: 401 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: not_authorized message: Request not authorized externalReference: details: [] '404': description: Requested resource not found x-logErrorCode: 404 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: resource_not_found message: 'Requested resource not found: The site cannot be found' externalReference: details: [] '429': description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. x-logErrorCode: 429 headers: X-RateLimit-Remaining: description: Contains the number of available requests remaining in the current minute schema: type: number X-RateLimit-Limit: description: Contains your current overall rate limit per minute schema: type: number content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: too_many_requests message: Too many requests externalReference: details: [] '500': description: We had a problem with our server. Try again later. content: application/json: x-logErrorCode: 500 schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: internal_error message: An Internal Error occurred externalReference: details: [] /sites/{site_id}/components/{component_id}/dom: get: x-fern-sdk-group-name: components x-fern-sdk-method-name: get-content security: - OAuth2: - components:read operationId: get-component-content summary: Webflow Get Component Content description: 'Get static content from a component definition. This includes text nodes, image nodes, select nodes, text input nodes, submit button nodes, and nested component instances. To retrieve dynamic content set by component properties, use the [get component properties](/data/reference/pages-and-components/components/get-properties) endpoint. If you do not provide a Locale ID in your request, the response will return any content that can be localized from the Primary locale. Required scope | `components:read` ' tags: - Components parameters: - name: site_id in: path description: Unique identifier for a Site example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid default: - name: component_id in: path description: Unique identifier for a Component example: 8505ba55-ef72-629e-f85c-33e4b703d48b required: true schema: type: string default: - name: localeId in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific Locale. [Lear more about localization.](/data/v2.0.0/docs/working-with-localization) ' schema: type: string - name: branchId in: query allowEmptyValue: true description: Scope the operation to work on a specific branch. example: 68026fa68ef6dc744c75b833 required: false schema: type: string format: objectid - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: integer - in: query example: 0 allowEmptyValue: true name: offset description: Offset used for pagination if the results have more than limit records required: false schema: type: integer responses: '200': description: Request was successful content: application/json: schema: description: 'The Component DOM schema represents the content structure of a component. Similar to Page DOM, it captures various content nodes and their associated attributes, but specifically for a component''s structure. Each node has a unique identifier and can contain text, images, select or text inputs, submit buttons, or nested component instances. ' type: object example: componentId: 69118560-d0bc-15fc-bbf8-b8fe5f6535b5 nodes: - id: a245c12d-995b-55ee-5ec7-aa36a6cad623 type: text text: html:

The Hitchhiker's Guide to the Galaxy

text: The Hitchhiker's Guide to the Galaxy attributes: {} - id: a245c12d-995b-55ee-5ec7-aa36a6cad627 type: text text: html:

Don't Panic!

Always know where your towel is.

text: attributes: number: forty two - id: a245c12d-995b-55ee-5ec7-aa36a6cad629 type: image image: alt: Marvin, the Paranoid Android assetId: 659595234426a9fcbad57043 attributes: {} - id: 6e468d51-8942-f7be-34cc-347b0e24e118 type: text-input placeholder: Search… attributes: {} - id: 82cdcd0b-b9c7-0ddc-0519-bc1fa02de26e type: select choices: - text: Magrathea value: Magrathea - text: Earth value: mostly-harmless - text: Vogsphere value: Vogsphere attributes: {} - id: 9fa3a9c4-87d4-19b0-95f7-1b0b099f82ab type: submit-button waitingText: Please wait... value: Subscribe attributes: {} - id: a245c12d-995b-55ee-5ec7-aa36a6cad631 type: component-instance componentId: 6258612d1ee792848f805dcf propertyOverrides: - propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad633 type: Plain Text text: html: text: Don't Panic! - propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad635 type: Rich Text text: html:

Always know where your towel is.

text: pagination: limit: 7 offset: 0 total: 7 properties: componentId: type: string description: Component ID nodes: type: array items: description: 'A generic representation of a content element within the Document Object Model (DOM). Each node has a unique identifier and a specific type that determines its content structure and attributes. ' type: object properties: oneOf: - title: Text Node DOM description: 'Represents text content within the DOM. It contains both the raw text and its HTML representation. Additional attributes can be associated with the text for styling or other purposes. ' type: object required: - id - type - text properties: id: type: string description: Node UUID type: description: The type of the node type: string enum: - text default: text text: description: The text content of the node properties: html: description: The HTML content of the text node. type: string nullable: true text: description: The raw text content of the text node. type: string nullable: true attributes: type: object description: The custom attributes of the node additionalProperties: type: string - title: Image Node description: 'Represents an image within the DOM. It contains details about the image, such as its alternative text (alt) for accessibility and an asset identifier for fetching the actual image resource. Additional attributes can be associated with the image for styling or other purposes. ' type: object required: - id - type - image properties: id: type: string description: Node UUID type: type: string description: The type of the node enum: - image default: image image: description: The image details of the node properties: alt: type: string nullable: true assetId: type: string attributes: type: object description: The custom attributes of the node additionalProperties: type: string - title: Component Node description: 'Represents a component instance within the DOM. It contains details about the component instance, such as its type and properties. ' type: object required: - id - type - componentId - propertyOverrides properties: id: type: string description: The unique identifier of the component instance node type: description: The type of the node type: string enum: - component-instance default: component-instance componentId: type: string description: The unique identifier of the component propertyOverrides: description: List of component properties with overrides for a component instance. type: array items: description: 'Represents a property of a component instance in the DOM. A property contains a list of both the raw text and the HTML representation, allowing for flexibility in rendering and processing. Additional attributes can be associated with the text for styling or other purposes. ' type: object properties: propertyId: type: string description: The ID of the property. example: 7dd14c08-2e96-8d3d-2b19-b5c03642a0f0 type: description: The type of the property. type: string enum: - Plain Text - Rich Text - Alt Text label: description: The label of the property in the UI. type: string text: description: Represents text content within the DOM. It contains both the raw text and its HTML representation. properties: html: description: The HTML content of the text node. type: string nullable: true text: description: The raw text content of the text node. type: string nullable: true - title: Text Input Node description: 'Represents text input and textarea elements within the DOM. It contains the placeholder text in the input. Additional attributes can be associated with the text for styling or other purposes. ' type: object required: - id - type - placeholder properties: id: type: string description: Node UUID type: description: The type of the node type: string enum: - text-input default: text-input placeholder: description: The placeholder text of the input node type: string attributes: type: object description: The custom attributes of the node additionalProperties: type: string - title: Select Node description: 'Represents select elements within the DOM. It contains the list of choices in the select. Additional attributes can be associated with the text for styling or other purposes. ' type: object required: - id - type - choices properties: id: type: string description: Node UUID type: description: The type of the node type: string enum: - select default: select choices: description: The list of choices in this select node. type: array items: type: object required: - value - text properties: value: description: The value of the choice when selected. type: string text: description: The text to display for the choice. type: string attributes: type: object description: The custom attributes of the node additionalProperties: type: string - title: Submit Button Node description: 'Represents submit button elements within the DOM. It contains the text and waiting text of the button. Additional attributes can be associated with the text for styling or other purposes. ' type: object required: - id - type - value - waitingText properties: id: type: string description: Node UUID type: description: The type of the node type: string enum: - submit-button default: submit-button value: description: The text content of the submit button. type: string waitingText: description: The text to show while the form is submitting. type: string attributes: type: object description: The custom attributes of the node additionalProperties: type: string - title: Search Button Node description: 'Represents search button elements within the DOM. It contains the text of the button. Additional attributes can be associated with the text for styling or other purposes. ' type: object required: - id - type - value properties: id: type: string description: Node UUID type: description: The type of the node type: string enum: - search-button default: search-button value: description: The text content of the search button. type: string attributes: type: object description: The custom attributes of the node additionalProperties: type: string example: pageId: 658205daa3e8206a523b5ad4 nodes: - id: a245c12d-995b-55ee-5ec7-aa36a6cad623 type: text text: html:

The Hitchhiker's Guide to the Galaxy

text: The Hitchhiker's Guide to the Galaxy attributes: {} - id: a245c12d-995b-55ee-5ec7-aa36a6cad627 type: text text: html:

Don't Panic!

Always know where your towel is.

text: attributes: number: forty two - id: a245c12d-995b-55ee-5ec7-aa36a6cad629 type: image image: alt: Marvin, the Paranoid Android assetId: 659595234426a9fcbad57043 attributes: {} - id: a245c12d-995b-55ee-5ec7-aa36a6cad635 type: select choices: - value: choice-1 text: First choice - value: choice-2 text: Second choice attributes: {} - id: a245c12d-995b-55ee-5ec7-aa36a6cad642 type: text-input placeholder: Enter something here... attributes: {} - id: a245c12d-995b-55ee-5ec7-aa36a6cad671 type: submit value: Submit waitingText: Submitting... attributes: {} - id: a245c12d-995b-55ee-5ec7-aa36a6cad631 type: component-instance componentId: 6258612d1ee792848f805dcf propertyOverrides: - propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad633 type: Plain Text label: Catchphrase text: html: text: Don't Panic! - propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad635 type: Rich Text label: Tagline text: html:

Always know where your towel is.

text: pagination: limit: 4 offset: 0 total: 4 lastUpdated: '2016-10-24T19:42:38.929Z' pagination: description: Pagination object type: object required: - limit - offset - total properties: limit: type: integer description: The limit used for pagination example: 100 readOnly: true offset: type: integer description: The offset used for pagination example: 0 readOnly: true total: type: integer description: The total number of records example: 100 readOnly: true '400': description: Request body was incorrectly formatted. x-logErrorCode: 400 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: bad_request message: 'Bad Request: Request is malformed' externalReference: details: [] '401': description: Provided access token is invalid or does not have access to requested resource x-logErrorCode: 401 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: not_authorized message: Request not authorized externalReference: details: [] '404': description: Requested resource not found x-logErrorCode: 404 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: resource_not_found message: 'Requested resource not found: The site cannot be found' externalReference: details: [] '429': description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. x-logErrorCode: 429 headers: X-RateLimit-Remaining: description: Contains the number of available requests remaining in the current minute schema: type: number X-RateLimit-Limit: description: Contains your current overall rate limit per minute schema: type: number content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: too_many_requests message: Too many requests externalReference: details: [] '500': description: We had a problem with our server. Try again later. content: application/json: x-logErrorCode: 500 schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: internal_error message: An Internal Error occurred externalReference: details: [] post: x-fern-sdk-group-name: components x-fern-sdk-method-name: update-content security: - OAuth2: - components:write summary: Webflow Update Component Content description: "This endpoint updates content within a component defintion for **secondary locales**. It supports updating up to 1000 nodes in a single request.\n\nBefore making updates:\n1. Use the [get component content](/data/reference/pages-and-components/components/get-content) endpoint to identify available content nodes and their types.\n2. If your component definition has a component instance nested within it, retrieve the nested component instance's properties that you'll override using the [get component properties](/data/reference/pages-and-components/components/get-properties) endpoint.\n3. DOM elements may include a `data-w-id` attribute. This attribute is used by Webflow to maintain custom attributes and links across locales. Always include the original `data-w-id` value in your update requests to ensure consistent behavior across all locales.\n\n\n This endpoint is specifically for localizing component definitions. Ensure that the specified `localeId` is a valid **secondary locale** for the site otherwise the request will fail.\n\n\nRequired scope | `components:write`\n" operationId: update-component-content tags: - Components parameters: - name: site_id in: path description: Unique identifier for a Site example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid default: - name: component_id in: path description: Unique identifier for a Component example: 8505ba55-ef72-629e-f85c-33e4b703d48b required: true schema: type: string default: - name: localeId in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific Locale. [Lear more about localization.](/data/v2.0.0/docs/working-with-localization) ' schema: type: string - name: branchId in: query allowEmptyValue: true description: Scope the operation to work on a specific branch. example: 68026fa68ef6dc744c75b833 required: false schema: type: string format: objectid requestBody: content: application/json: schema: description: 'The body for which to update the Component DOM nodes. Nodes can be of type text, select or text input, submit button, or component instances. ' type: object properties: nodes: type: array description: List of DOM Nodes with the new content that will be updated in each node. items: type: object oneOf: - type: object title: Text Node description: Update a text node properties: nodeId: type: string description: Node UUID example: a245c12d-995b-55ee-5ec7-aa36a6cad623 text: type: string description: HTML content of the node, including the HTML tag. The HTML tags must be the same as what's returned from the Get Content endpoint. example:

Hello world

required: - nodeId - text example: nodes: - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad623 text:

The Hitchhiker's Guide to the Galaxy

- nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad627 text:

Don't Panic!

Always know where your towel is.

- type: object title: Component Instance description: Update text property overrides of a component instance properties: nodeId: type: string description: Node UUID example: a245c12d-995b-55ee-5ec7-aa36a6cad623 propertyOverrides: description: A list of component instance properties to override within the specified secondary locale. type: array items: type: object properties: propertyId: type: string description: The ID of the property. example: 7dd14c08-2e96-8d3d-2b19-b5c03642a0f0 text: type: string description: 'The new string or HTML value used to override the component instance property value. The provided value must be compatible with the type of the component instance property. For example, attempting to override a single-line plain-text property with a multi-line value will result in an error. ' example:

Property with Rich Text

required: - propertyId - text required: - nodeId - propertyOverrides example: nodes: - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad629 propertyOverrides: - propertyId: 7dd14c08-2e96-8d3d-2b19-b5c03642a0f0 text:

Time is an illusion

- propertyId: 7dd14c08-2e96-8d3d-2b19-b5c03642a0f1 text: Life, the Universe and Everything - type: object title: Select description: Update choices on a select node properties: nodeId: type: string description: Node UUID example: a245c12d-995b-55ee-5ec7-aa36a6cad623 choices: type: array description: The list of choices to set on the select node. items: type: object required: - value - text properties: value: description: The value of the choice when selected. type: string text: description: The text to display for the choice. type: string required: - nodeId - choices - type: object title: Text Input description: Update placeholder text on a text input node properties: nodeId: type: string description: Node UUID example: a245c12d-995b-55ee-5ec7-aa36a6cad623 placeholder: description: The placeholder text of the input node type: string required: - nodeId - placeholder - type: object title: Submit Button description: Update a submit button node properties: nodeId: type: string description: Node UUID example: a245c12d-995b-55ee-5ec7-aa36a6cad623 value: description: The text content of the submit button. type: string waitingText: description: The text to show while the form is submitting. type: string required: - nodeId - type: object title: Search Button description: Update a search button node properties: nodeId: type: string description: Node UUID example: a245c12d-995b-55ee-5ec7-aa36a6cad623 value: description: The text content of the search button. type: string required: - nodeId - value minItems: 1 maxItems: 1000 required: - nodes example: nodes: - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad623 text:

The Hitchhiker's Guide to the Galaxy

- nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad627 text:

Don't Panic!

Always know where your towel is.

- nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad635 choices: - value: choice-1 text: First choice - value: choice-2 text: Second choice - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad642 placeholder: Enter something here... - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad671 value: Submit waitingText: Submitting... - nodeId: a245c12d-995b-55ee-5ec7-aa36a6cad629 propertyOverrides: - propertyId: 7dd14c08-2e96-8d3d-2b19-b5c03642a0f0 text:

Time is an illusion

- propertyId: 7dd14c08-2e96-8d3d-2b19-b5c03642a0f1 text: Life, the Universe and Everything responses: '200': description: Request was successful content: application/json: schema: type: object properties: errors: type: array description: A list of error messages, if any. items: type: string example: [] required: - errors '400': description: Request body was incorrectly formatted. x-logErrorCode: 400 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: bad_request message: 'Bad Request: Request is malformed' externalReference: details: [] '401': description: Provided access token is invalid or does not have access to requested resource x-logErrorCode: 401 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: not_authorized message: Request not authorized externalReference: details: [] '403': description: Forbidden x-logErrorCode: 403 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: forbidden message: User is not authorized to perform this action externalReference: details: [] '404': description: Requested resource not found x-logErrorCode: 404 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: resource_not_found message: 'Requested resource not found: The site cannot be found' externalReference: details: [] '429': description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. x-logErrorCode: 429 headers: X-RateLimit-Remaining: description: Contains the number of available requests remaining in the current minute schema: type: number X-RateLimit-Limit: description: Contains your current overall rate limit per minute schema: type: number content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: too_many_requests message: Too many requests externalReference: details: [] '500': description: We had a problem with our server. Try again later. content: application/json: x-logErrorCode: 500 schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: internal_error message: An Internal Error occurred externalReference: details: [] /sites/{site_id}/components/{component_id}/properties: get: x-fern-sdk-group-name: components x-fern-sdk-method-name: get-properties security: - OAuth2: - components:read operationId: get-component-properties summary: Webflow Get Component Properties description: 'Get the default property values of a component definition. If you do not include a `localeId` in your request, the response will return any properties that can be localized from the Primary locale. Required scope | `components:read` ' tags: - Components parameters: - name: site_id in: path description: Unique identifier for a Site example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid default: - name: component_id in: path description: Unique identifier for a Component example: 8505ba55-ef72-629e-f85c-33e4b703d48b required: true schema: type: string default: - name: localeId in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific Locale. [Lear more about localization.](/data/v2.0.0/docs/working-with-localization) ' schema: type: string - name: branchId in: query allowEmptyValue: true description: Scope the operation to work on a specific branch. example: 68026fa68ef6dc744c75b833 required: false schema: type: string format: objectid - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: integer - in: query example: 0 allowEmptyValue: true name: offset description: Offset used for pagination if the results have more than limit records required: false schema: type: integer responses: '200': description: Request was successful content: application/json: schema: description: 'The Component Properties schema represents a list of properties that store text content. Each property has a unique identifier and can be of different types like plain text or rich text. The schema also provides pagination details for scenarios where there more properties than the limit. ' type: object example: componentId: 658205daa3e8206a523b5ad4 properties: - propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad623 label: Title type: Plain Text text: html: text: The Hitchhiker's Guide to the Galaxy - propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad627 label: Content type: Rich Text text: html:

Don't Panic!

Always know where your towel is.

text: pagination: limit: 2 offset: 0 total: 2 properties: componentId: type: string description: Component ID readOnly: true properties: type: array items: description: 'Represents a property of a component instance in the DOM. A property contains a list of both the raw text and the HTML representation, allowing for flexibility in rendering and processing. Additional attributes can be associated with the text for styling or other purposes. ' type: object properties: propertyId: type: string description: The ID of the property. example: 7dd14c08-2e96-8d3d-2b19-b5c03642a0f0 type: description: The type of the property. type: string enum: - Plain Text - Rich Text - Alt Text label: description: The label of the property in the UI. type: string text: description: Represents text content within the DOM. It contains both the raw text and its HTML representation. properties: html: description: The HTML content of the text node. type: string nullable: true text: description: The raw text content of the text node. type: string nullable: true pagination: description: Pagination object type: object required: - limit - offset - total properties: limit: type: integer description: The limit used for pagination example: 100 readOnly: true offset: type: integer description: The offset used for pagination example: 0 readOnly: true total: type: integer description: The total number of records example: 100 readOnly: true '400': description: Request body was incorrectly formatted. x-logErrorCode: 400 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: bad_request message: 'Bad Request: Request is malformed' externalReference: details: [] '401': description: Provided access token is invalid or does not have access to requested resource x-logErrorCode: 401 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: not_authorized message: Request not authorized externalReference: details: [] '404': description: Requested resource not found x-logErrorCode: 404 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: resource_not_found message: 'Requested resource not found: The site cannot be found' externalReference: details: [] '429': description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. x-logErrorCode: 429 headers: X-RateLimit-Remaining: description: Contains the number of available requests remaining in the current minute schema: type: number X-RateLimit-Limit: description: Contains your current overall rate limit per minute schema: type: number content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: too_many_requests message: Too many requests externalReference: details: [] '500': description: We had a problem with our server. Try again later. content: application/json: x-logErrorCode: 500 schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: internal_error message: An Internal Error occurred externalReference: details: [] post: x-fern-sdk-group-name: components x-fern-sdk-method-name: update-properties security: - OAuth2: - components:write operationId: update-component-properties summary: Webflow Update Component Properties description: 'Update the default property values of a component definition in a specificed locale. Before making updates: 1. Use the [get component properties](/data/reference/pages-and-components/components/get-properties) endpoint to identify properties that can be updated in a secondary locale. 2. Rich Text properties may include a `data-w-id` attribute. This attribute is used by Webflow to maintain links across locales. Always include the original `data-w-id` value in your update requests to ensure consistent behavior across all locales. The request requires a secondary locale ID. If a `localeId` is missing, the request will not be processed and will result in an error. Required scope | `components:write` ' tags: - Components parameters: - name: site_id in: path description: Unique identifier for a Site example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid default: - name: component_id in: path description: Unique identifier for a Component example: 8505ba55-ef72-629e-f85c-33e4b703d48b required: true schema: type: string default: - name: localeId in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific Locale. [Lear more about localization.](/data/v2.0.0/docs/working-with-localization) ' schema: type: string - name: branchId in: query allowEmptyValue: true description: Scope the operation to work on a specific branch. example: 68026fa68ef6dc744c75b833 required: false schema: type: string format: objectid requestBody: content: application/json: schema: type: object description: Update a Component Property properties: properties: description: A list of component properties to update within the specified secondary locale. type: array items: type: object properties: propertyId: type: string description: The ID of the property. example: 7dd14c08-2e96-8d3d-2b19-b5c03642a0f0 text: type: string description: 'The new string or HTML value used to update the component property in the secondary locale. The provided value must be compatible with the type of the component property. For example, attempting to update a single-line plain-text property with a multi-line value will result in an error. ' example:

Property with Rich Text

required: - propertyId - text required: - properties example: properties: - propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad623 text: The Hitchhiker’s Guide to the Galaxy - propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad627 text:

Dont Panic!

Always know where your towel is.

responses: '200': description: Request was successful content: application/json: schema: type: object properties: errors: type: array description: A list of error messages, if any. items: type: string example: [] required: - errors '400': description: Request body was incorrectly formatted. x-logErrorCode: 400 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: bad_request message: 'Bad Request: Request is malformed' externalReference: details: [] '401': description: Provided access token is invalid or does not have access to requested resource x-logErrorCode: 401 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: not_authorized message: Request not authorized externalReference: details: [] '404': description: Requested resource not found x-logErrorCode: 404 content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: resource_not_found message: 'Requested resource not found: The site cannot be found' externalReference: details: [] '429': description: The rate limit of the provided access_token has been reached. Please have your application respect the X-RateLimit-Remaining header we include on API responses. x-logErrorCode: 429 headers: X-RateLimit-Remaining: description: Contains the number of available requests remaining in the current minute schema: type: number X-RateLimit-Limit: description: Contains your current overall rate limit per minute schema: type: number content: application/json: schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: too_many_requests message: Too many requests externalReference: details: [] '500': description: We had a problem with our server. Try again later. content: application/json: x-logErrorCode: 500 schema: type: object example: code: not_authorized message: Request not authorized externalReference: details: [] properties: code: type: string description: Error code example: not_authorized enum: - bad_request - collection_not_found - conflict - duplicate_collection - duplicate_user_email - ecommerce_not_enabled - forbidden - forms_require_republish - incompatible_webhook_filter - internal_error - invalid_auth_version - invalid_credentials - invalid_domain - invalid_user_email - item_not_found - missing_scopes - no_domains - not_authorized - not_enterprise_plan_site - not_enterprise_plan_workspace - order_not_found - resource_not_found - too_many_requests - unsupported_version - unsupported_webhook_trigger_type - user_limit_reached - user_not_found - users_not_enabled - validation_error message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information example: '' details: type: array description: Array of errors items: - type: string example: Invalid email address description: Error message - type: object example: field: email message: Invalid email address description: Error message example: [] example: code: internal_error message: An Internal Error occurred externalReference: details: [] components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: scopes: authorized_user:read: read details about the authorized user assets:read: read assets on the site assets:write: write assets on a site cms:read: read collections and items for a site cms:write: write to collections and items for a site comments:read: read comments on the site comments:write: write comments on the site custom_code:read: read custom code on the site custom_code:write: modify custom code on the site ecommerce:read: read ecommerce data ecommerce:write: edit ecommerce data forms:read: read form data forms:write: write form data pages:read: read pages on the site pages:write: write to pages on the site components:read: read component data components:write: write component data sites:read: read sites on the site sites:write: modify pages on the site users:read: read users on the site site_activity:read: read site activity logs users:write: modify users on the site workspace:read: read workspace resource data workspace:write: write workspace resource data site_config:read: read site configuration data site_config:write: write site configuration data authorizationUrl: https://webflow.com/oauth/authorize tokenUrl: https://api.webflow.com/oauth/token ApiKey: type: http scheme: bearer x-fern-token-variable-name: access_token