openapi: 3.1.0
info:
version: 2.0.0
title: Webflow Data API
description: Webflow's Data API v2
termsOfService: https://webflow.com/legal/terms
contact:
name: Webflow Developer Relations
email: developers@webflow.com
url: https://developers.webflow.com
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: Asset Folders
- name: Assets
description: Assets are files that are uploaded to your Webflow account.
- name: Collections
description: Collections are CMS collections of items.
- name: Comments
- name: Components
- name: Custom Code
description: Custom code is JavaScript that is added to your Webflow site.
- name: Custom Code - Pages
description: Custom code for pages.
- name: Custom Code - Sites
description: Custom code for sites.
- name: Forms
description: Forms are forms that are created on your Webflow site.
- name: Inventory
description: Inventory is the stock of e-commerce items in your Webflow site.
- name: Items
description: Items are the individual e-commerce items in your Webflow site.
- name: Meta
description: Meta is the metadata for your Webflow API token.
- name: Orders
description: Orders are the orders for your Webflow site.
- name: Pages
description: Pages are the pages in your Webflow site.
- name: Products & SKUs
description: Products & SKUs are the products and SKUs in your Webflow e-commerce site.
- name: Registered Scripts
- name: Settings
description: Settings are the e-commerce settings for your Webflow site.
- name: Site Activity
- name: Site Administration
- name: Sites
description: Sites are the sites in your Webflow workspace.
- name: Webhooks
description: Webhooks are the webhooks in your Webflow site.
- name: Workspce Audit Logs
paths:
/token/authorized_by:
get:
x-fern-sdk-group-name: token
x-fern-sdk-method-name: authorized-by
security:
- OAuth2:
- authorized_user:read
operationId: authorized_by
summary: Webflow Get Authorization User Info
description: |
Information about the Authorized User
Required Scope | `authorized_user:read`
tags:
- Meta
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 545bbecb7bdd6769632504a7
email: some@email.com
firstName: Some
lastName: One
properties:
id:
type: string
format: objectid
description: The unique ID of the user
example: 545bbecb7bdd6769632504a7
email:
type: string
format: email
description: The user's email address
example: someone@email.com
firstName:
type: string
description: The user's first name
example: Some
lastName:
type: string
description: The user's last name
example: One
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
externalReference:
details: []
4XX:
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: []
5XX:
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: []
/token/introspect:
get:
x-fern-sdk-group-name: token
x-fern-sdk-method-name: introspect
operationId: introspect
summary: Webflow Get Authorization Info
description: |
Information about the authorization token
Access to this endpoint requires a bearer token from a [Data Client App](/data/docs/getting-started-data-clients).
tags:
- Meta
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
authorization:
id: 55818d58616600637b9a5786
createdOn: '2016-10-03T23:12:00.755Z'
lastUsed: '2016-10-10T21:41:12.736Z'
grantType: authorization_code
rateLimit: 60
scope: assets:read,assets:write
authorizedTo:
siteIds:
- 62f3b1f7eafac55d0c64ef91
workspaceIds:
- 52f3b1f7eafac55d0c64ef91
userIds:
- 545bbecb7bdd6769632504a7
application:
id: 55131cd036c09f7d07883dfc
description: My Amazing App
homepage: https://webflow.com
displayName: My Amazing App
properties:
authorization:
type: object
description: The Authorization object
properties:
id:
type: string
format: objectid
example: 55818d58616600637b9a5786
description: The unique ID of the Authorization instance
createdOn:
type: string
format: date-time
example: '2016-10-03T23:12:00.755Z'
description: The date the Authorization was created
lastUsed:
type: string
format: date-time
example: '2016-10-10T21:41:12.736Z'
description: The date the Authorization was last used
grantType:
type: string
example: authorization_code
description: The grant type of the Authorization
rateLimit:
type: integer
format: int32
example: 60
description: The default rate limit for the Authorization (requests/min)
scope:
type: string
example: custom_code:read sites:read
description: Comma separted list of OAuth scopes corresponding to the Authorization
authorizedTo:
type: object
example:
siteIds:
- 62f3b1f7eafac55d0c64ef91
workspaceIds:
- ' 72f3b1f7eafac55d0c64ef91'
userIds:
- 545bbecb7bdd6769632504a7
properties:
siteIds:
type: array
description: Array of Sites this app is authorized to
example:
- 62f3b1f7eafac55d0c64ef91
workspaceIds:
type: array
description: Array of Workspaces this app is authorized to
example:
- 72f3b1f7eafac55d0c64ef91
userIds:
type: array
description: Array of Users this app is authorized to
example:
- 545bbecb7bdd6769632504a7
application:
type: object
properties:
id:
type: string
format: objectid
example: 55131cd036c09f7d07883dfc
description: Unique identifier for the Application
description:
type: string
example: OAuth Testing Application
description: Application description provided by the developer
homepage:
type: string
format: uri
example: https://webflow.com
description: Application homepage URL provided by the developer
displayName:
type: string
example: Test App
description: Application name provided by the developer
'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: []
4XX:
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: []
5XX:
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: []
/workspaces/{workspace_id}/sites:
post:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: create
security:
- OAuth2:
- sites:write
operationId: create-site
summary: Webflow Create Site
description: |
Create a site.
This endpoint requires an Enterprise workspace.
Required scope | `workspace:write`
tags:
- Sites
parameters:
- name: workspace_id
in: path
description: Unique identifier for a Workspace
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
required:
- name
properties:
name:
type: string
example: The Hitchhiker's Guide to the Galaxy
description: The name of the site
templateName:
type: string
example: Megadodo Publications - Guide Template
description: The workspace or marketplace template to use
parentFolderId:
type: string
nullable: true
example: a9c420f9347c2139b248e913
description: MegaDodo Publications - Potential Book Ideas
responses:
'201':
description: Request was successful
content:
application/json:
schema:
required:
- id
- workspaceId
- createdOn
- displayName
- shortName
- templateName
- lastPublished
- lastUpdated
- previewUrl
- timeZone
- dataCollectionEnabled
- dataCollectionType
example:
id: 42e98c9a982ac9b8b742
workspaceId: 42e63e98c9a982ac9b8b742
displayName: The Hitchhiker's Guide to the Galaxy
shortName: hitchhikers-guide
previewUrl: https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png
timeZone: Magrathea/FactoryFloor
createdOn: '1979-10-12T12:00:00.000Z'
lastUpdated: '2023-04-02T12:42:00.000Z'
lastPublished: '2023-04-02T12:42:00.000Z'
parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
- id: 589a331aa51e760df7ccb89d
url: hitchhikersguide.galaxy
- id: 589a331aa51e760df7ccb89e
url: heartofgold.spaceship
locales:
primary:
id: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId: 653ad57de882f528b32e810e
enabled: false
displayName: English (United States)
displayImageId:
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId:
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId:
subdirectory: es-mx
tag: es-MX
dataCollectionEnabled: true
dataCollectionType: always
properties:
id:
type: string
format: objectid
description: Unique identifier for the Site
example: 580e63e98c9a982ac9b8b741
workspaceId:
type: string
format: objectid
description: Unique identifier for the Workspace
example: 580e63e98c9a982ac9b8b741
createdOn:
type: string
format: date-time
description: Date the Site was created
example: '2016-10-24T19:41:29.156Z'
displayName:
type: string
description: Name given to Site
example: api_docs_sample_json
shortName:
type: string
description: Slugified version of name
example: api-docs-sample-json
lastPublished:
type: string
format: date-time
description: Date the Site was last published
example: '2016-10-24T19:43:17.271Z'
lastUpdated:
type: string
format: date-time
description: Date the Site was last updated
example: '2016-10-24T19:43:17.271Z'
previewUrl:
type: string
format: uri
description: URL of a generated image for the given Site
example: https://dev-assets.website-files.com/580e63e98c9a982ac9b8b741/201610241243.png
timeZone:
type: string
description: Site timezone set under Site Settings
example: America/Los_Angeles
parentFolderId:
type: string
format: objectid
nullable: true
description: The ID of the parent folder the Site exists in
example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
format: objectid
example: 589a331aa51e760df7ccb89d
description: Unique identifier for the Domain
url:
type: string
example: test-api-domain.com
description: The registered Domain name
lastPublished:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
nullable: true
description: The date the custom domain was last published to
example:
id: 589a331aa51e760df7ccb89d
url: test-api-domain.com
lastPublished: '2022-12-07T16:51:37.571Z'
locales:
type: object
properties:
primary:
description: The primary locale for the site or application.
type: object
properties:
id:
type: string
description: The unique identifier for the locale.
example: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId:
type: string
description: A CMS-specific identifier for the locale.
example: 653ad57de882f528b32e810e
enabled:
type: boolean
description: Indicates if the locale is enabled.
example: false
displayName:
type: string
description: The display name of the locale, typically in English.
example: English (United States)
displayImageId:
type: string
description: An optional ID for an image associated with the locale, nullable.
nullable: true
example:
redirect:
type: boolean
description: Determines if requests should redirect to the locale's subdirectory.
example: true
subdirectory:
type: string
description: The subdirectory path for the locale, used in URLs.
example: ''
tag:
type: string
description: A tag or code representing the locale, often following a standard format like 'en-US'.
example: en-US
secondary:
type: array
items:
type: object
properties:
id:
type: string
description: The unique identifier for the locale.
example: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId:
type: string
description: A CMS-specific identifier for the locale.
example: 653ad57de882f528b32e810e
enabled:
type: boolean
description: Indicates if the locale is enabled.
example: false
displayName:
type: string
description: The display name of the locale, typically in English.
example: English (United States)
displayImageId:
type: string
description: An optional ID for an image associated with the locale, nullable.
nullable: true
example:
redirect:
type: boolean
description: Determines if requests should redirect to the locale's subdirectory.
example: true
subdirectory:
type: string
description: The subdirectory path for the locale, used in URLs.
example: ''
tag:
type: string
description: A tag or code representing the locale, often following a standard format like 'en-US'.
example: en-US
description: A list of secondary locales available for the site or application.
dataCollectionEnabled:
type: boolean
description: Indicates if data collection is enabled for the site.
example: false
dataCollectionType:
type: string
enum:
- always
- optOut
- disabled
description: The type of data collection enabled for the site.
example: always
examples:
NewlyCreatedSite:
value:
id: 670ecf86817e3cc7a510eb6a
workspaceId: 625860a7a6c16d624927122f
displayName: The Hitchiker's Guide
shortName: hitchikers-guide
previewUrl:
timeZone:
createdOn: '2024-10-15T20:24:38.134Z'
lastUpdated: '2024-10-15T20:24:38.326Z'
lastPublished:
parentFolderId: 670ece123598db72d9648be1
customDomains: []
locales:
dataCollectionEnabled: true
dataCollectionType: always
'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 request
content:
application/json:
schema:
oneOf:
- description: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
externalReference:
details: []
- description: Error response for non-enterprise plan workspaces.
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: not_enterprise_plan_workspace
message: This workspace is not associated with an Enterprise plan
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: []
/workspaces/{workspace_id_or_slug}/audit_logs:
get:
x-fern-sdk-group-name:
- workspaces
- audit_logs
x-fern-sdk-method-name: get-workspace-audit_logs
security:
- OAuth2:
- workspace_activity:read
operationId: get-workspace-audit-logs
summary: Webflow Get Workspace Audit Logs
description: |
Get audit logs for a workspace.
This endpoint requires an Enterprise workspace and a workspace token with the `workspace_activity:read` scope. Create a workspace token from your workspace dashboard integrations page to use this endpoint.
Required scope | `workspace_activity:read`
tags:
- Workspce Audit Logs
parameters:
- name: workspace_id_or_slug
in: path
description: Unique identifier or slug for a Workspace
example: hitchhikers-workspace
required: true
schema:
type: string
format: objectid
default:
- 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
- name: sortOrder
in: query
allowEmptyValue: true
description: Sorts the results by asc or desc
required: false
schema:
type: string
enum:
- asc
- desc
- name: eventType
in: query
required: false
allowEmptyValue: true
description: The event type to filter by
schema:
type: string
enum:
- user_access
- custom_role
- workspace_membership
- site_membership
- workspace_invitation
- workspace_setting
example: user_access
- name: from
in: query
required: false
allowEmptyValue: true
description: The start date to filter by
schema:
type: string
format: date-time
example: '2025-06-22T16:00:31Z'
- name: to
in: query
required: false
allowEmptyValue: true
description: The end date to filter by
schema:
type: string
format: date-time
example: '2025-07-22T16:00:31Z'
responses:
'200':
description: A list of workspace audit logs
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
timestamp:
type: string
format: date-time
actor:
type: object
properties:
id:
type: string
email:
type: string
workspace:
type: object
properties:
id:
type: string
slug:
type: string
oneOf:
- type: object
title: User Access
properties:
eventType:
type: string
enum:
- user_access
eventSubType:
type: string
enum:
- login
- logout
payload:
x-fern-type-name: User access
title: User access
type: object
properties:
method:
type: string
enum:
- dashboard
- sso
- api
- google
location:
type: string
description: The geolocation based on the logged IP address
ipAddress:
type: string
description: The captured IP address of the user
- type: object
title: Custom Role
properties:
eventType:
type: string
enum:
- custom_role
eventSubType:
type: string
enum:
- role_created
- role_updated
- role_deleted
payload:
x-fern-type-name: Custom role
title: Custom role
type: object
properties:
roleName:
type: string
description: The name of the custom role
previousRoleName:
type: string
description: The previous name of the custom role
- type: object
title: Workspace Membership
properties:
eventType:
type: string
enum:
- workspace_membership
eventSubType:
type: string
enum:
- user_added
- user_removed
- user_role_updated
payload:
x-fern-type-name: Workspace membership
title: Workspace membership
type: object
properties:
targetUser:
type: object
properties:
id:
type: string
email:
type: string
method:
type: string
enum:
- sso
- dashboard
- admin
- access_request
userType:
type: string
enum:
- member
- guest
- reviewer
- client
roleName:
type: string
description: The name of the role that was assigned to the user
previousRoleName:
type: string
description: The previous role that the user had
- type: object
title: Site Membership
properties:
eventType:
type: string
enum:
- site_membership
eventSubType:
type: string
enum:
- user_added
- user_removed
- user_role_updated
- user_granular_access_updated
payload:
x-fern-type-name: Site membership
title: Site membership
type: object
properties:
site:
type: object
properties:
id:
type: string
slug:
type: string
targetUser:
type: object
properties:
id:
type: string
email:
type: string
method:
type: string
enum:
- sso
- invite
- scim
- dashboard
- admin
- access_request
userType:
type: string
enum:
- member
- guest
- reviewer
- client
roleName:
type: string
description: The name of the role that was assigned to the user
previousRoleName:
type: string
description: The previous role that the user had
granularAccess:
type: object
properties:
id:
type: string
name:
type: string
type:
type: string
enum:
- cms
restricted:
type: boolean
- type: object
title: Workspace Invitation
properties:
eventType:
type: string
enum:
- workspace_invitation
eventSubType:
type: string
enum:
- invite_sent
- invite_accepted
- invite_updated
- invite_canceled
- invite_declined
- access_request_accepted
payload:
x-fern-type-name: Workspace invitation
title: Workspace invitation
type: object
properties:
targetUser:
type: object
properties:
id:
type: string
email:
type: string
method:
type: string
enum:
- sso
- dashboard
- admin
userType:
type: string
enum:
- member
- guest
- reviewer
- client
roleName:
type: string
description: The name of the role that was assigned to the user
previousRoleName:
type: string
description: The previous role that the user had
targetUsers:
type: array
items:
type: object
properties:
id:
type: string
example: 580e63e98c9a982ac9b8b741
email:
type: string
example: zaphod.beeblebrox@heartofgold.ship
- type: object
title: Setting Change
properties:
eventType:
type: string
enum:
- workspace_setting
eventSubType:
type: string
enum:
- setting_updated
payload:
x-fern-type-name: Setting change
title: Setting change
type: object
properties:
setting:
type: string
enum:
- ai_toggle
previousValue:
type: string
example: 'false'
value:
type: string
example: 'true'
method:
type: string
enum:
- dashboard
- admin
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
example:
items:
- timestamp: '2025-04-29T20:30:06.622Z'
eventType: user_access
eventSubType: login
actor:
id: 6661ccb359b561c69f29d554
email: someone@email.com
workspace:
id: 6621ccb459b561c69f29d57c
slug: hitchhikers-workspace
payload:
ipAddress: 54.165.18.93
location: Ashburn US
method: dashboard
- timestamp: '2025-04-30T20:30:06.622Z'
eventSubType: user_added
eventType: workspace_membership
actor:
id: 60492e55bbddce079561cd7a
email: someone@webflow.com
workspace:
id: 6621ccb459b561c69f29d57c
slug: hitchhikers-workspace
payload:
targetUser:
id: 60492e55bbddce079561cd7a
email: someone@webflow.com
method: sso
roleName: member
userType: member
- timestamp: '2025-04-30T00:33:31.793Z'
eventType: site_membership
eventSubType: user_added
actor:
id: 671fe00d185fc8c1ad409d37
email: someone@webflow.com
workspace:
id: 6621ccb459b561c69f29d57c
slug: hitchhikers-workspace
payload:
method: dashboard
roleName: Edit - Cannot publish
site:
id: 67dc519889286123da057175
slug: hitchhikers-site
targetUser:
id: 672946bf5d384ea895bb95e2
email: someone@webflow.com
userType: member
granularAccess:
id: 67dc519889286123da057175
name: Blogs
type: cms
restricted: false
pagination:
total: 3
limit: 10
offset: 0
'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:
get:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: list
security:
- OAuth2:
- sites:read
operationId: list-sites
summary: Webflow List Sites
description: |
List of all sites the provided access token is able to access.
Required scope | `sites:read`
tags:
- Sites
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
sites:
type: array
items:
example:
id: 42e98c9a982ac9b8b742
workspaceId: 42e63e98c9a982ac9b8b742
displayName: The Hitchhiker's Guide to the Galaxy
shortName: hitchhikers-guide
previewUrl: https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png
timeZone: Magrathea/FactoryFloor
createdOn: '1979-10-12T12:00:00.000Z'
lastUpdated: '2023-04-02T12:42:00.000Z'
lastPublished: '2023-04-02T12:42:00.000Z'
parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
- id: 589a331aa51e760df7ccb89d
url: hitchhikersguide.galaxy
- id: 589a331aa51e760df7ccb89e
url: heartofgold.spaceship
locales:
primary:
id: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId: 653ad57de882f528b32e810e
enabled: false
displayName: English (United States)
displayImageId:
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId:
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId:
subdirectory: es-mx
tag: es-MX
dataCollectionEnabled: true
dataCollectionType: always
required:
- id
properties:
id:
type: string
format: objectid
description: Unique identifier for the Site
example: 580e63e98c9a982ac9b8b741
workspaceId:
type: string
format: objectid
description: Unique identifier for the Workspace
example: 580e63e98c9a982ac9b8b741
createdOn:
type: string
format: date-time
description: Date the Site was created
example: '2016-10-24T19:41:29.156Z'
displayName:
type: string
description: Name given to Site
example: api_docs_sample_json
shortName:
type: string
description: Slugified version of name
example: api-docs-sample-json
lastPublished:
type: string
format: date-time
description: Date the Site was last published
example: '2016-10-24T19:43:17.271Z'
lastUpdated:
type: string
format: date-time
description: Date the Site was last updated
example: '2016-10-24T19:43:17.271Z'
previewUrl:
type: string
format: uri
description: URL of a generated image for the given Site
example: https://dev-assets.website-files.com/580e63e98c9a982ac9b8b741/201610241243.png
timeZone:
type: string
description: Site timezone set under Site Settings
example: America/Los_Angeles
parentFolderId:
type: string
format: objectid
nullable: true
description: The ID of the parent folder the Site exists in
example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
format: objectid
example: 589a331aa51e760df7ccb89d
description: Unique identifier for the Domain
url:
type: string
example: test-api-domain.com
description: The registered Domain name
lastPublished:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
nullable: true
description: The date the custom domain was last published to
example:
id: 589a331aa51e760df7ccb89d
url: test-api-domain.com
lastPublished: '2022-12-07T16:51:37.571Z'
locales:
type: object
properties:
primary:
description: The primary locale for the site or application.
type: object
properties:
id:
type: string
description: The unique identifier for the locale.
example: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId:
type: string
description: A CMS-specific identifier for the locale.
example: 653ad57de882f528b32e810e
enabled:
type: boolean
description: Indicates if the locale is enabled.
example: false
displayName:
type: string
description: The display name of the locale, typically in English.
example: English (United States)
displayImageId:
type: string
description: An optional ID for an image associated with the locale, nullable.
nullable: true
example:
redirect:
type: boolean
description: Determines if requests should redirect to the locale's subdirectory.
example: true
subdirectory:
type: string
description: The subdirectory path for the locale, used in URLs.
example: ''
tag:
type: string
description: A tag or code representing the locale, often following a standard format like 'en-US'.
example: en-US
secondary:
type: array
items:
type: object
properties:
id:
type: string
description: The unique identifier for the locale.
example: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId:
type: string
description: A CMS-specific identifier for the locale.
example: 653ad57de882f528b32e810e
enabled:
type: boolean
description: Indicates if the locale is enabled.
example: false
displayName:
type: string
description: The display name of the locale, typically in English.
example: English (United States)
displayImageId:
type: string
description: An optional ID for an image associated with the locale, nullable.
nullable: true
example:
redirect:
type: boolean
description: Determines if requests should redirect to the locale's subdirectory.
example: true
subdirectory:
type: string
description: The subdirectory path for the locale, used in URLs.
example: ''
tag:
type: string
description: A tag or code representing the locale, often following a standard format like 'en-US'.
example: en-US
description: A list of secondary locales available for the site or application.
dataCollectionEnabled:
type: boolean
description: Indicates if data collection is enabled for the site.
example: false
dataCollectionType:
type: string
enum:
- always
- optOut
- disabled
description: The type of data collection enabled for the site.
example: always
example:
sites:
- id: 42e63e98c9a982ac9b8b741
workspaceId: 42e63fc8c9a982ac9b8b744
createdOn: '1979-10-12T12:00:00.000Z'
displayName: Heart of Gold Spaceship
shortName: heart-of-gold
lastPublished: '2023-04-02T12:42:00.000Z'
previewUrl: https://dev-assets.website-files.com/42e63e98c9a982ac9b8b741/197910121200.png
timeZone: DeepSpace/InfiniteImprobability
parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
- id: 589a331aa51e760df7ccb89e
url: heartofgold.galaxy
lastPublished: '2022-12-07T16:51:37.571Z'
locales:
primary:
id: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId: 653ad57de882f528b32e810e
enabled: true
displayName: English - Heart of Gold Standard
redirect: false
subdirectory: /en
tag: The Ultimate Answer
secondary:
- id: 653fd9af6a07fc9cfd7a5e58
cmsLocaleId: 653ad57de882f528b32e810g
enabled: true
displayName: Betelgeusian - Vogon Liaison
redirect: true
subdirectory: /bet
tag: Vogon
- id: 653fd9af6a07fc9cfd7a5e59
cmsLocaleId: 653ad57de882f528b32e810h
enabled: false
displayName: Magrathean - Custom Planet Designs
redirect: true
subdirectory: /mg
tag: Magrathean
dataCollectionEnabled: true
dataCollectionType: always
- id: 42e63e98c9a982ac9b8b742
workspaceId: 42e63fc8c9a982ac9b8b745
createdOn: '1981-10-12T12:00:00.000Z'
displayName: Marvin's Personal Blog
shortName: paranoid-android
lastPublished: '2023-04-02T12:45:00.000Z'
previewUrl: https://dev-assets.website-files.com/42e63e98c9a982ac9b8b742/198110121200.png
timeZone: DeepSpace/Depression
parentFolderId:
customDomains:
- id: 589a331aa51e760df7ccb89f
url: marvin.blog
lastPublished: '2022-12-07T16:51:37.571Z'
locales:
primary:
id: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId: 653ad57de882f528b32e810e
enabled: true
displayName: English - Marvin's Musings
redirect: false
subdirectory: /en
tag: English
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653ad57de882f528b32e810f
enabled: true
displayName: Squornshellous - Mattress Speak
redirect: true
subdirectory: /sr
tag: Squornshellous
dataCollectionEnabled: true
dataCollectionType: always
- id: 42e63e98c9a982ac9b8b743
workspaceId: 42e63fc8c9a982ac9b8b746
createdOn: '1982-10-12T12:00:00.000Z'
displayName: Vogon Poetry Archive
shortName: vogon-poetry
lastPublished: '2023-04-02T12:50:00.000Z'
previewUrl: https://dev-assets.website-files.com/42e63e98c9a982ac9b8b743/198210121200.png
timeZone: Vogsphere/PoetryHall
parentFolderId:
customDomains:
- id: 589a331aa51e760df7ccb8a0
url: vogonpoetry.galaxy
lastPublished: '2022-12-07T16:51:37.571Z'
locales:
primary:
id: 653fd9af6a07fc9cfd7a5e55
cmsLocaleId: 653ad57de882f528b32e810d
enabled: true
displayName: English - Vogon Verse
redirect: false
subdirectory: /en
tag: Third Worst Poetry
secondary:
- id: 653fd9af6a07fc9cfd7a5e54
cmsLocaleId: 653ad57de882f528b32e810c
enabled: true
displayName: Galactic - Universal Language
redirect: true
subdirectory: /gl
tag: Pan-Galactic Gargle Blaster
dataCollectionEnabled: true
dataCollectionType: always
'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: []
4XX:
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: []
5XX:
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}:
get:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: get
security:
- OAuth2:
- sites:read
operationId: get-site
summary: Webflow Get Site
description: |
Get details of a site.
Required scope | `sites:read`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 42e98c9a982ac9b8b742
workspaceId: 42e63e98c9a982ac9b8b742
displayName: The Hitchhiker's Guide to the Galaxy
shortName: hitchhikers-guide
previewUrl: https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png
timeZone: Magrathea/FactoryFloor
createdOn: '1979-10-12T12:00:00.000Z'
lastUpdated: '2023-04-02T12:42:00.000Z'
lastPublished: '2023-04-02T12:42:00.000Z'
parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
- id: 589a331aa51e760df7ccb89d
url: hitchhikersguide.galaxy
- id: 589a331aa51e760df7ccb89e
url: heartofgold.spaceship
locales:
primary:
id: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId: 653ad57de882f528b32e810e
enabled: false
displayName: English (United States)
displayImageId:
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId:
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId:
subdirectory: es-mx
tag: es-MX
dataCollectionEnabled: true
dataCollectionType: always
required:
- id
properties:
id:
type: string
format: objectid
description: Unique identifier for the Site
example: 580e63e98c9a982ac9b8b741
workspaceId:
type: string
format: objectid
description: Unique identifier for the Workspace
example: 580e63e98c9a982ac9b8b741
createdOn:
type: string
format: date-time
description: Date the Site was created
example: '2016-10-24T19:41:29.156Z'
displayName:
type: string
description: Name given to Site
example: api_docs_sample_json
shortName:
type: string
description: Slugified version of name
example: api-docs-sample-json
lastPublished:
type: string
format: date-time
description: Date the Site was last published
example: '2016-10-24T19:43:17.271Z'
lastUpdated:
type: string
format: date-time
description: Date the Site was last updated
example: '2016-10-24T19:43:17.271Z'
previewUrl:
type: string
format: uri
description: URL of a generated image for the given Site
example: https://dev-assets.website-files.com/580e63e98c9a982ac9b8b741/201610241243.png
timeZone:
type: string
description: Site timezone set under Site Settings
example: America/Los_Angeles
parentFolderId:
type: string
format: objectid
nullable: true
description: The ID of the parent folder the Site exists in
example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
format: objectid
example: 589a331aa51e760df7ccb89d
description: Unique identifier for the Domain
url:
type: string
example: test-api-domain.com
description: The registered Domain name
lastPublished:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
nullable: true
description: The date the custom domain was last published to
example:
id: 589a331aa51e760df7ccb89d
url: test-api-domain.com
lastPublished: '2022-12-07T16:51:37.571Z'
locales:
type: object
properties:
primary:
description: The primary locale for the site or application.
type: object
properties:
id:
type: string
description: The unique identifier for the locale.
example: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId:
type: string
description: A CMS-specific identifier for the locale.
example: 653ad57de882f528b32e810e
enabled:
type: boolean
description: Indicates if the locale is enabled.
example: false
displayName:
type: string
description: The display name of the locale, typically in English.
example: English (United States)
displayImageId:
type: string
description: An optional ID for an image associated with the locale, nullable.
nullable: true
example:
redirect:
type: boolean
description: Determines if requests should redirect to the locale's subdirectory.
example: true
subdirectory:
type: string
description: The subdirectory path for the locale, used in URLs.
example: ''
tag:
type: string
description: A tag or code representing the locale, often following a standard format like 'en-US'.
example: en-US
secondary:
type: array
items:
type: object
properties:
id:
type: string
description: The unique identifier for the locale.
example: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId:
type: string
description: A CMS-specific identifier for the locale.
example: 653ad57de882f528b32e810e
enabled:
type: boolean
description: Indicates if the locale is enabled.
example: false
displayName:
type: string
description: The display name of the locale, typically in English.
example: English (United States)
displayImageId:
type: string
description: An optional ID for an image associated with the locale, nullable.
nullable: true
example:
redirect:
type: boolean
description: Determines if requests should redirect to the locale's subdirectory.
example: true
subdirectory:
type: string
description: The subdirectory path for the locale, used in URLs.
example: ''
tag:
type: string
description: A tag or code representing the locale, often following a standard format like 'en-US'.
example: en-US
description: A list of secondary locales available for the site or application.
dataCollectionEnabled:
type: boolean
description: Indicates if data collection is enabled for the site.
example: false
dataCollectionType:
type: string
enum:
- always
- optOut
- disabled
description: The type of data collection enabled for the site.
example: always
examples:
SiteWithLocales:
value:
id: 42e98c9a982ac9b8b742
workspaceId: 42e63e98c9a982ac9b8b742
displayName: The Hitchhiker's Guide to the Galaxy
shortName: hitchhikers-guide
previewUrl: https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png
timeZone: Magrathea/FactoryFloor
createdOn: '1979-10-12T12:00:00.000Z'
lastUpdated: '2023-04-02T12:42:00.000Z'
lastPublished: '2023-04-02T12:42:00.000Z'
parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
- id: 589a331aa51e760df7ccb89d
url: hitchhikersguide.galaxy
- id: 589a331aa51e760df7ccb89e
url: heartofgold.spaceship
locales:
primary:
id: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId: 653ad57de882f528b32e810e
enabled: false
displayName: English (United States)
displayImageId:
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId:
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId:
subdirectory: es-mx
tag: es-MX
dataCollectionEnabled: true
dataCollectionType: always
'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: []
patch:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: update
security:
- OAuth2:
- sites:write
operationId: update-site
summary: Webflow Update Site
description: |
Update a site.
This endpoint requires an Enterprise workspace.
Required scope | `sites:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
properties:
name:
type: string
example: Super Cool Site
description: The name of the site
parentFolderId:
type: string
nullable: true
example: a9c420f9347c2139b248e913
description: The parent folder ID of the site
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 42e98c9a982ac9b8b742
workspaceId: 42e63e98c9a982ac9b8b742
displayName: The Hitchhiker's Guide to the Galaxy
shortName: hitchhikers-guide
previewUrl: https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png
timeZone: Magrathea/FactoryFloor
createdOn: '1979-10-12T12:00:00.000Z'
lastUpdated: '2023-04-02T12:42:00.000Z'
lastPublished: '2023-04-02T12:42:00.000Z'
parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
- id: 589a331aa51e760df7ccb89d
url: hitchhikersguide.galaxy
- id: 589a331aa51e760df7ccb89e
url: heartofgold.spaceship
locales:
primary:
id: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId: 653ad57de882f528b32e810e
enabled: false
displayName: English (United States)
displayImageId:
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId:
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId:
subdirectory: es-mx
tag: es-MX
dataCollectionEnabled: true
dataCollectionType: always
required:
- id
properties:
id:
type: string
format: objectid
description: Unique identifier for the Site
example: 580e63e98c9a982ac9b8b741
workspaceId:
type: string
format: objectid
description: Unique identifier for the Workspace
example: 580e63e98c9a982ac9b8b741
createdOn:
type: string
format: date-time
description: Date the Site was created
example: '2016-10-24T19:41:29.156Z'
displayName:
type: string
description: Name given to Site
example: api_docs_sample_json
shortName:
type: string
description: Slugified version of name
example: api-docs-sample-json
lastPublished:
type: string
format: date-time
description: Date the Site was last published
example: '2016-10-24T19:43:17.271Z'
lastUpdated:
type: string
format: date-time
description: Date the Site was last updated
example: '2016-10-24T19:43:17.271Z'
previewUrl:
type: string
format: uri
description: URL of a generated image for the given Site
example: https://dev-assets.website-files.com/580e63e98c9a982ac9b8b741/201610241243.png
timeZone:
type: string
description: Site timezone set under Site Settings
example: America/Los_Angeles
parentFolderId:
type: string
format: objectid
nullable: true
description: The ID of the parent folder the Site exists in
example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
customDomains:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
format: objectid
example: 589a331aa51e760df7ccb89d
description: Unique identifier for the Domain
url:
type: string
example: test-api-domain.com
description: The registered Domain name
lastPublished:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
nullable: true
description: The date the custom domain was last published to
example:
id: 589a331aa51e760df7ccb89d
url: test-api-domain.com
lastPublished: '2022-12-07T16:51:37.571Z'
locales:
type: object
properties:
primary:
description: The primary locale for the site or application.
type: object
properties:
id:
type: string
description: The unique identifier for the locale.
example: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId:
type: string
description: A CMS-specific identifier for the locale.
example: 653ad57de882f528b32e810e
enabled:
type: boolean
description: Indicates if the locale is enabled.
example: false
displayName:
type: string
description: The display name of the locale, typically in English.
example: English (United States)
displayImageId:
type: string
description: An optional ID for an image associated with the locale, nullable.
nullable: true
example:
redirect:
type: boolean
description: Determines if requests should redirect to the locale's subdirectory.
example: true
subdirectory:
type: string
description: The subdirectory path for the locale, used in URLs.
example: ''
tag:
type: string
description: A tag or code representing the locale, often following a standard format like 'en-US'.
example: en-US
secondary:
type: array
items:
type: object
properties:
id:
type: string
description: The unique identifier for the locale.
example: 653fd9af6a07fc9cfd7a5e57
cmsLocaleId:
type: string
description: A CMS-specific identifier for the locale.
example: 653ad57de882f528b32e810e
enabled:
type: boolean
description: Indicates if the locale is enabled.
example: false
displayName:
type: string
description: The display name of the locale, typically in English.
example: English (United States)
displayImageId:
type: string
description: An optional ID for an image associated with the locale, nullable.
nullable: true
example:
redirect:
type: boolean
description: Determines if requests should redirect to the locale's subdirectory.
example: true
subdirectory:
type: string
description: The subdirectory path for the locale, used in URLs.
example: ''
tag:
type: string
description: A tag or code representing the locale, often following a standard format like 'en-US'.
example: en-US
description: A list of secondary locales available for the site or application.
dataCollectionEnabled:
type: boolean
description: Indicates if data collection is enabled for the site.
example: false
dataCollectionType:
type: string
enum:
- always
- optOut
- disabled
description: The type of data collection enabled for the site.
example: always
'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 request
content:
application/json:
schema:
oneOf:
- description: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
externalReference:
details: []
- description: Error response for non-enterprise plan sites.
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: not_enterprise_plan_site
message: This site is not associated with an Enterprise plan
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: []
delete:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: delete
security:
- OAuth2:
- sites:write
operationId: delete-site
summary: Webflow Delete Site
description: |
Delete a site.
This endpoint requires an Enterprise workspace.
Required scope | `sites:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'204':
description: Request was successful. No Content is returned.
'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 request
content:
application/json:
schema:
oneOf:
- description: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
externalReference:
details: []
- description: Error response for non-enterprise plan sites.
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: not_enterprise_plan_site
message: This site is not associated with an Enterprise plan
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}/custom_domains:
get:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: get-custom-domain
security:
- OAuth2:
- sites:read
operationId: get-custom-domains
summary: Webflow Get Custom Domains
description: |
Get a list of all custom domains related to site.
Required scope | `sites:read`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
customDomains:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
format: objectid
example: 589a331aa51e760df7ccb89d
description: Unique identifier for the Domain
url:
type: string
example: test-api-domain.com
description: The registered Domain name
lastPublished:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
nullable: true
description: The date the custom domain was last published to
example:
id: 589a331aa51e760df7ccb89d
url: test-api-domain.com
lastPublished: '2022-12-07T16:51:37.571Z'
example:
customDomains:
- id: 589a331aa51e760df7ccb89d
url: hitchhikersguide.galaxy
lastPublished: '2022-12-07T16:51:37.571Z'
- id: 589a331aa51e760df7ccb89e
url: heartofgold.spaceship
lastPublished: '2022-12-07T16:51:37.571Z'
'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}/publish:
post:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: publish
security:
- OAuth2:
- sites:write
operationId: site-publish
summary: Webflow Publish Site
description: |
Publishes a site to one or more more domains.
To publish to a specific custom domain, use the domain IDs from the [Get Custom Domains](/data/reference/sites/get-custom-domain) endpoint.
You must include at least one of the `customDomains` or `publishToWebflowSubdomain` properties in the request body.
This endpoint has a specific rate limit of one successful publish queue per minute.
Required scope | `sites:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
minProperties: 1
properties:
customDomains:
description: Array of Custom Domain IDs to publish
type: array
items:
description: The ID of the Custom Domain
type: string
example: 589a331aa51e760df7ccb89d
example:
- 660c6449dd97ebc7346ac629
- 660c6449dd97ebc7346ac62f
publishToWebflowSubdomain:
description: Choice of whether to publish to the default Webflow Subdomain
type: boolean
default: false
example: false
examples:
DomainIDs:
value:
customDomains:
- 660c6449dd97ebc7346ac629
- 660c6449dd97ebc7346ac62f
publishToWebflowSubdomain: false
responses:
'202':
description: Request accepted
content:
application/json:
schema:
type: object
properties:
customDomains:
description: Array of domains objects
type: array
items:
type: object
required:
- id
properties:
id:
type: string
format: objectid
example: 589a331aa51e760df7ccb89d
description: Unique identifier for the Domain
url:
type: string
example: test-api-domain.com
description: The registered Domain name
lastPublished:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
nullable: true
description: The date the custom domain was last published to
example:
id: 589a331aa51e760df7ccb89d
url: test-api-domain.com
lastPublished: '2022-12-07T16:51:37.571Z'
publishToWebflowSubdomain:
description: Flag for publishing to webflow.io subdomain
type: boolean
default: false
'400':
description: Bad Request
content:
application/json:
schema:
oneOf:
- description: Requested an invalid Domain. Please send a valid custom domain URI.
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: invalid_domain
message: Please send a valid custom domain ID
externalReference:
details: []
- description: You must pass at least one domain ID to the publish endpoint.
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: no_domains
message: No domain IDs provided
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: []
/sites/{site_id}/redirects:
get:
x-fern-sdk-group-name:
- sites
- redirects
x-fern-sdk-method-name: list
security:
- OAuth2:
- sites:read
operationId: get-redirects
summary: Webflow Get 301 redirects
description: |
Fetch a list of all 301 redirect rules configured for a specific site.
Use this endpoint to review, audit, or manage the redirection rules that control how traffic is rerouted on your site.
This endpoint requires an Enterprise workspace.
Required scope: `sites:read`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: Site redirects response
properties:
redirects:
type: array
description: List of redirects for a given site
items:
type: object
description: A single redirection rule, specifying a source URL and a destination URL.
properties:
id:
type: string
description: The ID of the specific redirect rule
example: 66c4cb9a20cac35ed19500e6
readOnly: true
fromUrl:
type: string
description: The source URL path that will be redirected.
example: /mostly-harmless
toUrl:
type: string
description: The target URL path where the user or client will be redirected.
example: /earth
example:
id: 42e1a2b7aa1a13f768a0042a
fromUrl: /mostly-harmless
toUrl: /earth
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
example:
redirects:
- id: 42e1a2b7aa1a13f768a0042a
fromUrl: /mostly-harmless
toUrl: /earth
- id: 6x9e7f8d9a4b1c2d3e4f5678
fromUrl: /babel-fish
toUrl: /translate
pagination:
limit: 100
offset: 0
total: 2
'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:
- sites
- redirects
x-fern-sdk-method-name: create
security:
- OAuth2:
- sites:write
operationId: create-redirect
summary: Webflow Create a 301 redirect
description: |
Add a new 301 redirection rule to a site.
This endpoint allows you to define a source path (`fromUrl`) and its corresponding destination path (`toUrl`), which will dictate how traffic is rerouted on your site. This is useful for managing site changes, restructuring URLs, or handling outdated links.
This endpoint requires an Enterprise workspace.
Required scope: `sites:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
description: A single redirection rule, specifying a source URL and a destination URL.
properties:
id:
type: string
description: The ID of the specific redirect rule
example: 66c4cb9a20cac35ed19500e6
readOnly: true
fromUrl:
type: string
description: The source URL path that will be redirected.
example: /mostly-harmless
toUrl:
type: string
description: The target URL path where the user or client will be redirected.
example: /earth
example:
id: 42e1a2b7aa1a13f768a0042a
fromUrl: /mostly-harmless
toUrl: /earth
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: A single redirection rule, specifying a source URL and a destination URL.
properties:
id:
type: string
description: The ID of the specific redirect rule
example: 66c4cb9a20cac35ed19500e6
readOnly: true
fromUrl:
type: string
description: The source URL path that will be redirected.
example: /mostly-harmless
toUrl:
type: string
description: The target URL path where the user or client will be redirected.
example: /earth
example:
id: 42e1a2b7aa1a13f768a0042a
fromUrl: /mostly-harmless
toUrl: /earth
'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}/redirects/{redirect_id}:
patch:
x-fern-sdk-group-name:
- sites
- redirects
x-fern-sdk-method-name: update
security:
- OAuth2:
- sites:write
operationId: update-redirect
summary: Webflow Update 301 redirect
description: |
Update a 301 redirection rule from a site.
This endpoint requires an Enterprise workspace.
Required scope: `sites:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: redirect_id
in: path
description: Unique identifier site redirect
example: 66c4cb9a20cac35ed19500e6
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
description: A single redirection rule, specifying a source URL and a destination URL.
properties:
id:
type: string
description: The ID of the specific redirect rule
example: 66c4cb9a20cac35ed19500e6
readOnly: true
fromUrl:
type: string
description: The source URL path that will be redirected.
example: /mostly-harmless
toUrl:
type: string
description: The target URL path where the user or client will be redirected.
example: /earth
example:
id: 42e1a2b7aa1a13f768a0042a
fromUrl: /mostly-harmless
toUrl: /earth
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: A single redirection rule, specifying a source URL and a destination URL.
properties:
id:
type: string
description: The ID of the specific redirect rule
example: 66c4cb9a20cac35ed19500e6
readOnly: true
fromUrl:
type: string
description: The source URL path that will be redirected.
example: /mostly-harmless
toUrl:
type: string
description: The target URL path where the user or client will be redirected.
example: /earth
example:
id: 42e1a2b7aa1a13f768a0042a
fromUrl: /mostly-harmless
toUrl: /earth
'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: []
delete:
x-fern-sdk-group-name:
- sites
- redirects
x-fern-sdk-method-name: delete
security:
- OAuth2:
- sites:write
operationId: delete-redirects
summary: Webflow Delete 301 redirects
description: |
Remove a 301 redirection rule from a site.
This is useful for cleaning up outdated or unnecessary redirects, ensuring that your site's routing behavior remains efficient and up-to-date.
This endpoint requires an Enterprise workspace.
Required scope: `sites:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: redirect_id
in: path
description: Unique identifier site redirect
example: 66c4cb9a20cac35ed19500e6
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: Site redirects response
properties:
redirects:
type: array
description: List of redirects for a given site
items:
type: object
description: A single redirection rule, specifying a source URL and a destination URL.
properties:
id:
type: string
description: The ID of the specific redirect rule
example: 66c4cb9a20cac35ed19500e6
readOnly: true
fromUrl:
type: string
description: The source URL path that will be redirected.
example: /mostly-harmless
toUrl:
type: string
description: The target URL path where the user or client will be redirected.
example: /earth
example:
id: 42e1a2b7aa1a13f768a0042a
fromUrl: /mostly-harmless
toUrl: /earth
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
example:
redirects:
- id: 42e1a2b7aa1a13f768a0042a
fromUrl: /mostly-harmless
toUrl: /earth
- id: 6x9e7f8d9a4b1c2d3e4f5678
fromUrl: /babel-fish
toUrl: /translate
pagination:
limit: 100
offset: 0
total: 2
'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}/plan:
get:
x-fern-sdk-group-name:
- sites
- plans
x-fern-sdk-method-name: get-site-plan
security:
- OAuth2:
- sites:read
operationId: get-site-plan
summary: Webflow Get Site Plan
description: |
Get site plan details for the specified Site.
This endpoint requires an Enterprise workspace.
Required scope | `sites:read`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: hosting-business-v4
name: Business Hosting
pricingDetails: https://webflow.com/pricing
type: object
properties:
id:
description: ID of the hosting plan.
type: string
enum:
- hosting-basic-v3
- hosting-cms-v3
- hosting-business-v3
- hosting-ecommerce-standard-v2
- hosting-ecommerce-plus-v2
- hosting-ecommerce-advanced-v2
- hosting-basic-v4
- hosting-cms-v4
- hosting-business-v4
- hosting-ecommerce-standard-v3
- hosting-ecommerce-plus-v3
- hosting-ecommerce-advanced-v3
name:
description: Name of the hosting plan.
type: string
enum:
- Basic Hosting
- CMS Hosting
- Business Hosting
- ECommerce Standard Hosting
- ECommerce Plus Hosting
- ECommerce Advanced Hosting
pricingInfo:
description: URL for more information about Webflow hosting plan pricing.
type: string
example: https://webflow.com/pricing
'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}/robots_txt:
get:
x-fern-sdk-group-name:
- sites
- robots-txt
x-fern-sdk-method-name: get
security:
- OAuth2:
- site_config:read
operationId: get-robots-txt
summary: Webflow Get robots.txt
description: |
Retrieve the robots.txt configuration for various user agents.
This endpoint requires an Enterprise workspace.
Required scope: `site_config:read`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: The robots.txt file for a given site
properties:
rules:
type: array
description: List of rules for user agents.
items:
type: object
properties:
userAgent:
type: string
description: The user agent the rules apply to.
example: googlebot
allows:
type: array
description: List of paths allowed for this user agent.
items:
type: string
description: Allowed path for the user agent.
example: /public
disallows:
type: array
description: List of paths disallowed for this user agent.
items:
type: string
description: Disallowed path for the user agent.
example: /checkout
required:
- userAgent
sitemap:
type: string
description: URL to the sitemap.
example: https://heartofgold.ship/sitemap.xml
example:
rules:
- userAgent: googlebot
allows: []
disallows:
- /vogon-poetry
- /total-perspective-vortex
sitemap: https://heartofgold.ship/sitemap.xml
'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: []
put:
x-fern-sdk-group-name:
- sites
- robots-txt
x-fern-sdk-method-name: put
security:
- OAuth2:
- site_config:write
operationId: replace-robots-txt
summary: Webflow Replace robots.txt
description: |
Replace the `robots.txt` configuration for various user agents.
This endpoint requires an Enterprise workspace.
Required scope | `site_config:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
description: The robots.txt file for a given site
properties:
rules:
type: array
description: List of rules for user agents.
items:
type: object
properties:
userAgent:
type: string
description: The user agent the rules apply to.
example: googlebot
allows:
type: array
description: List of paths allowed for this user agent.
items:
type: string
description: Allowed path for the user agent.
example: /public
disallows:
type: array
description: List of paths disallowed for this user agent.
items:
type: string
description: Disallowed path for the user agent.
example: /checkout
required:
- userAgent
sitemap:
type: string
description: URL to the sitemap.
example: https://heartofgold.ship/sitemap.xml
example:
rules:
- userAgent: googlebot
allows: []
disallows:
- /vogon-poetry
- /total-perspective-vortex
sitemap: https://heartofgold.ship/sitemap.xml
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: The robots.txt file for a given site
properties:
rules:
type: array
description: List of rules for user agents.
items:
type: object
properties:
userAgent:
type: string
description: The user agent the rules apply to.
example: googlebot
allows:
type: array
description: List of paths allowed for this user agent.
items:
type: string
description: Allowed path for the user agent.
example: /public
disallows:
type: array
description: List of paths disallowed for this user agent.
items:
type: string
description: Disallowed path for the user agent.
example: /checkout
required:
- userAgent
sitemap:
type: string
description: URL to the sitemap.
example: https://heartofgold.ship/sitemap.xml
example:
rules:
- userAgent: googlebot
allows: []
disallows:
- /vogon-poetry
- /total-perspective-vortex
sitemap: https://heartofgold.ship/sitemap.xml
'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: []
patch:
x-fern-sdk-group-name:
- sites
- robots-txt
x-fern-sdk-method-name: patch
security:
- OAuth2:
- site_config:write
operationId: update-robots-txt
summary: Webflow Update robots.txt
description: |
Update the `robots.txt` configuration for various user agents.
This endpoint requires an Enterprise workspace.
Required scope | `site_config:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
description: The robots.txt file for a given site
properties:
rules:
type: array
description: List of rules for user agents.
items:
type: object
properties:
userAgent:
type: string
description: The user agent the rules apply to.
example: googlebot
allows:
type: array
description: List of paths allowed for this user agent.
items:
type: string
description: Allowed path for the user agent.
example: /public
disallows:
type: array
description: List of paths disallowed for this user agent.
items:
type: string
description: Disallowed path for the user agent.
example: /checkout
required:
- userAgent
sitemap:
type: string
description: URL to the sitemap.
example: https://heartofgold.ship/sitemap.xml
example:
rules:
- userAgent: googlebot
allows: []
disallows:
- /vogon-poetry
- /total-perspective-vortex
sitemap: https://heartofgold.ship/sitemap.xml
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: The robots.txt file for a given site
properties:
rules:
type: array
description: List of rules for user agents.
items:
type: object
properties:
userAgent:
type: string
description: The user agent the rules apply to.
example: googlebot
allows:
type: array
description: List of paths allowed for this user agent.
items:
type: string
description: Allowed path for the user agent.
example: /public
disallows:
type: array
description: List of paths disallowed for this user agent.
items:
type: string
description: Disallowed path for the user agent.
example: /checkout
required:
- userAgent
sitemap:
type: string
description: URL to the sitemap.
example: https://heartofgold.ship/sitemap.xml
example:
rules:
- userAgent: googlebot
allows: []
disallows:
- /vogon-poetry
- /total-perspective-vortex
sitemap: https://heartofgold.ship/sitemap.xml
'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: []
delete:
x-fern-sdk-group-name:
- sites
- robots-txt
x-fern-sdk-method-name: delete
security:
- OAuth2:
- site_config:write
operationId: delete-robots-txt
summary: Webflow Delete robots.txt
description: |
Remove specific rules for a user-agent in your `robots.txt` file. To delete all rules for a user-agent, provide an empty rule set. This will remove the user-agent's entry entirely, leaving it subject to your site's default crawling behavior.
**Note:** Deleting a user-agent with no rules will make the user-agent's access unrestricted unless other directives apply.
This endpoint requires an Enterprise workspace.
Required scope: `site_config:write`
tags:
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
description: The robots.txt file for a given site
properties:
rules:
type: array
description: List of rules for user agents.
items:
type: object
properties:
userAgent:
type: string
description: The user agent the rules apply to.
example: googlebot
allows:
type: array
description: List of paths allowed for this user agent.
items:
type: string
description: Allowed path for the user agent.
example: /public
disallows:
type: array
description: List of paths disallowed for this user agent.
items:
type: string
description: Disallowed path for the user agent.
example: /checkout
required:
- userAgent
sitemap:
type: string
description: URL to the sitemap.
example: https://heartofgold.ship/sitemap.xml
example:
rules:
- userAgent: googlebot
allows: []
disallows:
- /vogon-poetry
- /total-perspective-vortex
sitemap: https://heartofgold.ship/sitemap.xml
example:
rules:
- userAgent: '*'
allows: []
disallows:
- /bubbles
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: The robots.txt file for a given site
properties:
rules:
type: array
description: List of rules for user agents.
items:
type: object
properties:
userAgent:
type: string
description: The user agent the rules apply to.
example: googlebot
allows:
type: array
description: List of paths allowed for this user agent.
items:
type: string
description: Allowed path for the user agent.
example: /public
disallows:
type: array
description: List of paths disallowed for this user agent.
items:
type: string
description: Disallowed path for the user agent.
example: /checkout
required:
- userAgent
sitemap:
type: string
description: URL to the sitemap.
example: https://heartofgold.ship/sitemap.xml
example:
rules:
- userAgent: googlebot
allows: []
disallows:
- /vogon-poetry
- /total-perspective-vortex
sitemap: https://heartofgold.ship/sitemap.xml
'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}/well_known:
put:
x-fern-sdk-group-name:
- sites
- well-known
x-fern-sdk-method-name: put
security:
- OAuth2:
- site_config:write
operationId: set-well-known
summary: Webflow Set a well-known file
description: |
Upload a supported well-known file to a site.
The current restrictions on well-known files are as follows:
- Each file must be smaller than 100kb
- Less than 30 total files
- Have one of the following file extensions (or no extension): `.txt`, `.json`, `.noext`
`.noext` is a special file extension that removes other extensions. For example, `apple-app-site-association.noext.txt` will be uploaded as `apple-app-site-association`. Use this extension for tools that have trouble uploading extensionless files.
This endpoint requires an Enterprise workspace.
Required scope: `site_config:write`
tags:
- Site Administration
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
required:
- fileName
- fileData
properties:
fileName:
type: string
description: The name of the file
examples:
example1:
summary: Apple App Site Association
value: apple-app-site-association.txt
example2:
summary: Apple Developer Merchant ID Domain Association
value: apple-developer-merchantid-domain-association.txt
fileData:
type: string
description: The contents of the file
examples:
example1:
summary: Apple App Site Association File Example
value: |
{
"applinks": {
"apps": [],
"details": [
{
"appID": "ABCDE12345.com.example.app",
"paths": [ "/*", "/some/path/*" ]
}
]
}
}
example2:
summary: Apple Developer Merchant ID Domain Association File Example
value: |
{
"merchantId": "merchant.com.example",
"merchantName": "Example Inc.",
"domainAssociation": "web"
}
contentType:
type: string
default: application/json
description: The content type of the file. Defaults to application/json
enum:
- application/json
- text/plain
example: application/json
examples:
appleAppSiteAssociation:
summary: Apple App Site Association
value:
fileName: apple-app-site-association.txt
fileData: |
{
"applinks": {
"apps": [],
"details": [
{
"appID": "ABCDE12345.com.example.app",
"paths": [ "/*", "/some/path/*" ]
}
]
}
}
contentType: application/json
appleDeveloperMerchantIdDomainAssociation:
summary: Apple Developer Merchant ID Domain Association
value:
fileName: apple-developer-merchantid-domain-association.txt
fileData: |
{
"merchantId": "merchant.com.example",
"merchantName": "Example Inc.",
"domainAssociation": "web"
}
contentType: text/plain
responses:
'201':
description: File uploaded successfully
'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: []
delete:
x-fern-sdk-group-name:
- sites
- well-known
x-fern-sdk-method-name: delete
security:
- OAuth2:
- site_config:write
operationId: delete-well-known
summary: Webflow Delete a well-known file
description: |
Delete existing well-known files from a site.
This endpoint requires an Enterprise workspace.
Required scope: `site_config:write`
tags:
- Site Administration
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
properties:
fileNames:
type: array
description: A list of file names to delete
items:
type: string
example:
- apple-app-site-association
responses:
'204':
description: File deleted successfully
'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}/activity_logs:
get:
x-fern-sdk-group-name:
- sites
- activity-logs
x-fern-sdk-method-name: list
summary: Webflow Get Site Activity Logs
operationId: get-site-activity-logs
description: |
Retrieve Activity Logs for a specific Site.
This endpoint requires an Enterprise workspace.
Required scope: `site_activity:read`
tags:
- Site Activity
- Sites
security:
- OAuth2:
- site_activity:read
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- 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: A list of site activity logs
content:
application/json:
schema:
type: object
properties:
items:
type: array
items:
type: object
properties:
id:
type: string
createdOn:
type: string
format: date-time
lastUpdated:
type: string
format: date-time
event:
type: string
enum:
- styles_modified
- site_published
- ix2_modified_on_page
- page_dom_modified
- cms_item
- backup_created
- page_custom_code_modified
- symbols_modified
- variable_modified
- variables_modified
- cms_collection
- page_settings_modified
- page_settings_custom_code_modified
- ix2_modified_on_component
- ix2_modified_on_class
- site_custom_code_modified
- page_duplicated
- secondary_locale_page_content_modified
- page_renamed
- page_created
- page_deleted
- site_unpublished
- backup_restored
- locale_added
- branch_created
- locale_display_name_updated
- locale_subdirectory_updated
- branch_merged
- locale_tag_updated
- branch_deleted
- locale_enabled
- locale_removed
- locale_disabled
- library_shared
- library_unshared
- library_installed
- library_uninstalled
- library_update_shared
- library_update_accepted
- branch_review_created
- branch_review_approved
- branch_review_canceled
resourceOperation:
type: string
enum:
- CREATED
- MODIFIED
- PUBLISHED
- UNPUBLISHED
- DELETED
- GROUP_REORDERED
- GROUP_CREATED
- GROUP_DELETED
- REORDERED
user:
type: object
nullable: true
properties:
id:
type: string
displayName:
type: string
resourceId:
type: string
nullable: true
resourceName:
type: string
nullable: true
newValue:
type: string
nullable: true
previousValue:
type: string
nullable: true
payload:
type: object
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
example:
items:
- id: 654c16c7b229e56bcf26872d
createdOn: '2023-11-08T23:16:23.496Z'
lastUpdated: '2023-11-08T23:16:23.496Z'
event: cms_collection
user:
id: 6509cd56e90eec668b009712
displayName: John Doe
resourceOperation: CREATED
resourceId: 654c16c7b229e56bcf26870c
resourceName: foo-bar
newValue:
previousValue:
payload:
pagination:
total: 1
offset: 0
limit: 25
'403':
description: Forbidden request
content:
application/json:
schema:
oneOf:
- description: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
externalReference:
details: []
- description: Error response for non-enterprise plan sites.
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: not_enterprise_plan_site
message: This site is not associated with an Enterprise plan
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}/collections:
get:
x-fern-sdk-group-name: collections
x-fern-sdk-method-name: list
security:
- OAuth2:
- cms:read
operationId: list-collections
summary: Webflow List Collections
description: |
List of all Collections within a Site.
Required scope | `cms:read`
tags:
- Collections
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
example:
collections:
- id: 63692ab61fb2852f582ba8f5
displayName: Products
singularName: Product
slug: product
createdOn: '2019-06-12T13:35:14.238Z'
lastUpdated: '2022-11-17T15:08:50.480Z'
- id: 63692ab61fb2856e6a2ba8f6
displayName: Categories
singularName: Category
slug: category
createdOn: '2019-06-12T13:35:14.238Z'
lastUpdated: '2022-11-17T15:08:50.481Z'
- id: 63692ab61fb285a8562ba8f4
displayName: SKUs
singularName: SKU
slug: sku
createdOn: '2019-06-12T13:35:14.238Z'
lastUpdated: '2022-11-17T15:08:50.478Z'
properties:
collections:
description: An array of Collections
type: array
items:
example:
id: 7f15043107e2fc95644e93807ee25dd6
displayName: Guide Entries
singularName: Guide Entry
fields:
- id: 5e2a1b3c4d5e6f7890a1b2c3
isEditable: true
isRequired: true
type: PlainText
slug: name
displayName: Entry Title
helpText: Name of the entry.
validations:
- id: 5e2a1b3c4d5e6f7890a1b2c4
isEditable: true
isRequired: true
type: PlainText
slug: slug
displayName: Slug
helpText: Slug of the entry.
validations:
- id: 6f7e8d9c0b1a2e3d4c5b6a7f
isEditable: true
isRequired: false
type: PlainText
slug: summary
displayName: Summary
helpText: A short summary of the entry.
validations:
- id: 1a2b3c4d5e6f7a8b9c0d1e2f
isEditable: true
isRequired: false
type: RichText
slug: entry-html
displayName: Entry HTML
helpText: The HTML content of the entry.
validations:
- id: 7e8d9c0b1a2e3d4c5b6a7f8e
isEditable: true
isRequired: false
type: Image
slug: illustration-image
displayName: Illustration Image
helpText: An image of the entry.
validations:
- id: 2f3e4d5c6b7a8e9d0c1b2a3f
isEditable: true
isRequired: false
type: VideoLink
slug: demonstration-video
displayName: Demonstration Video
helpText: A video of the entry.
validations:
- id: 8e9d0c1b2a3f4e5d6c7b8a9e
isEditable: true
isRequired: false
type: Link
slug: more-info-link
displayName: More Info Link
helpText: A link to more information about the entry.
validations:
- id: 3f4e5d6c7b8a9e0d1c2b3a4f
isEditable: true
isRequired: false
type: Number
slug: importance-level
displayName: Importance Level
helpText: The importance level of the entry.
validations:
format: integer
allowNegative: false
allowZero: false
minValue: 1
maxValue: 5
- id: 9e0d1c2b3a4f5e6d7c8b9a0e
isEditable: true
isRequired: false
type: Switch
slug: is-essential
displayName: Is Essential
helpText: Is this entry essential?
validations:
- id: 4f5e6d7c8b9a0e1d2c3b4a5f
isEditable: true
isRequired: false
type: Date
slug: first-mentioned
displayName: First Mentioned
helpText: Date of the first mention of the subject.
validations:
- id: 0e1d2c3b4a5f6e7d8c9b0a1e
isEditable: true
isRequired: false
type: Color
slug: towel-color
displayName: Towel Color
helpText: The color of the towel.
validations:
- id: 5f6e7d8c9b0a1e2d3c4b5a6f
isEditable: true
isRequired: false
type: Reference
slug: related-entry
displayName: Related Entry
helpText: A related entry.
validations:
collectionId: 7f15043107e2fc95644e93807ee25dd6
- id: 1e2d3c4b5a6f7e8d9c0b1a2f
isEditable: true
isRequired: false
type: MultiReference
slug: mentioned-in-entries
displayName: Mentioned In Entries
helpText: Entries that mention this subject.
validations:
collectionId: 7f15043107e2fc95644e93807ee25dd6
- id: 6f7e8d9c0b1a2e3d4c5b6a8f
isEditable: true
isRequired: false
type: Option
slug: item-type
displayName: Item Type
helpText: The type of item.
validations:
options:
- name: Survival Gear
id: 66f6e966c9e1dc700a857ca3
- name: Gadget
id: 66f6e966c9e1dc700a857ca4
- name: Other
id: 66f6e966c9e1dc700a857ca5
- id: 2e3d4c5b6a7f8e9d0c1b2a4f
isEditable: true
isRequired: false
type: File
slug: guide-file
displayName: Guide File
helpText:
validations:
- id: 7f8e9d0c1b2a3f4e5d6c8b9e
isEditable: true
isRequired: false
type: Email
slug: contributor-email
displayName: Contributor Email
helpText:
validations:
- id: 3a4f5e6d7c8b9a0e1d2c4b5f
isEditable: true
isRequired: false
type: Phone
slug: emergency-contact
displayName: Emergency Contact
helpText:
validations:
slug: guide-entry
createdOn: '2024-04-12T12:42:00.000Z'
lastUpdated: '2024-04-12T12:42:00.000Z'
description: A collection object
type: object
required:
- id
properties:
id:
type: string
format: objectid
description: Unique identifier for a Collection
example: 562ac0395358780a1f5e6fbd
displayName:
type: string
example: Blog Posts
description: Name given to the Collection
singularName:
type: string
example: Blog Post
description: The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”)
slug:
type: string
example: blog-posts
description: Slug of Collection in Site URL structure
createdOn:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
description: The date the collection was created
lastUpdated:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
description: The date the collection was last updated
'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: collections
x-fern-sdk-method-name: create
security:
- OAuth2:
- cms:write
operationId: create-collection
summary: Webflow Create Collection
description: |
Create a Collection for a site with collection fields.
Each collection includes the required _name_ and _slug_ fields, which are generated automatically. You can update the `displayName` of these fields, but the slug for them cannot be changed. Fields slugs are automatically converted to lowercase. Spaces in slugs are replaced with hyphens.
Required scope | `cms:write`
tags:
- Collections
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
description: Pass the Name of the collection, as well as the singular name of each item in the collection.
required: true
content:
application/json:
schema:
type: object
required:
- displayName
- singularName
properties:
displayName:
type: string
description: Name of the collection. Each collection name must be distinct.
singularName:
type: string
description: Singular name of each item.
slug:
type: string
description: Part of a URL that identifier
fields:
type: array
description: An array of custom fields to add to the collection
items:
description: Details about the field of a collection
examples:
StaticField:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: RichText
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
OptionField:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: Option
isRequired: false
displayName: Post Type
helpText: Add the body of your post here
metadata:
options:
- name: Feature
- name: News
- name: Product Highlight
ReferenceField:
id: 562ac0395358780a1f5e6fbd
isEditable: true
type: Reference
isRequired: false
displayName: Author
helpText: Add the post author here
metadata:
collectionId: 63692ab61fb2852f582ba8f5
oneOf:
- type: object
x-fern-type-name: Static Field
title: Static Field
required:
- type
- displayName
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
example: 562ac0395358780a1f5e6fbd
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
example: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
type: string
enum:
- Color
- DateTime
- Email
- File
- Image
- Link
- MultiImage
- Number
- Phone
- PlainText
- RichText
- Switch
- VideoLink
description: Choose these appropriate field type for your collection data
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
example:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: RichText
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
- type: object
x-fern-type-name: Option Field
title: Option Field
required:
- type
- displayName
- metadata
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
description: The [Option field type](/data/reference/field-types-item-values#option)
type: string
enum:
- Option
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
metadata:
type: object
required:
- options
description: The metadata for the Option field.
properties:
options:
type: array
description: The option values for the Option field.
items:
type: object
required:
- name
description: A single option value for the Option field.
properties:
name:
type: string
description: The name of the option
id:
type: string
description: The unique identifier of the option
readOnly: true
minItems: 1
maxItems: 100
example:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: Option
isRequired: false
displayName: Post Type
helpText: Add the body of your post here
metadata:
options:
- name: Feature
- name: News
- name: Product Highlight
- type: object
x-fern-type-name: Reference Field
title: Reference Field
required:
- type
- displayName
- metadata
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
type: string
enum:
- MultiReference
- Reference
description: Choose these appropriate field type for your collection data
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
metadata:
type: object
required:
- collectionId
properties:
collectionId:
type: string
description: The unique identifier of the collection
description: The collectionId for the referenced collection. Only applicable for Reference and MultiReference fields.
example:
id: 562ac0395358780a1f5e6fbd
isEditable: true
type: Reference
isRequired: false
displayName: Author
helpText: Add the post author here
metadata:
collectionId: 63692ab61fb2852f582ba8f5
example:
displayName: Blog Posts
singularName: Blog Post
slug: posts
fields:
- type: PlainText
displayName: Title
slug: title
isRequired: true
helpText: The title of the blog post
- type: RichText
displayName: Content
slug: content
isRequired: true
helpText: The content of the blog post
- type: Reference
displayName: Author
slug: author
isRequired: true
helpText: The author of the blog post
metadata:
collectionId: 23cc2d952d4e4631ffd4345d2743db4e
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 7f15043107e2fc95644e93807ee25dd6
displayName: Guide Entries
singularName: Guide Entry
fields:
- id: 5e2a1b3c4d5e6f7890a1b2c3
isEditable: true
isRequired: true
type: PlainText
slug: name
displayName: Entry Title
helpText: Name of the entry.
validations:
- id: 5e2a1b3c4d5e6f7890a1b2c4
isEditable: true
isRequired: true
type: PlainText
slug: slug
displayName: Slug
helpText: Slug of the entry.
validations:
- id: 6f7e8d9c0b1a2e3d4c5b6a7f
isEditable: true
isRequired: false
type: PlainText
slug: summary
displayName: Summary
helpText: A short summary of the entry.
validations:
- id: 1a2b3c4d5e6f7a8b9c0d1e2f
isEditable: true
isRequired: false
type: RichText
slug: entry-html
displayName: Entry HTML
helpText: The HTML content of the entry.
validations:
- id: 7e8d9c0b1a2e3d4c5b6a7f8e
isEditable: true
isRequired: false
type: Image
slug: illustration-image
displayName: Illustration Image
helpText: An image of the entry.
validations:
- id: 2f3e4d5c6b7a8e9d0c1b2a3f
isEditable: true
isRequired: false
type: VideoLink
slug: demonstration-video
displayName: Demonstration Video
helpText: A video of the entry.
validations:
- id: 8e9d0c1b2a3f4e5d6c7b8a9e
isEditable: true
isRequired: false
type: Link
slug: more-info-link
displayName: More Info Link
helpText: A link to more information about the entry.
validations:
- id: 3f4e5d6c7b8a9e0d1c2b3a4f
isEditable: true
isRequired: false
type: Number
slug: importance-level
displayName: Importance Level
helpText: The importance level of the entry.
validations:
format: integer
allowNegative: false
allowZero: false
minValue: 1
maxValue: 5
- id: 9e0d1c2b3a4f5e6d7c8b9a0e
isEditable: true
isRequired: false
type: Switch
slug: is-essential
displayName: Is Essential
helpText: Is this entry essential?
validations:
- id: 4f5e6d7c8b9a0e1d2c3b4a5f
isEditable: true
isRequired: false
type: Date
slug: first-mentioned
displayName: First Mentioned
helpText: Date of the first mention of the subject.
validations:
- id: 0e1d2c3b4a5f6e7d8c9b0a1e
isEditable: true
isRequired: false
type: Color
slug: towel-color
displayName: Towel Color
helpText: The color of the towel.
validations:
- id: 5f6e7d8c9b0a1e2d3c4b5a6f
isEditable: true
isRequired: false
type: Reference
slug: related-entry
displayName: Related Entry
helpText: A related entry.
validations:
collectionId: 7f15043107e2fc95644e93807ee25dd6
- id: 1e2d3c4b5a6f7e8d9c0b1a2f
isEditable: true
isRequired: false
type: MultiReference
slug: mentioned-in-entries
displayName: Mentioned In Entries
helpText: Entries that mention this subject.
validations:
collectionId: 7f15043107e2fc95644e93807ee25dd6
- id: 6f7e8d9c0b1a2e3d4c5b6a8f
isEditable: true
isRequired: false
type: Option
slug: item-type
displayName: Item Type
helpText: The type of item.
validations:
options:
- name: Survival Gear
id: 66f6e966c9e1dc700a857ca3
- name: Gadget
id: 66f6e966c9e1dc700a857ca4
- name: Other
id: 66f6e966c9e1dc700a857ca5
- id: 2e3d4c5b6a7f8e9d0c1b2a4f
isEditable: true
isRequired: false
type: File
slug: guide-file
displayName: Guide File
helpText:
validations:
- id: 7f8e9d0c1b2a3f4e5d6c8b9e
isEditable: true
isRequired: false
type: Email
slug: contributor-email
displayName: Contributor Email
helpText:
validations:
- id: 3a4f5e6d7c8b9a0e1d2c4b5f
isEditable: true
isRequired: false
type: Phone
slug: emergency-contact
displayName: Emergency Contact
helpText:
validations:
slug: guide-entry
createdOn: '2024-04-12T12:42:00.000Z'
lastUpdated: '2024-04-12T12:42:00.000Z'
description: A collection object
type: object
required:
- id
- displayName
- singularName
- fields
properties:
id:
type: string
format: objectid
description: Unique identifier for a Collection
example: 562ac0395358780a1f5e6fbd
displayName:
type: string
example: Blog Posts
description: Name given to the Collection
singularName:
type: string
example: Blog Post
description: The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”)
slug:
type: string
example: blog-posts
description: Slug of Collection in Site URL structure
createdOn:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
description: The date the collection was created
lastUpdated:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
description: The date the collection was last updated
fields:
type: array
description: The list of fields in the Collection
items:
description: The details of a field in a collection
example:
id: 75821f618da60c18383330bcc0ca488b
isEditable: true
isRequired: false
type: RichText
slug: post-body
displayName: Post Body
helpText: Add the body of your post here
validations:
maxLength: 1000
minLength: 100
type: object
required:
- id
- type
- isRequired
- displayName
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
isRequired:
type: boolean
description: define whether a field is required in a collection
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
type:
type: string
enum:
- Color
- DateTime
- Email
- ExtFileRef
- File
- Image
- Link
- MultiImage
- MultiReference
- Number
- Option
- Phone
- PlainText
- Reference
- RichText
- Switch
- VideoLink
description: Choose these appropriate field type for your collection data
slug:
type: string
description: Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-."
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
validations:
type: object
nullable: true
readOnly: true
description: The validations for the field
properties:
additionalProperties:
oneOf:
- type: string
- type: number
- type: boolean
- type: integer
- type: object
properties:
additionalProperties: true
example:
displayName: Blog Posts
singularName: Blog Post
slug: posts
createdOn: '2016-10-24T19:41:48Z'
lastUpdated: '2016-10-24T19:42:38Z'
fields:
- type: PlainText
displayName: Title
slug: title
isRequired: true
helpText: The title of the blog post
- type: RichText
displayName: Content
slug: content
isRequired: true
helpText: The content of the blog post
- type: Reference
displayName: Author
slug: author
isRequired: true
helpText: The author of the blog post
metadata:
collectionId: 23cc2d952d4e4631ffd4345d2743db4e
'400':
description: Validation failure
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: validation_error
message: 'Validation Error: Provided ID is invalid'
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: []
'409':
description: Collection already exists
x-logErrorCode: 409
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: duplicate_collection
message: Collection already exists
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: []
/collections/{collection_id}:
get:
x-fern-sdk-group-name: collections
x-fern-sdk-method-name: get
security:
- OAuth2:
- cms:read
operationId: collection-details
summary: Webflow Get Collection Details
description: |
Get the full details of a collection from its ID.
Required scope | `cms:read`
tags:
- Collections
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 7f15043107e2fc95644e93807ee25dd6
displayName: Guide Entries
singularName: Guide Entry
fields:
- id: 5e2a1b3c4d5e6f7890a1b2c3
isEditable: true
isRequired: true
type: PlainText
slug: name
displayName: Entry Title
helpText: Name of the entry.
validations:
- id: 5e2a1b3c4d5e6f7890a1b2c4
isEditable: true
isRequired: true
type: PlainText
slug: slug
displayName: Slug
helpText: Slug of the entry.
validations:
- id: 6f7e8d9c0b1a2e3d4c5b6a7f
isEditable: true
isRequired: false
type: PlainText
slug: summary
displayName: Summary
helpText: A short summary of the entry.
validations:
- id: 1a2b3c4d5e6f7a8b9c0d1e2f
isEditable: true
isRequired: false
type: RichText
slug: entry-html
displayName: Entry HTML
helpText: The HTML content of the entry.
validations:
- id: 7e8d9c0b1a2e3d4c5b6a7f8e
isEditable: true
isRequired: false
type: Image
slug: illustration-image
displayName: Illustration Image
helpText: An image of the entry.
validations:
- id: 2f3e4d5c6b7a8e9d0c1b2a3f
isEditable: true
isRequired: false
type: VideoLink
slug: demonstration-video
displayName: Demonstration Video
helpText: A video of the entry.
validations:
- id: 8e9d0c1b2a3f4e5d6c7b8a9e
isEditable: true
isRequired: false
type: Link
slug: more-info-link
displayName: More Info Link
helpText: A link to more information about the entry.
validations:
- id: 3f4e5d6c7b8a9e0d1c2b3a4f
isEditable: true
isRequired: false
type: Number
slug: importance-level
displayName: Importance Level
helpText: The importance level of the entry.
validations:
format: integer
allowNegative: false
allowZero: false
minValue: 1
maxValue: 5
- id: 9e0d1c2b3a4f5e6d7c8b9a0e
isEditable: true
isRequired: false
type: Switch
slug: is-essential
displayName: Is Essential
helpText: Is this entry essential?
validations:
- id: 4f5e6d7c8b9a0e1d2c3b4a5f
isEditable: true
isRequired: false
type: Date
slug: first-mentioned
displayName: First Mentioned
helpText: Date of the first mention of the subject.
validations:
- id: 0e1d2c3b4a5f6e7d8c9b0a1e
isEditable: true
isRequired: false
type: Color
slug: towel-color
displayName: Towel Color
helpText: The color of the towel.
validations:
- id: 5f6e7d8c9b0a1e2d3c4b5a6f
isEditable: true
isRequired: false
type: Reference
slug: related-entry
displayName: Related Entry
helpText: A related entry.
validations:
collectionId: 7f15043107e2fc95644e93807ee25dd6
- id: 1e2d3c4b5a6f7e8d9c0b1a2f
isEditable: true
isRequired: false
type: MultiReference
slug: mentioned-in-entries
displayName: Mentioned In Entries
helpText: Entries that mention this subject.
validations:
collectionId: 7f15043107e2fc95644e93807ee25dd6
- id: 6f7e8d9c0b1a2e3d4c5b6a8f
isEditable: true
isRequired: false
type: Option
slug: item-type
displayName: Item Type
helpText: The type of item.
validations:
options:
- name: Survival Gear
id: 66f6e966c9e1dc700a857ca3
- name: Gadget
id: 66f6e966c9e1dc700a857ca4
- name: Other
id: 66f6e966c9e1dc700a857ca5
- id: 2e3d4c5b6a7f8e9d0c1b2a4f
isEditable: true
isRequired: false
type: File
slug: guide-file
displayName: Guide File
helpText:
validations:
- id: 7f8e9d0c1b2a3f4e5d6c8b9e
isEditable: true
isRequired: false
type: Email
slug: contributor-email
displayName: Contributor Email
helpText:
validations:
- id: 3a4f5e6d7c8b9a0e1d2c4b5f
isEditable: true
isRequired: false
type: Phone
slug: emergency-contact
displayName: Emergency Contact
helpText:
validations:
slug: guide-entry
createdOn: '2024-04-12T12:42:00.000Z'
lastUpdated: '2024-04-12T12:42:00.000Z'
description: A collection object
type: object
required:
- id
- displayName
- singularName
- fields
properties:
id:
type: string
format: objectid
description: Unique identifier for a Collection
example: 562ac0395358780a1f5e6fbd
displayName:
type: string
example: Blog Posts
description: Name given to the Collection
singularName:
type: string
example: Blog Post
description: The name of one Item in Collection (e.g. ”Blog Post” if the Collection is called “Blog Posts”)
slug:
type: string
example: blog-posts
description: Slug of Collection in Site URL structure
createdOn:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
description: The date the collection was created
lastUpdated:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
readOnly: true
description: The date the collection was last updated
fields:
type: array
description: The list of fields in the Collection
items:
description: The details of a field in a collection
example:
id: 75821f618da60c18383330bcc0ca488b
isEditable: true
isRequired: false
type: RichText
slug: post-body
displayName: Post Body
helpText: Add the body of your post here
validations:
maxLength: 1000
minLength: 100
type: object
required:
- id
- type
- isRequired
- displayName
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
isRequired:
type: boolean
description: define whether a field is required in a collection
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
type:
type: string
enum:
- Color
- DateTime
- Email
- ExtFileRef
- File
- Image
- Link
- MultiImage
- MultiReference
- Number
- Option
- Phone
- PlainText
- Reference
- RichText
- Switch
- VideoLink
description: Choose these appropriate field type for your collection data
slug:
type: string
description: Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-."
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
validations:
type: object
nullable: true
readOnly: true
description: The validations for the field
properties:
additionalProperties:
oneOf:
- type: string
- type: number
- type: boolean
- type: integer
- type: object
properties:
additionalProperties: 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: []
delete:
x-fern-sdk-group-name: collections
x-fern-sdk-method-name: delete
security:
- OAuth2:
- cms:write
operationId: delete-collection
summary: Webflow Delete Collection
description: |
Delete a collection using its ID.
Required scope | `cms:write`
tags:
- Collections
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
responses:
'204':
description: Request was successful. No Content is returned.
'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: []
/collections/{collection_id}/fields:
post:
x-fern-sdk-group-name:
- collections
- fields
x-fern-sdk-method-name: create
security:
- OAuth2:
- cms:write
operationId: create-field
summary: Webflow Create Collection Field
description: |
Create a custom field in a collection.
Field validation is currently not available through the API.
Bulk creation of fields is not supported with this endpoint. To add multiple fields at once, include them when you [create the collection.](/data/v2.0.0/reference/cms/collections/create)
Required scope | `cms:write`
tags:
- Collections
- Sites
requestBody:
description: The field to create
required: true
content:
application/json:
schema:
description: Details about the field of a collection
examples:
StaticField:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: RichText
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
OptionField:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: Option
isRequired: false
displayName: Post Type
helpText: Add the body of your post here
metadata:
options:
- name: Feature
- name: News
- name: Product Highlight
ReferenceField:
id: 562ac0395358780a1f5e6fbd
isEditable: true
type: Reference
isRequired: false
displayName: Author
helpText: Add the post author here
metadata:
collectionId: 63692ab61fb2852f582ba8f5
oneOf:
- type: object
x-fern-type-name: Static Field
title: Static Field
required:
- type
- displayName
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
example: 562ac0395358780a1f5e6fbd
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
example: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
type: string
enum:
- Color
- DateTime
- Email
- File
- Image
- Link
- MultiImage
- Number
- Phone
- PlainText
- RichText
- Switch
- VideoLink
description: Choose these appropriate field type for your collection data
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
example:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: RichText
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
- type: object
x-fern-type-name: Option Field
title: Option Field
required:
- type
- displayName
- metadata
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
description: The [Option field type](/data/reference/field-types-item-values#option)
type: string
enum:
- Option
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
metadata:
type: object
required:
- options
description: The metadata for the Option field.
properties:
options:
type: array
description: The option values for the Option field.
items:
type: object
required:
- name
description: A single option value for the Option field.
properties:
name:
type: string
description: The name of the option
id:
type: string
description: The unique identifier of the option
readOnly: true
minItems: 1
maxItems: 100
example:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: Option
isRequired: false
displayName: Post Type
helpText: Add the body of your post here
metadata:
options:
- name: Feature
- name: News
- name: Product Highlight
- type: object
x-fern-type-name: Reference Field
title: Reference Field
required:
- type
- displayName
- metadata
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
type: string
enum:
- MultiReference
- Reference
description: Choose these appropriate field type for your collection data
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
metadata:
type: object
required:
- collectionId
properties:
collectionId:
type: string
description: The unique identifier of the collection
description: The collectionId for the referenced collection. Only applicable for Reference and MultiReference fields.
example:
id: 562ac0395358780a1f5e6fbd
isEditable: true
type: Reference
isRequired: false
displayName: Author
helpText: Add the post author here
metadata:
collectionId: 63692ab61fb2852f582ba8f5
examples:
StaticField:
value:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: RichText
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
OptionField:
value:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: Option
isRequired: false
displayName: Post Type
helpText: Add the body of your post here
metadata:
options:
- name: Feature
- name: News
- name: Product Highlight
ReferenceField:
value:
id: 562ac0395358780a1f5e6fbd
isEditable: true
type: Reference
isRequired: false
displayName: Author
helpText: Add the post author here
metadata:
collectionId: 63692ab61fb2852f582ba8f5
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Details about the field of a collection
examples:
StaticField:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: RichText
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
OptionField:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: Option
isRequired: false
displayName: Post Type
helpText: Add the body of your post here
metadata:
options:
- name: Feature
- name: News
- name: Product Highlight
ReferenceField:
id: 562ac0395358780a1f5e6fbd
isEditable: true
type: Reference
isRequired: false
displayName: Author
helpText: Add the post author here
metadata:
collectionId: 63692ab61fb2852f582ba8f5
oneOf:
- type: object
x-fern-type-name: Static Field
title: Static Field
required:
- type
- displayName
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
example: 562ac0395358780a1f5e6fbd
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
example: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
type: string
enum:
- Color
- DateTime
- Email
- File
- Image
- Link
- MultiImage
- Number
- Phone
- PlainText
- RichText
- Switch
- VideoLink
description: Choose these appropriate field type for your collection data
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
example:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: RichText
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
- type: object
x-fern-type-name: Option Field
title: Option Field
required:
- type
- displayName
- metadata
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
description: The [Option field type](/data/reference/field-types-item-values#option)
type: string
enum:
- Option
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
metadata:
type: object
required:
- options
description: The metadata for the Option field.
properties:
options:
type: array
description: The option values for the Option field.
items:
type: object
required:
- name
description: A single option value for the Option field.
properties:
name:
type: string
description: The name of the option
id:
type: string
description: The unique identifier of the option
readOnly: true
minItems: 1
maxItems: 100
example:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: Option
isRequired: false
displayName: Post Type
helpText: Add the body of your post here
metadata:
options:
- name: Feature
- name: News
- name: Product Highlight
- type: object
x-fern-type-name: Reference Field
title: Reference Field
required:
- type
- displayName
- metadata
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
readOnly: true
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
isRequired:
type: boolean
description: define whether a field is required in a collection
type:
type: string
enum:
- MultiReference
- Reference
description: Choose these appropriate field type for your collection data
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
metadata:
type: object
required:
- collectionId
properties:
collectionId:
type: string
description: The unique identifier of the collection
description: The collectionId for the referenced collection. Only applicable for Reference and MultiReference fields.
example:
id: 562ac0395358780a1f5e6fbd
isEditable: true
type: Reference
isRequired: false
displayName: Author
helpText: Add the post author here
metadata:
collectionId: 63692ab61fb2852f582ba8f5
examples:
StaticField:
value:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: RichText
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
OptionField:
value:
id: 562ac0395358780a1f5e6fbc
isEditable: true
type: Option
isRequired: false
displayName: Post Type
helpText: Add the body of your post here
metadata:
options:
- name: Feature
- name: News
- name: Product Highlight
ReferenceField:
value:
id: 562ac0395358780a1f5e6fbd
isEditable: true
type: Reference
isRequired: false
displayName: Author
helpText: Add the post author here
metadata:
collectionId: 63692ab61fb2852f582ba8f5
'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: []
'409':
description: Collection already exists
x-logErrorCode: 409
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: duplicate_collection
message: Collection already exists
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: []
/collections/{collection_id}/fields/{field_id}:
patch:
x-fern-sdk-group-name:
- collections
- fields
x-fern-sdk-method-name: update
security:
- OAuth2:
- cms:write
operationId: update-field
summary: Webflow Update Collection Field
description: |
Update a custom field in a collection.
Required scope | `cms:write`
tags:
- Collections
- Sites
requestBody:
description: The field details to update
content:
application/json:
schema:
description: Details about the field of a collection
example:
isRequired: false
displayName: Post Body
helpText: Add the body of your post here
type: object
properties:
isRequired:
type: boolean
description: Define whether a field is required in a collection
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: field_id
in: path
description: Unique identifier for a Field in a collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: The details of a field in a collection
example:
id: 75821f618da60c18383330bcc0ca488b
isEditable: true
isRequired: false
type: RichText
slug: post-body
displayName: Post Body
helpText: Add the body of your post here
validations:
maxLength: 1000
minLength: 100
type: object
required:
- id
- type
- isRequired
- displayName
properties:
id:
type: string
format: objectid
description: Unique identifier for a Field
isRequired:
type: boolean
description: define whether a field is required in a collection
isEditable:
type: boolean
description: Define whether the field is editable
readOnly: true
type:
type: string
enum:
- Color
- DateTime
- Email
- ExtFileRef
- File
- Image
- Link
- MultiImage
- MultiReference
- Number
- Option
- Phone
- PlainText
- Reference
- RichText
- Switch
- VideoLink
description: Choose these appropriate field type for your collection data
slug:
type: string
description: Slug of Field in Site URL structure. Slugs should be all lowercase with no spaces. Any spaces will be converted to "-."
displayName:
type: string
description: The name of a field
helpText:
type: string
description: Additional text to help anyone filling out this field
validations:
type: object
nullable: true
readOnly: true
description: The validations for the field
properties:
additionalProperties:
oneOf:
- type: string
- type: number
- type: boolean
- type: integer
- type: object
properties:
additionalProperties: 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: []
delete:
x-fern-sdk-group-name:
- collections
- fields
x-fern-sdk-method-name: delete
security:
- OAuth2:
- cms:write
operationId: delete-field
summary: Webflow Delete Collection Field
description: |
Delete a custom field in a collection. This endpoint does not currently support bulk deletion.
Required scope | `cms:write`
tags:
- Collections
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: field_id
in: path
description: Unique identifier for a Field in a collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
responses:
'204':
description: Request was successful. No Content is returned.
'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: []
/collections/{collection_id}/items:
get:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: list-items
security:
- OAuth2:
- cms:read
operationId: list-collection-items
summary: Webflow List Collection Items
description: |
List of all Items within a Collection.
Required scope | `CMS:read`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: cmsLocaleId
in: query
allowEmptyValue: true
description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.
schema:
type: string
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
- name: name
in: query
allowEmptyValue: true
description: Filter by the exact name of the item(s)
schema:
type: string
- name: slug
in: query
allowEmptyValue: true
description: Filter by the exact slug of the item
schema:
type: string
- name: lastPublished
in: query
allowEmptyValue: true
description: Filter by the last published date of the item(s)
schema:
type: object
properties:
lte:
type: string
format: date-time
example: '2024-04-22T16:00:31.000Z'
description: Filter items last published before this date
gte:
type: string
format: date-time
example: '2024-04-19T16:00:31.000Z'
description: Filter items last published after this date
style: deepObject
explode: true
required: false
- name: sortBy
in: query
allowEmptyValue: true
description: Sort results by the provided value
required: false
schema:
type: string
enum:
- lastPublished
- name
- slug
- name: sortOrder
in: query
allowEmptyValue: true
description: Sorts the results by asc or desc
required: false
schema:
type: string
enum:
- asc
- desc
responses:
'200':
description: Request was successful
content:
application/json:
schema:
required:
- items
- pagination
title: Collection Item List
description: Results from collection items list
example:
items:
- id: 62b720ef280c7a7a3be8cabe
lastPublished: '2022-06-30T13:35:20.878Z'
lastUpdated: '2022-06-25T14:51:27.809Z'
createdOn: '2022-06-25T14:51:27.809Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- id: 62c880ef281c7b7b4cf9dabc
lastPublished: '2023-04-15T10:25:18.123Z'
lastUpdated: '2023-04-10T11:45:30.567Z'
createdOn: '2023-04-10T11:45:30.567Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
pagination:
limit: 25
offset: 0
total: 2
properties:
items:
type: array
description: List of Items within the collection
items:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text:
A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
pagination:
type: object
properties:
limit:
type: integer
default: 100
description: The limit specified in the request
offset:
type: integer
default: 0
description: The offset specified for pagination
total:
type: integer
description: Total number of items in the collection
'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:
- collections
- items
x-fern-sdk-method-name: create-item
security:
- OAuth2:
- cms:write
operationId: create-item
summary: Webflow Create Collection Item(s)
description: |
Create Item(s) in a Collection.
To create items across multiple locales, please use [this endpoint.](/data/reference/cms/collection-items/staged-items/create-items)
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: skipInvalidFiles
in: query
allowEmptyValue: true
description: When true, invalid files are skipped and processing continues. When false, the entire request fails if any file is invalid.
schema:
type: boolean
default: true
example: true
required: false
requestBody:
description: Details of the item(s) to create
content:
application/json:
schema:
oneOf:
- x-fern-type-name: Single Item
title: Single Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
type: object
required:
- fieldData
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is in an archived state.
isDraft:
type: boolean
default: true
example: true
description: Boolean determining if the Item is in a draft state.
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
- type: object
x-fern-type-name: Multiple Items
title: Multiple Items
additionalProperties: false
properties:
items:
type: array
description: An array of items to create
items:
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
type: object
required:
- fieldData
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is in an archived state.
isDraft:
type: boolean
default: true
example: true
description: Boolean determining if the Item is in a draft state.
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
examples:
SingleItem:
value:
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
MultipleItems:
value:
items:
- isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
responses:
'202':
description: Request was successful
content:
application/json:
schema:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
examples:
SingleItem:
value:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
MultipleItems:
value:
items:
- isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
'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: []
patch:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: update-items
security:
- OAuth2:
- cms:write
operationId: update-items
summary: Webflow Update Collection Items
description: |
Update a single item or multiple items in a Collection.
The limit for this endpoint is 100 items.
Items will only be updated in the primary locale, unless a `cmsLocaleId` is included in the request.
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: skipInvalidFiles
in: query
allowEmptyValue: true
description: When true, invalid files are skipped and processing continues. When false, the entire request fails if any file is invalid.
schema:
type: boolean
default: true
example: true
required: false
requestBody:
description: Details of the item to update
content:
application/json:
schema:
properties:
items:
type: array
items:
description: |
The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items
required:
- id
properties:
id:
type: string
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
description: Boolean determining if the Item is set to draft
fieldData:
type: object
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
examples:
LocalizedItems:
value:
items:
- id: 66f6ed9576ddacf3149d5ea6
cmsLocaleId: 66f6e966c9e1dc700a857ca5
fieldData:
name: Ne Paniquez Pas
slug: ne-paniquez-pas
featured: false
- id: 66f6ed9576ddacf3149d5ea6
cmsLocaleId: 66f6e966c9e1dc700a857ca4
fieldData:
name: No Entrar en Pánico
slug: no-entrar-en-panico
featured: false
- id: 66f6ed9576ddacf3149d5eaa
cmsLocaleId: 66f6e966c9e1dc700a857ca5
fieldData:
name: Au Revoir et Merci pour Tous les Poissons
slug: au-revoir-et-merci
featured: false
- id: 66f6ed9576ddacf3149d5eaa
cmsLocaleId: 66f6e966c9e1dc700a857ca4
fieldData:
name: Hasta Luego y Gracias por Todo el Pescado
slug: hasta-luego-y-gracias
featured: false
MultipleItems:
value:
items:
- isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
responses:
'200':
description: Request was successful
content:
application/json:
schema:
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
- isArchived
- isDraft
oneOf:
- title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
- title: Collection Item List
description: Results from collection items list
example:
items:
- id: 62b720ef280c7a7a3be8cabe
lastPublished: '2022-06-30T13:35:20.878Z'
lastUpdated: '2022-06-25T14:51:27.809Z'
createdOn: '2022-06-25T14:51:27.809Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- id: 62c880ef281c7b7b4cf9dabc
lastPublished: '2023-04-15T10:25:18.123Z'
lastUpdated: '2023-04-10T11:45:30.567Z'
createdOn: '2023-04-10T11:45:30.567Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
pagination:
limit: 25
offset: 0
total: 2
properties:
items:
type: array
description: List of Items within the collection
items:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
pagination:
type: object
properties:
limit:
type: integer
default: 100
description: The limit specified in the request
offset:
type: integer
default: 0
description: The offset specified for pagination
total:
type: integer
description: Total number of items in the collection
examples:
LocalizedItems:
value:
items:
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-09-27T17:38:29.066Z'
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca5
isArchived: false
isDraft: false
fieldData:
name: Ne Paniquez Pas
slug: ne-paniquez-pas
featured: false
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-09-27T17:38:29.066Z'
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca4
isArchived: false
isDraft: false
fieldData:
name: No Entrar en Pánico
slug: no-entrar-en-panico
featured: false
- id: 66f6ed9576ddacf3149d5eaa
lastPublished: '2024-09-27T17:38:29.066Z'
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca5
isArchived: false
isDraft: false
fieldData:
name: Au Revoir et Merci pour Tous les Poissons
slug: au-revoir-et-merci
featured: false
- id: 66f6ed9576ddacf3149d5eaa
lastPublished: '2024-09-27T17:38:29.066Z'
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca4
isArchived: false
isDraft: false
fieldData:
name: Hasta Luego y Gracias por Todo el Pescado
slug: hasta-luego-y-gracias
featured: false
pagination:
limit: 25
offset: 0
total: 4
MultipleItems:
value:
items:
- id: 62b720ef280c7a7a3be8cabe
lastPublished: '2022-06-30T13:35:20.878Z'
lastUpdated: '2022-06-25T14:51:27.809Z'
createdOn: '2022-06-25T14:51:27.809Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- id: 62c880ef281c7b7b4cf9dabc
lastPublished: '2023-04-15T10:25:18.123Z'
lastUpdated: '2023-04-10T11:45:30.567Z'
createdOn: '2023-04-10T11:45:30.567Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
pagination:
limit: 25
offset: 0
total: 2
'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: []
delete:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: delete-items
security:
- OAuth2:
- cms:write
operationId: delete-items
summary: Webflow Delete Collection Items
description: |
Delete Items from a Collection.
Items will only be deleted in the primary locale unless a `cmsLocaleId` is included in the request.
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
requestBody:
description: Details of the items to delete
content:
application/json:
schema:
required:
- items
properties:
items:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleIds:
type: array
description: Array of identifiers for the locales where the item will be created
items:
type: string
description: CMS Locale ID
example:
- 653ad57de882f528b32e810e
- 6514390aea353fc691d69827
- 65143930ea353fc691d69cd8
responses:
'204':
description: Request was successful
'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: []
'409':
description: Site is published to multiple domains at different times
x-logErrorCode: 409
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:
message: '''Site is published to multiple domains at different times'
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: []
/collections/{collection_id}/items/live:
get:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: list-items-live
servers:
- url: https://api.webflow.com/v2
x-fern-server-name: Data API
- url: https://api-cdn.webflow.com/v2
x-fern-server-name: Content Delivery API
security:
- OAuth2:
- cms:read
operationId: list-collection-items-live
summary: Webflow List Live Collection Items
description: |
List all published items in a collection.
Serving data to applications in real-time? Use the Content Delivery API at `api-cdn.webflow.com` for better performance. The CDN-backed endpoint is optimized for high-volume reads, while the Data API is designed for writes and management operations.
Required scope | `CMS:read`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: cmsLocaleId
in: query
allowEmptyValue: true
description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.
schema:
type: string
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
- name: name
in: query
allowEmptyValue: true
description: Filter by the exact name of the item(s)
schema:
type: string
- name: slug
in: query
allowEmptyValue: true
description: Filter by the exact slug of the item
schema:
type: string
- name: lastPublished
in: query
allowEmptyValue: true
description: Filter by the last published date of the item(s)
schema:
type: object
properties:
lte:
type: string
format: date-time
example: '2024-04-22T16:00:31.000Z'
description: Filter items last published before this date
gte:
type: string
format: date-time
example: '2024-04-19T16:00:31.000Z'
description: Filter items last published after this date
style: deepObject
explode: true
required: false
- name: sortBy
in: query
allowEmptyValue: true
description: Sort results by the provided value
required: false
schema:
type: string
enum:
- lastPublished
- name
- slug
- name: sortOrder
in: query
allowEmptyValue: true
description: Sorts the results by asc or desc
required: false
schema:
type: string
enum:
- asc
- desc
responses:
'200':
description: Request was successful
content:
application/json:
schema:
title: Collection Item List
description: Results from collection items list
example:
items:
- id: 62b720ef280c7a7a3be8cabe
lastPublished: '2022-06-30T13:35:20.878Z'
lastUpdated: '2022-06-25T14:51:27.809Z'
createdOn: '2022-06-25T14:51:27.809Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- id: 62c880ef281c7b7b4cf9dabc
lastPublished: '2023-04-15T10:25:18.123Z'
lastUpdated: '2023-04-10T11:45:30.567Z'
createdOn: '2023-04-10T11:45:30.567Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
pagination:
limit: 25
offset: 0
total: 2
properties:
items:
type: array
description: List of Items within the collection
items:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
pagination:
type: object
properties:
limit:
type: integer
default: 100
description: The limit specified in the request
offset:
type: integer
default: 0
description: The offset specified for pagination
total:
type: integer
description: Total number of items in the collection
required:
- items
- pagination
'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:
- collections
- items
x-fern-sdk-method-name: create-item-live
security:
- OAuth2:
- cms:write
operationId: create-item-live
summary: Webflow Create Live Collection Item(s)
description: |
Create item(s) in a collection that will be immediately published to the live site.
To create items across multiple locales, [please use this endpoint.](/data/reference/cms/collection-items/staged-items/create-items)
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: skipInvalidFiles
in: query
allowEmptyValue: true
description: When true, invalid files are skipped and processing continues. When false, the entire request fails if any file is invalid.
schema:
type: boolean
default: true
example: true
required: false
requestBody:
description: Details of the item(s) to create
content:
application/json:
schema:
oneOf:
- title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
x-fern-type-name: Single Live Item
- type: object
x-fern-type-name: Multiple Live Items
title: Multiple Live Items
properties:
items:
type: array
description: List of collection items to create
items:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
examples:
SingleItem:
value:
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
MultipleItems:
value:
items:
- isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
responses:
'202':
description: Request was successful
content:
application/json:
schema:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
'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: []
patch:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: update-items-live
security:
- OAuth2:
- cms:write
operationId: update-items-live
summary: Webflow Update Live Collection Items
description: |
Update a single published item or multiple published items (up to 100) in a Collection
Items will only be updated in the primary locale, unless a `cmsLocaleId` is included in the request.
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: skipInvalidFiles
in: query
allowEmptyValue: true
description: When true, invalid files are skipped and processing continues. When false, the entire request fails if any file is invalid.
schema:
type: boolean
default: true
example: true
required: false
requestBody:
description: Details of the live items to update
content:
application/json:
schema:
properties:
items:
type: array
items:
description: |
The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items
required:
- id
properties:
id:
type: string
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
description: Boolean determining if the Item is set to draft
fieldData:
type: object
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
examples:
LocalizedItems:
value:
items:
- id: 66f6ed9576ddacf3149d5ea6
cmsLocaleId: 66f6e966c9e1dc700a857ca5
fieldData:
name: Ne Paniquez Pas
slug: ne-paniquez-pas
featured: false
- id: 66f6ed9576ddacf3149d5ea6
cmsLocaleId: 66f6e966c9e1dc700a857ca4
fieldData:
name: No Entrar en Pánico
slug: no-entrar-en-panico
featured: false
- id: 66f6ed9576ddacf3149d5eaa
cmsLocaleId: 66f6e966c9e1dc700a857ca5
fieldData:
name: Au Revoir et Merci pour Tous les Poissons
slug: au-revoir-et-merci
featured: false
- id: 66f6ed9576ddacf3149d5eaa
cmsLocaleId: 66f6e966c9e1dc700a857ca4
fieldData:
name: Hasta Luego y Gracias por Todo el Pescado
slug: hasta-luego-y-gracias
featured: false
MultipleItems:
value:
items:
- isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
responses:
'200':
description: Request was successful
content:
application/json:
schema:
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
- isArchived
- isDraft
description: Results from collection items list
example:
items:
- id: 62b720ef280c7a7a3be8cabe
lastPublished: '2022-06-30T13:35:20.878Z'
lastUpdated: '2022-06-25T14:51:27.809Z'
createdOn: '2022-06-25T14:51:27.809Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- id: 62c880ef281c7b7b4cf9dabc
lastPublished: '2023-04-15T10:25:18.123Z'
lastUpdated: '2023-04-10T11:45:30.567Z'
createdOn: '2023-04-10T11:45:30.567Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
pagination:
limit: 25
offset: 0
total: 2
properties:
items:
type: array
description: List of Items within the collection
items:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
examples:
LocalizedItems:
summary: Multiple items updated across multiple locales
value:
items:
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-09-27T17:38:29.066Z'
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca5
isArchived: false
isDraft: false
fieldData:
name: Ne Paniquez Pas
slug: ne-paniquez-pas
featured: false
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-09-27T17:38:29.066Z'
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca4
isArchived: false
isDraft: false
fieldData:
name: No Entrar en Pánico
slug: no-entrar-en-panico
featured: false
- id: 66f6ed9576ddacf3149d5eaa
lastPublished: '2024-09-27T17:38:29.066Z'
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca5
isArchived: false
isDraft: false
fieldData:
name: Au Revoir et Merci pour Tous les Poissons
slug: au-revoir-et-merci
featured: false
- id: 66f6ed9576ddacf3149d5eaa
lastPublished: '2024-09-27T17:38:29.066Z'
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca4
isArchived: false
isDraft: false
fieldData:
name: Hasta Luego y Gracias por Todo el Pescado
slug: hasta-luego-y-gracias
featured: false
pagination:
limit: 25
offset: 0
total: 4
MultipleItems:
summary: Multiple items updated in a single locale
value:
items:
- id: 62b720ef280c7a7a3be8cabe
lastPublished: '2022-06-30T13:35:20.878Z'
lastUpdated: '2022-06-25T14:51:27.809Z'
createdOn: '2022-06-25T14:51:27.809Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Senior Data Analyst
slug: senior-data-analyst
url: https://boards.greenhouse.io/webflow/jobs/26567701
department: Data
- id: 62c880ef281c7b7b4cf9dabc
lastPublished: '2023-04-15T10:25:18.123Z'
lastUpdated: '2023-04-10T11:45:30.567Z'
createdOn: '2023-04-10T11:45:30.567Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Product Manager
slug: product-manager
url: https://boards.greenhouse.io/webflow/jobs/31234567
department: Product
pagination:
limit: 25
offset: 0
total: 2
'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: []
'409':
description: Conflict with server data. Item not published
content:
application/json:
schema:
description: Resource conflict
x-logErrorCode: 409
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: conflict
message: 'Conflict: Resource already exists'
externalReference:
details: []
example:
code: conflict
message: 'Conflict: Conflict with server data: Live PATCH updates can''t be applied to items that have never been published'
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: []
delete:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: delete-items-live
security:
- OAuth2:
- cms:write
operationId: delete-items-live
summary: Webflow Unpublish Live Collection Items
description: |
Unpublish up to 100 items from the live site and set the `isDraft` property to `true`.
Items will only be unpublished in the primary locale unless a `cmsLocaleId` is included in the request.
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
requestBody:
description: Details of the live items to delete
content:
application/json:
schema:
required:
- items
properties:
items:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleIds:
type: array
description: Array of identifiers for the locales where the item will be created
items:
type: string
description: CMS Locale ID
example:
- 653ad57de882f528b32e810e
- 6514390aea353fc691d69827
- 65143930ea353fc691d69cd8
responses:
'204':
description: Request was successful
'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: []
/collections/{collection_id}/items/bulk:
post:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: create-items
security:
- OAuth2:
- cms:write
operationId: create-items
summary: Webflow Create Collection Items
description: |
Create an item or multiple items in a CMS Collection across multiple corresponding locales.
- This endpoint can create up to 100 items in a request.
- If the `cmsLocaleIds` parameter is not included in the request, an item will only be created in the primary locale.
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: skipInvalidFiles
in: query
allowEmptyValue: true
description: When true, invalid files are skipped and processing continues. When false, the entire request fails if any file is invalid.
schema:
type: boolean
default: true
example: true
required: false
requestBody:
content:
application/json:
schema:
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- fieldData
properties:
cmsLocaleIds:
type: array
description: Array of identifiers for the locales where the item will be created
items:
type: string
description: CMS Locale ID
example:
- 653ad57de882f528b32e810e
- 6514390aea353fc691d69827
- 65143930ea353fc691d69cd8
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date and time when the item was last published.
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date and time when the item was last updated.
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date and time when the item was created.
isArchived:
type: boolean
default: false
description: Indicates whether the item is archived.
isDraft:
type: boolean
default: true
description: Indicates whether the item is in draft state.
fieldData:
oneOf:
- type: object
x-fern-type-name: Single CMS Item
title: Single CMS Item
additionalProperties: true
properties:
name:
type: string
description: The name of the item.
slug:
type: string
description: |-
URL slug for the item in your site.
Note: Updating the item slug will break all links referencing the old slug.
required:
- name
- slug
- type: array
x-fern-type-name: Multiple CMS Items
title: Multiple CMS Items
description: A list of CMS items to create
items:
type: object
description: A single CMS item to create
additionalProperties: true
properties:
name:
type: string
description: The name of the item.
slug:
type: string
description: |-
URL slug for the item in your site.
Note: Updating the item slug will break all links referencing the old slug.
required:
- name
- slug
examples:
SingleItemMultipleLocales:
summary: Create a single item across multiple locales
value:
cmsLocaleIds:
- 66f6e966c9e1dc700a857ca3
- 66f6e966c9e1dc700a857ca4
- 66f6e966c9e1dc700a857ca5
isArchived: false
isDraft: false
fieldData:
name: Don’t Panic
slug: dont-panic
MultipleItemsMultipleLocales:
summary: Create multiple items across multipel locales
value:
cmsLocaleIds:
- 66f6e966c9e1dc700a857ca3
- 66f6e966c9e1dc700a857ca4
isArchived: false
isDraft: false
fieldData:
- name: Don’t Panic
slug: dont-panic
- name: So Long and Thanks for All the Fish
slug: so-long-and-thanks
examples:
SingleItemMultipleLocales:
summary: Create a single item across multiple locales
value:
cmsLocaleIds:
- 66f6e966c9e1dc700a857ca3
- 66f6e966c9e1dc700a857ca4
- 66f6e966c9e1dc700a857ca5
isArchived: false
isDraft: false
fieldData:
name: Don’t Panic
slug: dont-panic
MultipleItemsMultipleLocales:
summary: Create multiple items across multiple locales
value:
cmsLocaleIds:
- 66f6e966c9e1dc700a857ca3
- 66f6e966c9e1dc700a857ca4
isArchived: false
isDraft: false
fieldData:
- name: Don’t Panic
slug: dont-panic
- name: So Long and Thanks for All the Fish
slug: so-long-and-thanks
responses:
'202':
description: Request was successful
content:
application/json:
schema:
required:
- id
- cmsLocaleIds
- fieldData
- lastPublished
- lastUpdated
- createdOn
- isArchived
- isDraft
description: |
The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items
properties:
id:
type: string
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleIds:
type: array
description: Array of identifiers for the locales where the item will be created
items:
type: string
description: CMS Locale ID
example:
- 653ad57de882f528b32e810e
- 6514390aea353fc691d69827
- 65143930ea353fc691d69cd8
lastPublished:
type: string
format: date-string
nullable: true
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
items:
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-02-28T19:25:39.942Z'
lastUpdated: '2024-02-28T19:25:39.942Z'
createdOn: '2024-02-28T19:25:39.942Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Don't Panic
slug: dont-panic
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-02-28T19:25:39.942Z'
lastUpdated: '2024-02-28T19:25:39.942Z'
createdOn: '2024-02-28T19:25:39.942Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca4
isArchived: false
isDraft: false
fieldData:
name: Don't Panic
slug: dont-panic
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-02-28T19:25:39.942Z'
lastUpdated: '2024-02-28T19:25:39.942Z'
createdOn: '2024-02-28T19:25:39.942Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca5
isArchived: false
isDraft: false
fieldData:
name: Don't Panic
slug: dont-panic
examples:
SingleItemMultipleLocales:
summary: Single item created across multiple locales
value:
items:
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-02-28T19:25:39.942Z'
lastUpdated: '2024-02-28T19:25:39.942Z'
createdOn: '2024-02-28T19:25:39.942Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca3
isArchived: false
isDraft: false
fieldData:
name: Don't Panic
slug: dont-panic
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-02-28T19:25:39.942Z'
lastUpdated: '2024-02-28T19:25:39.942Z'
createdOn: '2024-02-28T19:25:39.942Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca4
isArchived: false
isDraft: false
fieldData:
name: Don't Panic
slug: dont-panic
- id: 66f6ed9576ddacf3149d5ea6
lastPublished: '2024-02-28T19:25:39.942Z'
lastUpdated: '2024-02-28T19:25:39.942Z'
createdOn: '2024-02-28T19:25:39.942Z'
cmsLocaleId: 66f6e966c9e1dc700a857ca5
isArchived: false
isDraft: false
fieldData:
name: Don't Panic
slug: dont-panic
MultipleItemsMultipleLocales:
summary: Multiple items created across multiple locales
value:
items:
- id: 66f6ed9576ddacf3149d5ea6
cmsLocaleId: 66f6e966c9e1dc700a857ca3
lastPublished:
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
isArchived: false
isDraft: false
fieldData:
featured: false
name: Don't Panic
slug: dont-panic
- id: 66f6ed9576ddacf3149d5ea6
cmsLocaleId: 66f6e966c9e1dc700a857ca4
lastPublished:
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
isArchived: false
isDraft: false
fieldData:
featured: false
name: Don't Panic
slug: dont-panic
- id: 66f6ed9576ddacf3149d5ea6
cmsLocaleId: 66f6e966c9e1dc700a857ca5
lastPublished:
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
isArchived: false
isDraft: false
fieldData:
featured: false
name: Don't Panic
slug: dont-panic
- id: 66f6ed9576ddacf3149d5eaa
cmsLocaleId: 66f6e966c9e1dc700a857ca3
lastPublished:
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
isArchived: false
isDraft: false
fieldData:
featured: false
name: So Long and Thanks for All the Fish
slug: so-long-and-thanks
- id: 66f6ed9576ddacf3149d5eaa
cmsLocaleId: 66f6e966c9e1dc700a857ca4
lastPublished:
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
isArchived: false
isDraft: false
fieldData:
featured: false
name: So Long and Thanks for All the Fish
slug: so-long-and-thanks
- id: 66f6ed9576ddacf3149d5eaa
cmsLocaleId: 66f6e966c9e1dc700a857ca5
lastPublished:
lastUpdated: '2024-09-27T17:38:29.066Z'
createdOn: '2024-09-27T17:38:29.066Z'
isArchived: false
isDraft: false
fieldData:
featured: false
name: So Long and Thanks for All the Fish
slug: so-long-and-thanks
'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: []
/collections/{collection_id}/items/{item_id}:
get:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: get-item
security:
- OAuth2:
- cms:read
operationId: Get-Item
summary: Webflow Get Collection Item
description: |
Get details of a selected Collection Item.
Required scope | `CMS:read`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: item_id
in: path
description: Unique identifier for an Item
example: 580e64008c9a982ac9b8b754
required: true
schema:
type: string
format: objectid
- name: cmsLocaleId
in: query
allowEmptyValue: true
description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.
schema:
type: string
responses:
'200':
description: Request was successful
content:
application/json:
schema:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
'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: []
patch:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: update-item
security:
- OAuth2:
- cms:write
operationId: update-item
summary: Webflow Update Collection Item
description: |
Update a selected Item in a Collection.
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: item_id
in: path
description: Unique identifier for an Item
example: 580e64008c9a982ac9b8b754
required: true
schema:
type: string
format: objectid
- name: skipInvalidFiles
in: query
allowEmptyValue: true
description: When true, invalid files are skipped and processing continues. When false, the entire request fails if any file is invalid.
schema:
type: boolean
default: true
example: true
required: false
requestBody:
description: Details of the item to update
content:
application/json:
schema:
description: |
The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
description: Boolean determining if the Item is set to draft
fieldData:
type: object
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
responses:
'200':
description: Request was successful
content:
application/json:
schema:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
'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: []
delete:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: delete-item
security:
- OAuth2:
- cms:write
operationId: delete-item
summary: Webflow Delete Collection Item
description: |
Delete an item from a collection.
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: item_id
in: path
description: Unique identifier for an Item
example: 580e64008c9a982ac9b8b754
required: true
schema:
type: string
format: objectid
- name: cmsLocaleId
in: query
allowEmptyValue: true
description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.
schema:
type: string
responses:
'204':
description: Request was successful
'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: []
/collections/{collection_id}/items/{item_id}/live:
get:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: get-item-live
servers:
- url: https://api.webflow.com/v2
x-fern-server-name: Data API
- url: https://api-cdn.webflow.com/v2
x-fern-server-name: Content Delivery API
security:
- OAuth2:
- cms:read
operationId: get-item-live
summary: Webflow Get Live Collection Item
description: |
Get details of a selected Collection live Item.
Serving data to applications in real-time? Use the Content Delivery API at `api-cdn.webflow.com` for better performance. The CDN-backed endpoint is optimized for high-volume reads, while the Data API is designed for writes and management operations.
Required scope | `CMS:read`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: item_id
in: path
description: Unique identifier for an Item
example: 580e64008c9a982ac9b8b754
required: true
schema:
type: string
format: objectid
- name: cmsLocaleId
in: query
allowEmptyValue: true
description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.
schema:
type: string
responses:
'200':
description: Request was successful
content:
application/json:
schema:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
'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: []
patch:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: update-item-live
security:
- OAuth2:
- cms:write
operationId: update-item-live
summary: Webflow Update Live Collection Item
description: |
Update a selected live Item in a Collection. The updates for this Item will be published to the live site.
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: item_id
in: path
description: Unique identifier for an Item
example: 580e64008c9a982ac9b8b754
required: true
schema:
type: string
format: objectid
- name: skipInvalidFiles
in: query
allowEmptyValue: true
description: When true, invalid files are skipped and processing continues. When false, the entire request fails if any file is invalid.
schema:
type: boolean
default: true
example: true
required: false
requestBody:
description: Details of the item to update
content:
application/json:
schema:
description: |
The fields that define the schema for a given Item are based on the Collection that Item belongs to. Beyond the user defined fields, there are a handful of additional fields that are automatically created for all items
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
description: Boolean determining if the Item is set to draft
fieldData:
type: object
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
responses:
'200':
description: Request was successful
content:
application/json:
schema:
title: Collection Item
description: |
A Collection Item represents a single entry in your collection. Each item includes:
- **System metadata** - Automatically managed fields like IDs and timestamp
- **Status flags** - Controls for managing content state: `isDraft`, `isArchived `
- **Content fields** - Stored in `fieldData`. Each item needs a `name` and `slug`, and may include additional fields matching your collection's schema definition.
required:
- id
- fieldData
- lastPublished
- lastUpdated
- createdOn
properties:
id:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the Item
cmsLocaleId:
type: string
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last published
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
isArchived:
type: boolean
default: false
description: Boolean determining if the Item is set to archived
isDraft:
type: boolean
default: false
description: Boolean determining if the Item is set to draft
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
description: Name of the Item
slug:
type: string
description: 'URL structure of the Item in your site. Note: Updates to an item slug will break all links referencing the old slug.'
additionalProperties: true
example:
date: '2022-11-18T00:00:00.000Z'
featured: false
name: My new item
slug: my-new-item
color: '#db4b68'
example:
id: 42b720ef280c7a7a3be8cabe
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2022-11-29T16:22:43.159Z'
lastUpdated: '2022-11-17T17:19:43.282Z'
createdOn: '2022-11-17T17:11:57.148Z'
isArchived: false
isDraft: false
fieldData:
name: The Hitchhiker's Guide to the Galaxy
slug: hitchhikers-guide-to-the-galaxy
plain-text: Don't Panic.
rich-text: A Guide to Interstellar Travel
A towel is about the most massively useful thing an interstellar hitchhiker can have. Don't forget yours!
main-image:
fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
image-gallery:
- fileId: 62b720ef280c7a7a3be8cabd
url: /files/62b720ef280c7a7a3be8cabd_image.png
- fileId: 62b720ef280c7a7a3be8cabe
url: /files/62b720ef280c7a7a3be8cabe_image.png
intro-video: https://www.youtube.com/watch?v=aJ83KAggd-4
official-site: https://hitchhikers.fandom.com/wiki/The_Hitchhiker%27s_Guide_to_the_Galaxy
contact-email: zaphod.beeblebrox@heartofgold.gov
support-phone: 424-242-4242
answer-to-everything: 42
release-date: '1979-10-12T00:00:00.000Z'
is-featured: true
brand-color: '#000000'
category: 62b720ef280c7a7a3be8cabf
author: 62b720ef280c7a7a3be8cab0
tags:
- 62b720ef280c7a7a3be8cab1
- 62b720ef280c7a7a3be8cab2
downloadable-asset:
fileId: 62b720ef280c7a7a3be8cab3
url: /files/62b720ef280c7a7a3be8cab3_document.pdf
'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: []
'409':
description: Conflict with server data. Item not published
content:
application/json:
schema:
description: Resource conflict
x-logErrorCode: 409
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: conflict
message: 'Conflict: Resource already exists'
externalReference:
details: []
example:
code: conflict
message: 'Conflict: Conflict with server data: Live PATCH updates can''t be applied to items that have never been published'
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: []
delete:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: delete-item-live
security:
- OAuth2:
- cms:write
operationId: delete-item-live
summary: Webflow Unpublish Live Collection Item
description: |
Unpublish a live item from the site and set the `isDraft` property to `true`.
For bulk unpublishing, please use [this endpoint.](/data/v2.0.0/reference/cms/collection-items/live-items/delete-items-live)
Required scope | `CMS:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: item_id
in: path
description: Unique identifier for an Item
example: 580e64008c9a982ac9b8b754
required: true
schema:
type: string
format: objectid
- name: cmsLocaleId
in: query
allowEmptyValue: true
description: Unique identifier for a CMS Locale. This UID is different from the Site locale identifier and is listed as `cmsLocaleId` in the Sites response. To query multiple locales, input a comma separated string.
schema:
type: string
responses:
'204':
description: Request was successful
'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: []
/collections/{collection_id}/items/publish:
post:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: publish-item
security:
- OAuth2:
- cms:write
operationId: publish-item
summary: Webflow Publish Collection Item
description: |
Publish an item or multiple items.
Required scope | `cms:write`
tags:
- Collections
- Items
- Sites
parameters:
- name: collection_id
in: path
description: Unique identifier for a Collection
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
requestBody:
description: An array of Item IDs
content:
application/json:
schema:
oneOf:
- type: object
x-fern-type-name: Item IDs
title: Item IDs
description: An array of Item IDs in a single locale
properties:
itemIds:
type: array
items:
type: string
format: objectid
example:
itemIds:
- 643fd856d66b6528195ee2ca
- 643fd856d66b6528195ee2cb
- 643fd856d66b6528195ee2cc
- type: object
x-fern-type-name: Item IDs with Locales
title: Item IDs with Locales
description: An array of Item IDs with included `cmsLocaleIds`
properties:
items:
type: array
items:
type: object
required:
- id
properties:
id:
description: The ID of the CMS item
type: string
format: objectid
example: 643fd856d66b6528195ee2ca
cmsLocaleIds:
type: array
description: Array of identifiers for the locales where the item will be published
items:
type: string
description: CMS Locale ID
example:
- 653ad57de882f528b32e810e
- 6514390aea353fc691d69827
- 65143930ea353fc691d69cd8
example:
value:
items:
- id: 643fd856d66b6528195ee2ca
cmsLocaleIds:
- 653ad57de882f528b32e810e
- 6514390aea353fc691d69827
- 65143930ea353fc691d69cd8
- id: 643fd856d66b6528195ee2cb
cmsLocaleIds:
- 653ad57de882f528b32e810e
examples:
PrimaryLocale:
value:
itemIds:
- 643fd856d66b6528195ee2ca
- 643fd856d66b6528195ee2cb
- 643fd856d66b6528195ee2cc
SecondaryLocale:
value:
items:
- id: 643fd856d66b6528195ee2ca
cmsLocaleIds:
- 653ad57de882f528b32e810e
- id: 643fd856d66b6528195ee2cb
cmsLocaleIds:
- 653ad57de882f528b32e810e
- id: 643fd856d66b6528195ee2cc
cmsLocaleIds:
- 653ad57de882f528b32e810e
MultipleLocales:
value:
items:
- id: 643fd856d66b6528195ee2ca
cmsLocaleIds:
- 653ad57de882f528b32e810e
- 6514390aea353fc691d69827
- 65143930ea353fc691d69cd8
responses:
'202':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
publishedItemIds:
type: array
items:
type: string
errors:
type: array
items:
type: string
example:
publishedItemIds:
- 643fd856d66b6528195ee2ca
- 643fd856d66b6528195ee2cb
errors:
- Staging item ID 643fd856d66b6528195ee2cf not found.
'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: []
'409':
description: Site is published to multiple domains at different times
x-logErrorCode: 409
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:
message: '''Site is published to multiple domains at different times'
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}/comments:
get:
x-fern-sdk-group-name:
- sites
- comments
x-fern-sdk-method-name: list-comment-threads
security:
- OAuth2:
- comments:read
operationId: list-comment-threads
summary: Webflow List Comment Threads
description: |
List all comment threads for a site.
There may be a delay of up to 5 minutes before new comments appear in the system.
Required scope | `comments:read`
tags:
- Comments
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
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
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
- name: sortBy
in: query
allowEmptyValue: true
description: Sort results by the provided value. Only allowed when sortOrder is provided.
required: false
schema:
type: string
enum:
- createdOn
- lastUpdated
- name: sortOrder
in: query
allowEmptyValue: true
description: Sorts the results by asc or desc
required: false
schema:
type: string
enum:
- asc
- desc
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: |
A list of comment threads on the site. Contains the content of the first reply.
required:
- comments
- pagination
properties:
comments:
type: array
items:
description: |
A comment thread represents a conversation between users on a specific page. Each comment thread has a unique identifier and can contain multiple comments. Retrieve comment replies using the replies API endpoint.
type: object
required:
- id
- siteId
- pageId
- localeId
- itemId
- breakpoint
- url
- content
- isResolved
- author
- mentionedUsers
- createdOn
- lastUpdated
properties:
id:
type: string
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the comment thread
siteId:
type: string
example: 580e64008c9a982ac9b8b754
description: The site unique identifier
pageId:
type: string
example: 580e64008c9a982ac9b8b754
description: The page unique identifier
localeId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The locale unique identifier
nullable: true
itemId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The item unique identifier
nullable: true
breakpoint:
type: string
example: main
description: The breakpoint the comment was left on
url:
type: string
example: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ff8&pageId=679826b3b20b045e176bc4bc
description: The URL of the page the comment was left on
content:
type: string
example: This is a comment reply
description: The content of the comment reply
isResolved:
type: boolean
default: false
description: Boolean determining if the comment thread is resolved
author:
type: object
required:
- userId
- email
- name
properties:
userId:
type: string
description: The unique identifier of the author
email:
type: string
description: Email of the author
name:
type: string
description: Name of the author
example:
id: 6287ec36a841b25637c663df
email: email
name: name
mentionedUsers:
type: array
description: List of mentioned users. This is an empty array until email notifications are sent, which can take up to 5 minutes after the comment is created.
items:
type: object
required:
- userId
- email
- name
properties:
userId:
type: string
description: The unique identifier of the mentioned user
email:
type: string
description: Email of the user
name:
type: string
description: Name of the User
example:
userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn:
type: string
format: date-string
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
lastUpdated:
type: string
format: date-string
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
example:
value:
id: 679d2ddb5196117ad04d1ffa
siteId: 679826b3b20b045e176bc4b5
pageId: 679826b3b20b045e176bc4bc
localeId: 67993753d910db250db64b3e
itemId:
breakpoint: main
url: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ff8&pageId=679826b3b20b045e176bc4bc
content: 'This comment mentions another user [[6287ec36a841b25637c663df]] '
isResolved: false
author:
userId: 6287ec36a841b25637c663df
email: ford.prefect@heartofgold.spaceship
name: Ford Prefect
mentionedUsers:
- userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn: '2025-01-31T20:08:59.759Z'
lastUpdated: '2025-01-31T20:08:59.759Z'
pagination:
type: object
required:
- limit
- offset
- total
properties:
limit:
type: integer
default: 100
description: The limit specified in the request (default 100)
offset:
type: integer
default: 0
description: The offset specified for pagination
total:
type: integer
description: Total number of comment threads
example:
comments:
- id: 679d2ddb5196117ad04d1ffa
siteId: 679826b3b20b045e176bc4b5
pageId: 679826b3b20b045e176bc4bc
localeId: 67993753d910db250db64b3e
itemId:
breakpoint: main
url: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ff8&pageId=679826b3b20b045e176bc4bc
content: 'Let''s go to the pub! [[6287ec36a841b25637c663df]] '
isResolved: false
author:
userId: 6287ec36a841b25637c663df
email: ford.prefect@heartofgold.spaceship
name: Ford Prefect
mentionedUsers:
- userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn: '2025-01-31T20:08:59.759Z'
lastUpdated: '2025-01-31T20:08:59.759Z'
- id: 679d2ddb5196117ad04d1ffc
siteId: 679826b3b20b045e176bc4b5
pageId: 679826b3b20b045e176bc4bc
localeId: 67993753d910db250db64b3e
itemId:
breakpoint: main
url: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ff8&pageId=679826b3b20b045e176bc4bc
content: 'You have five minutes left to drink it [[6287ec36a841b25637c663df]] '
isResolved: false
author:
userId: 6287ec36a841b25637c663df
email: ford.prefect@heartofgold.spaceship
name: Ford Prefect
mentionedUsers:
- userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn: '2025-01-31T20:08:59.759Z'
lastUpdated: '2025-01-31T20:08:59.759Z'
pagination:
limit: 2
offset: 0
total: 2
'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}/comments/{comment_thread_id}:
get:
x-fern-sdk-group-name:
- sites
- comments
x-fern-sdk-method-name: get-comment-thread
security:
- OAuth2:
- comments:read
operationId: get-comment-thread
summary: Webflow Get Comment Thread
description: |
Get details of a specific comment thread.
There may be a delay of up to 5 minutes before new comments appear in the system.
Required scope | `comments:read`
tags:
- Comments
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: comment_thread_id
in: path
description: Unique identifier for a Comment Thread
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
- 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
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
- name: sortBy
in: query
allowEmptyValue: true
description: Sort results by the provided value. Only allowed when sortOrder is provided.
required: false
schema:
type: string
enum:
- createdOn
- lastUpdated
- name: sortOrder
in: query
allowEmptyValue: true
description: Sorts the results by asc or desc
required: false
schema:
type: string
enum:
- asc
- desc
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: |
A comment thread represents a conversation between users on a specific page. Each comment thread has a unique identifier and can contain multiple comments. Retrieve comment replies using the replies API endpoint.
type: object
required:
- id
- siteId
- pageId
- localeId
- itemId
- breakpoint
- url
- content
- isResolved
- author
- mentionedUsers
- createdOn
- lastUpdated
properties:
id:
type: string
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the comment thread
siteId:
type: string
example: 580e64008c9a982ac9b8b754
description: The site unique identifier
pageId:
type: string
example: 580e64008c9a982ac9b8b754
description: The page unique identifier
localeId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The locale unique identifier
nullable: true
itemId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The item unique identifier
nullable: true
breakpoint:
type: string
example: main
description: The breakpoint the comment was left on
url:
type: string
example: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ff8&pageId=679826b3b20b045e176bc4bc
description: The URL of the page the comment was left on
content:
type: string
example: This is a comment reply
description: The content of the comment reply
isResolved:
type: boolean
default: false
description: Boolean determining if the comment thread is resolved
author:
type: object
required:
- userId
- email
- name
properties:
userId:
type: string
description: The unique identifier of the author
email:
type: string
description: Email of the author
name:
type: string
description: Name of the author
example:
id: 6287ec36a841b25637c663df
email: email
name: name
mentionedUsers:
type: array
description: List of mentioned users. This is an empty array until email notifications are sent, which can take up to 5 minutes after the comment is created.
items:
type: object
required:
- userId
- email
- name
properties:
userId:
type: string
description: The unique identifier of the mentioned user
email:
type: string
description: Email of the user
name:
type: string
description: Name of the User
example:
userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn:
type: string
format: date-string
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
lastUpdated:
type: string
format: date-string
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
example:
value:
id: 679d2ddb5196117ad04d1ffa
siteId: 679826b3b20b045e176bc4b5
pageId: 679826b3b20b045e176bc4bc
localeId: 67993753d910db250db64b3e
itemId:
breakpoint: main
url: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ff8&pageId=679826b3b20b045e176bc4bc
content: 'This comment mentions another user [[6287ec36a841b25637c663df]] '
isResolved: false
author:
userId: 6287ec36a841b25637c663df
email: ford.prefect@heartofgold.spaceship
name: Ford Prefect
mentionedUsers:
- userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn: '2025-01-31T20:08:59.759Z'
lastUpdated: '2025-01-31T20:08:59.759Z'
'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}/comments/{comment_thread_id}/replies:
get:
x-fern-sdk-group-name:
- sites
- comments
x-fern-sdk-method-name: list-comment-replies
security:
- OAuth2:
- comments:read
operationId: list-comment-replies
summary: Webflow List Comment Replies
description: |
List all replies to a specific comment thread.
There may be a delay of up to 5 minutes before new comments appear in the system.
Required scope | `comments:read`
tags:
- Comments
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: comment_thread_id
in: path
description: Unique identifier for a Comment Thread
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
- 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
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
- name: sortBy
in: query
allowEmptyValue: true
description: Sort results by the provided value. Only allowed when sortOrder is provided.
required: false
schema:
type: string
enum:
- createdOn
- lastUpdated
- name: sortOrder
in: query
allowEmptyValue: true
description: Sorts the results by asc or desc
required: false
schema:
type: string
enum:
- asc
- desc
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: |
A list of comment replies.
required:
- comments
- pagination
properties:
comments:
type: array
items:
description: |
A comment thread represents a conversation between users on a specific page. Each comment thread has a unique identifier and can contain multiple comments.
type: object
required:
- id
- commentId
- siteId
- pageId
- breakpoint
- content
- isResolved
- author
- lastUpdated
- createdOn
properties:
id:
type: string
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the comment thread
commentId:
type: string
example: 679d2ddb5196117ad04d1ff8
description: The comment reply unique identifier
siteId:
type: string
example: 580e64008c9a982ac9b8b754
description: The site unique identifier
pageId:
type: string
example: 580e64008c9a982ac9b8b754
description: The page unique identifier
localeId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The locale unique identifier
breakpoint:
type: string
example: main
description: The breakpoint the comment was left on
content:
type: string
example: This is a comment reply
description: The content of the comment reply
isResolved:
type: boolean
default: false
description: Boolean determining if the comment thread is resolved
author:
type: object
required:
- id
- email
- name
properties:
id:
type: string
description: The unique identifier of the author
email:
type: string
description: Email of the author
name:
type: string
description: Name of the author
example:
id: 6287ec36a841b25637c663df
email: email
name: name
mentionedUsers:
type: array
description: List of mentioned users is an empty array until email notifications are sent.
items:
type: object
required:
- id
- email
- name
properties:
id:
type: string
description: The unique identifier of the mentioned user
email:
type: string
description: Email of the user
name:
type: string
description: Name of the User
example:
id: 6287ec36a841b25637c663df
email: arthur.dent@example.com
name: Arthur Dent
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
pagination:
type: object
required:
- limit
- offset
- total
properties:
limit:
type: integer
default: 100
description: The limit specified in the request (default 100)
offset:
type: integer
default: 0
description: The offset specified for pagination
total:
type: integer
description: Total number of comment replies
example:
comments:
- id: 679d2ddb5196117ad04d1ffa
commentId: 679d2ddb5196117ad04d1ff8
siteId: 679826b3b20b045e176bc4b5
pageId: 679826b3b20b045e176bc4bc
localeId: 67993753d910db250db64b3e
itemId:
breakpoint: main
url: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ff8&pageId=679826b3b20b045e176bc4bc
content: 'This comment mentions another user [[6287ec36a841b25637c663df]] '
isResolved: false
author:
userId: 6287ec36a841b25637c663df
email: email
name: name
mentionedUsers:
- userId: 6287ec36a841b25637c663df
email: arthur.dent@example.com
name: Arthur Dent
createdOn: '2025-01-31T20:08:59.759Z'
lastUpdated: '2025-01-31T20:08:59.759Z'
pagination:
limit: 2
offset: 0
total: 1
'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}/pages:
get:
x-fern-sdk-group-name: pages
x-fern-sdk-method-name: list
security:
- OAuth2:
- page:read
operationId: list-pages
summary: Webflow List Pages
description: |
List of all pages for a site.
Required scope | `pages:read`
tags:
- Pages
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
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
- 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 Page object
type: object
example:
pages:
- id: 6596da6045e56dee495bcbba
siteId: 6258612d1ee792848f805dcf
parentId:
collectionId:
title: Guide to the Galaxy
slug: guide-to-the-galaxy
createdOn: '2024-03-11T10:42:00.000Z'
lastUpdated: '2024-03-11T10:42:42.000Z'
archived: false
draft: false
canBranch: false
isBranch: true
branchId: 68026fa68ef6dc744c75b833
seo:
title: The Ultimate Hitchhiker's Guide to the Galaxy
description: Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.
openGraph:
title: Explore the Cosmos with The Ultimate Guide
titleCopied: false
description: Dive deep into the mysteries of the universe with your guide to everything galactic.
descriptionCopied: false
localeId: 653fd9af6a07fc9cfd7a5e57
publishedPath: /en-us/guide-to-the-galaxy
- id: 6596da6045e56dee495bcbad
siteId: 6258612d1ee792848f805dcf
parentId:
collectionId:
title: Towel Day Celebrations
slug: towel-day
createdOn: '2024-05-25T09:00:00.000Z'
lastUpdated: '2024-05-25T09:42:00.000Z'
archived: false
draft: false
canBranch: true
isBranch: false
branchId:
seo:
title: Celebrate Towel Day - The Hitchhiker's Guide to the Galaxy
description: A guide to celebrating Towel Day, in honor of the most massively useful thing an interstellar hitchhiker can have.
openGraph:
title: Towel Day - Don't Panic
titleCopied: false
description: Join the galaxy in celebrating Towel Day, the day dedicated to carrying towels everywhere in memory of Douglas Adams.
descriptionCopied: false
localeId: 653fd9af6a07fc9cfd7a5e57
publishedPath: /en-us/towel-day
pagination:
limit: 20
offset: 0
total: 2
properties:
pages:
type: array
items:
description: The Page object
type: object
required:
- id
example:
id: 6596da6045e56dee495bcbba
siteId: 6258612d1ee792848f805dcf
parentId:
collectionId:
title: Guide to the Galaxy
slug: guide-to-the-galaxy
createdOn: '2024-03-11T10:42:00.000Z'
lastUpdated: '2024-03-11T10:42:42.000Z'
archived: false
draft: false
canBranch: false
isBranch: true
branchId: 68026fa68ef6dc744c75b833
seo:
title: The Ultimate Hitchhiker's Guide to the Galaxy
description: Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.
openGraph:
title: Explore the Cosmos with The Ultimate Guide
titleCopied: false
description: Dive deep into the mysteries of the universe with your guide to everything galactic.
descriptionCopied: false
localeId: 653fd9af6a07fc9cfd7a5e57
publishedPath: /en-us/guide-to-the-galaxy
properties:
id:
type: string
format: objectid
description: Unique identifier for the Page
example: 63499e4e6e9ed5abbfe42b69
siteId:
type: string
format: objectid
readOnly: true
description: Unique identifier for the Site
example: 580e63e98c9a982ac9b8b741
title:
type: string
description: Title of the Page
example: My New Page
slug:
type: string
description: slug of the Page (derived from title)
example: my-new-page
parentId:
type: string
format: objectid
description: Identifier of the parent folder
readOnly: true
example: 6419db964a9c435aa3af6251
collectionId:
type: string
format: objectid
readOnly: true
description: Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.
example: 6390c49774a71f12831a08e3
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Page was created
example: '2016-10-24T19:42:38.929Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Page was most recently updated
example: '2016-10-24T19:42:38.929Z'
archived:
type: boolean
description: Whether the Page has been archived
default: false
example: false
readOnly: true
draft:
type: boolean
description: Whether the Page is a draft
default: false
example: false
readOnly: true
canBranch:
type: boolean
description: Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching). Pages that are already branches cannot be branched again.
readOnly: true
default: false
example: false
isBranch:
type: boolean
description: Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching)
readOnly: true
default: false
example: false
branchId:
type: string
format: objectid
nullable: true
description: If the Page is a Branch of another Page, this is the ID of the Branch
example: 68026fa68ef6dc744c75b833
seo:
type: object
description: SEO-related fields for the Page
properties:
title:
type: string
description: The Page title shown in search engine results
example: CoffeeStyle eCommerce - Webflow HTML website template
description:
type: string
description: The Page description shown in search engine results
example: This Webflow template offers a quick start into an ecommerce / memberships site
openGraph:
type: object
description: Open Graph fields for the Page
properties:
title:
type: string
description: The title supplied to Open Graph annotations
example: My snazzy Open Graph title
titleCopied:
type: boolean
description: Indicates the Open Graph title was copied from the SEO title
readOnly: true
default: true
description:
type: string
description: The description supplied to Open Graph annotations
example: My informative Open Graph description
descriptionCopied:
type: boolean
description: Indicates the Open Graph description was copied from the SEO description
readOnly: true
default: true
localeId:
description: Unique ID of the page locale
type: string
format: objectid
nullable: true
readOnly: true
example: 653fd9af6a07fc9cfd7a5e57
publishedPath:
description: Relative path of the published page URL
type: string
readOnly: true
example: /heart-of-gold
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: []
/pages/{page_id}:
get:
x-fern-sdk-group-name: pages
x-fern-sdk-method-name: get-metadata
security:
- OAuth2:
- page:read
operationId: get-page-metadata
summary: Webflow Get Page Metadata
description: |
Get metadata information for a single page.
Required scope | `pages:read`
tags:
- Pages
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
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
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: The Page object
type: object
required:
- id
example:
id: 6596da6045e56dee495bcbba
siteId: 6258612d1ee792848f805dcf
parentId:
collectionId:
title: Guide to the Galaxy
slug: guide-to-the-galaxy
createdOn: '2024-03-11T10:42:00.000Z'
lastUpdated: '2024-03-11T10:42:42.000Z'
archived: false
draft: false
canBranch: false
isBranch: true
branchId: 68026fa68ef6dc744c75b833
seo:
title: The Ultimate Hitchhiker's Guide to the Galaxy
description: Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.
openGraph:
title: Explore the Cosmos with The Ultimate Guide
titleCopied: false
description: Dive deep into the mysteries of the universe with your guide to everything galactic.
descriptionCopied: false
localeId: 653fd9af6a07fc9cfd7a5e57
publishedPath: /en-us/guide-to-the-galaxy
properties:
id:
type: string
format: objectid
description: Unique identifier for the Page
example: 63499e4e6e9ed5abbfe42b69
siteId:
type: string
format: objectid
readOnly: true
description: Unique identifier for the Site
example: 580e63e98c9a982ac9b8b741
title:
type: string
description: Title of the Page
example: My New Page
slug:
type: string
description: slug of the Page (derived from title)
example: my-new-page
parentId:
type: string
format: objectid
description: Identifier of the parent folder
readOnly: true
example: 6419db964a9c435aa3af6251
collectionId:
type: string
format: objectid
readOnly: true
description: Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.
example: 6390c49774a71f12831a08e3
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Page was created
example: '2016-10-24T19:42:38.929Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Page was most recently updated
example: '2016-10-24T19:42:38.929Z'
archived:
type: boolean
description: Whether the Page has been archived
default: false
example: false
readOnly: true
draft:
type: boolean
description: Whether the Page is a draft
default: false
example: false
readOnly: true
canBranch:
type: boolean
description: Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching). Pages that are already branches cannot be branched again.
readOnly: true
default: false
example: false
isBranch:
type: boolean
description: Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching)
readOnly: true
default: false
example: false
branchId:
type: string
format: objectid
nullable: true
description: If the Page is a Branch of another Page, this is the ID of the Branch
example: 68026fa68ef6dc744c75b833
seo:
type: object
description: SEO-related fields for the Page
properties:
title:
type: string
description: The Page title shown in search engine results
example: CoffeeStyle eCommerce - Webflow HTML website template
description:
type: string
description: The Page description shown in search engine results
example: This Webflow template offers a quick start into an ecommerce / memberships site
openGraph:
type: object
description: Open Graph fields for the Page
properties:
title:
type: string
description: The title supplied to Open Graph annotations
example: My snazzy Open Graph title
titleCopied:
type: boolean
description: Indicates the Open Graph title was copied from the SEO title
readOnly: true
default: true
description:
type: string
description: The description supplied to Open Graph annotations
example: My informative Open Graph description
descriptionCopied:
type: boolean
description: Indicates the Open Graph description was copied from the SEO description
readOnly: true
default: true
localeId:
description: Unique ID of the page locale
type: string
format: objectid
nullable: true
readOnly: true
example: 653fd9af6a07fc9cfd7a5e57
publishedPath:
description: Relative path of the published page URL
type: string
readOnly: true
example: /heart-of-gold
'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: []
put:
security:
- OAuth2:
- page:write
description: |
Update Page-level metadata, including SEO and Open Graph fields.
Required scope | `pages:write`
summary: Webflow Update Page Metadata
operationId: update-page-settings
tags:
- Pages
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
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
requestBody:
content:
application/json:
schema:
description: The values to update on the Page
type: object
example:
title: Guide to the Galaxy
slug: guide-to-the-galaxy
seo:
title: The Ultimate Hitchhiker's Guide to the Galaxy
description: Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.
openGraph:
title: Explore the Cosmos with The Ultimate Guide
titleCopied: false
description: Dive deep into the mysteries of the universe with your guide to everything galactic.
descriptionCopied: false
properties:
title:
type: string
description: Title for the page
example: My New Page
slug:
type: string
description: |
Slug for the page.
**Note:** Updating slugs in secondary locales is only supported in Advanced and Enterprise localization add-on plans.
example: my-new-page
seo:
type: object
description: SEO-related fields for the Page
properties:
title:
type: string
description: The Page title shown in search engine results
example: CoffeeStyle eCommerce - Webflow HTML website template
description:
type: string
description: The Page description shown in search engine results
example: This Webflow template offers a quick start into an ecommerce / memberships site
openGraph:
type: object
description: Open Graph fields for the Page
properties:
title:
type: string
description: The title supplied to Open Graph annotations
example: My snazzy Open Graph title
titleCopied:
type: boolean
description: Indicates the Open Graph title was copied from the SEO title
description:
type: string
description: The description supplied to Open Graph annotations
example: My informative Open Graph description
descriptionCopied:
type: boolean
description: Indicates the Open Graph description was copied from the SEO description
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: The Page object
type: object
required:
- id
example:
id: 6596da6045e56dee495bcbba
siteId: 6258612d1ee792848f805dcf
parentId:
collectionId:
title: Guide to the Galaxy
slug: guide-to-the-galaxy
createdOn: '2024-03-11T10:42:00.000Z'
lastUpdated: '2024-03-11T10:42:42.000Z'
archived: false
draft: false
canBranch: false
isBranch: true
branchId: 68026fa68ef6dc744c75b833
seo:
title: The Ultimate Hitchhiker's Guide to the Galaxy
description: Everything you need to know about the galaxy, from avoiding Vogon poetry to the importance of towels.
openGraph:
title: Explore the Cosmos with The Ultimate Guide
titleCopied: false
description: Dive deep into the mysteries of the universe with your guide to everything galactic.
descriptionCopied: false
localeId: 653fd9af6a07fc9cfd7a5e57
publishedPath: /en-us/guide-to-the-galaxy
properties:
id:
type: string
format: objectid
description: Unique identifier for the Page
example: 63499e4e6e9ed5abbfe42b69
siteId:
type: string
format: objectid
readOnly: true
description: Unique identifier for the Site
example: 580e63e98c9a982ac9b8b741
title:
type: string
description: Title of the Page
example: My New Page
slug:
type: string
description: slug of the Page (derived from title)
example: my-new-page
parentId:
type: string
format: objectid
description: Identifier of the parent folder
readOnly: true
example: 6419db964a9c435aa3af6251
collectionId:
type: string
format: objectid
readOnly: true
description: Unique identifier for a linked Collection, value will be null if the Page is not part of a Collection.
example: 6390c49774a71f12831a08e3
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Page was created
example: '2016-10-24T19:42:38.929Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Page was most recently updated
example: '2016-10-24T19:42:38.929Z'
archived:
type: boolean
description: Whether the Page has been archived
default: false
example: false
readOnly: true
draft:
type: boolean
description: Whether the Page is a draft
default: false
example: false
readOnly: true
canBranch:
type: boolean
description: Indicates whether the Page supports [Page Branching](https://university.webflow.com/lesson/page-branching). Pages that are already branches cannot be branched again.
readOnly: true
default: false
example: false
isBranch:
type: boolean
description: Indicates whether the Page is a Branch of another Page [Page Branching](https://university.webflow.com/lesson/page-branching)
readOnly: true
default: false
example: false
branchId:
type: string
format: objectid
nullable: true
description: If the Page is a Branch of another Page, this is the ID of the Branch
example: 68026fa68ef6dc744c75b833
seo:
type: object
description: SEO-related fields for the Page
properties:
title:
type: string
description: The Page title shown in search engine results
example: CoffeeStyle eCommerce - Webflow HTML website template
description:
type: string
description: The Page description shown in search engine results
example: This Webflow template offers a quick start into an ecommerce / memberships site
openGraph:
type: object
description: Open Graph fields for the Page
properties:
title:
type: string
description: The title supplied to Open Graph annotations
example: My snazzy Open Graph title
titleCopied:
type: boolean
description: Indicates the Open Graph title was copied from the SEO title
readOnly: true
default: true
description:
type: string
description: The description supplied to Open Graph annotations
example: My informative Open Graph description
descriptionCopied:
type: boolean
description: Indicates the Open Graph description was copied from the SEO description
readOnly: true
default: true
localeId:
description: Unique ID of the page locale
type: string
format: objectid
nullable: true
readOnly: true
example: 653fd9af6a07fc9cfd7a5e57
publishedPath:
description: Relative path of the published page URL
type: string
readOnly: true
example: /heart-of-gold
'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: []
/pages/{page_id}/dom:
get:
x-fern-sdk-group-name: pages
x-fern-sdk-method-name: get-content
security:
- OAuth2:
- page:read
operationId: get-static-content
summary: Webflow Get Page Content
description: |
Get text and component instance content from a static page.
Localization
Required scope | `pages:read`
tags:
- Pages
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
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
- 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 DOM (Document Object Model) schema represents the content structure of a web page or component. It captures various content nodes along with their associated attributes. Each node has a unique identifier and can be of different types like text, image or component-instance. The schema also provides pagination details for scenarios where the content nodes are too many to be fetched in a single request.
type: object
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'
properties:
pageId:
type: string
description: Page ID
branchId:
type: string
format: objectid
nullable: true
description: The unique identifier of a [specific page branch.](https://help.webflow.com/hc/en-us/articles/33961355506195-Page-branching)
example: 68026fa68ef6dc744c75b833
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
lastUpdated:
type: string
format: date-time
readOnly: true
nullable: true
description: The date the page dom was most recently updated
example: '2016-10-24T19:42:38.929Z'
'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: []
post:
security:
- OAuth2:
- page:write
summary: Webflow Update Page Content
description: |
This endpoint updates content on a static page in **secondary locales**. It supports updating up to 1000 nodes in a single request.
Before making updates:
1. Use the [get page content](/data/reference/pages-and-components/pages/get-content) endpoint to identify available content nodes and their types.
2. If the page has component instances, retrieve the component's properties that you'll override using the [get component properties](/data/reference/pages-and-components/components/get-properties) endpoint.
3. 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.
This endpoint is specifically for localized pages. Ensure that the specified `localeId` is a valid **secondary locale** for the site otherwise the request will fail.
Required scope | `pages:write`
operationId: update-static-content
tags:
- Pages
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
default:
- name: localeId
in: query
required: true
description: The locale identifier.
schema:
type: string
requestBody:
content:
application/json:
schema:
description: |
The body for which to update the page dom nodes. Nodes can be of type text 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:
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.
Before making updates:
1. Use the [get component content](/data/reference/pages-and-components/components/get-content) endpoint to identify available content nodes and their types.
2. 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.
3. 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.
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.
Required scope | `components:write`
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: []
/pages/{page_id}/custom_code:
get:
x-fern-sdk-group-name:
- pages
- scripts
x-fern-sdk-method-name: get-custom-code
security:
- OAuth2:
- custom_code:read
operationId: get-page-custom-code
summary: Webflow Get Custom Code
description: |
Get all scripts applied to a page.
Required scope | `custom_code:read`
tags:
- Custom Code
- Custom Code - Pages
- Sites
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
scripts:
type: array
description: A list of scripts applied to a Site or a Page
items:
type: object
required:
- id
- version
- location
properties:
id:
description: ID of the registered custom code script
type: string
format: objectId
location:
description: Location of the script, either in the header or footer of the published site
type: string
default: header
enum:
- header
- footer
version:
type: string
description: Semantic Version String for the registered script *e.g. 0.0.1*
attributes:
type: object
description: Developer-specified key/value pairs to be applied as attributes to the script
example:
- id: cms_slider
- location: header
- version: 1.0.0
lastUpdated:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were last updated
createdOn:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were created
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
example:
value:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
attributes: {}
lastUpdated: '2022-10-26T00:28:54.191Z'
createdOn: '2022-10-26T00:28:54.191Z'
'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: []
delete:
x-fern-sdk-group-name:
- pages
- scripts
x-fern-sdk-method-name: delete-custom-code
security:
- OAuth2:
- custom_code:write
operationId: delete-page-custom-code
summary: Webflow Delete Custom Code
description: |
Remove all scripts from a page applied by the App. This endpoint will not remove scripts from the site's registered scripts.
To remove individual scripts applied by the App, use the [Add/Update Custom Code](/data/reference/custom-code/custom-code-pages/upsert-custom-code) endpoint.
Access to this endpoint requires a bearer token obtained from an [OAuth Code Grant Flow](/data/reference/oauth-app).
Required scope | `custom_code:write`
tags:
- Custom Code
- Custom Code - Pages
- Sites
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
default:
responses:
'204':
description: Request was successful. No Content is returned.
'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: []
put:
x-fern-sdk-group-name:
- pages
- scripts
x-fern-sdk-method-name: upsert-custom-code
security:
- OAuth2:
- custom_code:write
operationId: add-custom-code-to-page
summary: Webflow Add/Update Custom Code
description: |
Apply registered scripts to a page. If you have multiple scripts your App needs to apply or maintain on a page, ensure they are always included in the request body for this endpoint. To remove individual scripts, simply call this endpoint without the script in the request body.
To apply a script to a page, the script must first be registered to a Site via the [Register Script](/data/reference/custom-code/custom-code/register-hosted) endpoints. Once registered, the script can be applied to a Site or Page using the appropriate endpoints. See the documentation on [working with Custom Code](/data/docs/custom-code) for more information.
Required scope | `custom_code:write`
tags:
- Custom Code
- Custom Code - Pages
- Sites
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
properties:
scripts:
type: array
description: A list of scripts applied to a Site or a Page
items:
type: object
required:
- id
- version
- location
properties:
id:
description: ID of the registered custom code script
type: string
format: objectId
location:
description: Location of the script, either in the header or footer of the published site
type: string
default: header
enum:
- header
- footer
version:
type: string
description: Semantic Version String for the registered script *e.g. 0.0.1*
attributes:
type: object
description: Developer-specified key/value pairs to be applied as attributes to the script
example:
- id: cms_slider
- location: header
- version: 1.0.0
lastUpdated:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were last updated
createdOn:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were created
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
scripts:
type: array
description: A list of scripts applied to a Site or a Page
items:
type: object
required:
- id
- version
- location
properties:
id:
description: ID of the registered custom code script
type: string
format: objectId
location:
description: Location of the script, either in the header or footer of the published site
type: string
default: header
enum:
- header
- footer
version:
type: string
description: Semantic Version String for the registered script *e.g. 0.0.1*
attributes:
type: object
description: Developer-specified key/value pairs to be applied as attributes to the script
example:
- id: cms_slider
- location: header
- version: 1.0.0
lastUpdated:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were last updated
createdOn:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were created
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
attributes: {}
lastUpdated: '2022-10-26T00:28:54.191Z'
createdOn: '2022-10-26T00:28:54.191Z'
'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: []
'409':
description: The maximum number of registered scripts has been reached.
x-logErrorCode: 409
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: custom_code_max_registered_scripts
message: The maximum number of registered scripts has been reached.
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}/custom_code:
get:
x-fern-sdk-group-name:
- sites
- scripts
x-fern-sdk-method-name: get-custom-code
security:
- OAuth2:
- custom_code:read
operationId: get-site-custom-code
summary: Webflow Get Custom Code
description: |
Get all scripts applied to a site by the App.
To apply a script to a site or page, the script must first be registered to a site via the [Register Script](/data/reference/custom-code/custom-code/register-hosted) endpoints. Once registered, the script can be applied to a Site or Page using the appropriate endpoints. See the documentation on [working with Custom Code](/data/docs/custom-code) for more information.
Required scope | `custom_code:read`
tags:
- Custom Code
- Custom Code - Sites
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
scripts:
type: array
description: A list of scripts applied to a Site or a Page
items:
type: object
required:
- id
- version
- location
properties:
id:
description: ID of the registered custom code script
type: string
format: objectId
location:
description: Location of the script, either in the header or footer of the published site
type: string
default: header
enum:
- header
- footer
version:
type: string
description: Semantic Version String for the registered script *e.g. 0.0.1*
attributes:
type: object
description: Developer-specified key/value pairs to be applied as attributes to the script
example:
- id: cms_slider
- location: header
- version: 1.0.0
lastUpdated:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were last updated
createdOn:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were created
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
attributes: {}
lastUpdated: '2022-10-26T00:28:54.191Z'
createdOn: '2022-10-26T00:28:54.191Z'
'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: []
delete:
x-fern-sdk-group-name:
- sites
- scripts
x-fern-sdk-method-name: delete-custom-code
security:
- OAuth2:
- custom_code:write
operationId: delete-site-custom-code
summary: Webflow Delete Custom Code
description: |
Remove all scripts from a site applied by the App. This endpoint will not remove scripts from the site's registered scripts.
To remove individual scripts applied by the App, use the [Add/Update Custom Code](/data/reference/custom-code/custom-code-sites/upsert-custom-code) endpoint.
Access to this endpoint requires a bearer token obtained from an [OAuth Code Grant Flow](/data/reference/oauth-app).
Required scope | `custom_code:write`
tags:
- Custom Code
- Custom Code - Sites
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'204':
description: Request was successful. No Content is returned.
'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: []
put:
x-fern-sdk-group-name:
- sites
- scripts
x-fern-sdk-method-name: upsert-custom-code
security:
- OAuth2:
- custom_code:write
operationId: add-custom-code-tosite
summary: Webflow Add/Update Custom Code
description: |
Apply registered scripts to a site. If you have multiple scripts your App needs to apply or maintain on a site, ensure they are always included in the request body for this endpoint. To remove individual scripts, simply call this endpoint without the script in the request body.
To apply a script to a site or page, the script must first be registered to a site via the [Register Script](/data/reference/custom-code/custom-code/register-hosted) endpoints. Once registered, the script can be applied to a Site or Page using the appropriate endpoints. See the documentation on [working with Custom Code](/data/docs/custom-code) for more information.
Required scope | `custom_code:write`
tags:
- Custom Code
- Custom Code - Sites
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
type: object
properties:
scripts:
type: array
description: A list of scripts applied to a Site or a Page
items:
type: object
required:
- id
- version
- location
properties:
id:
description: ID of the registered custom code script
type: string
format: objectId
location:
description: Location of the script, either in the header or footer of the published site
type: string
default: header
enum:
- header
- footer
version:
type: string
description: Semantic Version String for the registered script *e.g. 0.0.1*
attributes:
type: object
description: Developer-specified key/value pairs to be applied as attributes to the script
example:
- id: cms_slider
- location: header
- version: 1.0.0
lastUpdated:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were last updated
createdOn:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were created
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
scripts:
type: array
description: A list of scripts applied to a Site or a Page
items:
type: object
required:
- id
- version
- location
properties:
id:
description: ID of the registered custom code script
type: string
format: objectId
location:
description: Location of the script, either in the header or footer of the published site
type: string
default: header
enum:
- header
- footer
version:
type: string
description: Semantic Version String for the registered script *e.g. 0.0.1*
attributes:
type: object
description: Developer-specified key/value pairs to be applied as attributes to the script
example:
- id: cms_slider
- location: header
- version: 1.0.0
lastUpdated:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were last updated
createdOn:
type: string
format: date-string
readOnly: true
description: Date when the Site's scripts were created
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
example:
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
'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}/registered_scripts:
get:
x-fern-sdk-group-name: scripts
x-fern-sdk-method-name: list
security:
- OAuth2:
- custom_code:read
operationId: get-scripts
summary: Webflow Get Registered Scripts
description: |
Get a list of scripts that have been registered to a site. A site can have a maximum of 800 registered scripts.
To apply a script to a site or page, the script must first be registered to a site via the [Register Script](/data/reference/custom-code/custom-code/register-hosted) endpoints. Once registered, the script can be applied to a Site or Page using the appropriate endpoints. See the documentation on [working with Custom Code](/data/docs/custom-code) for more information.
Required scope | `custom_code:read`
tags:
- Custom Code
- Registered Scripts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: A list of scripts registered to the site
properties:
registeredScripts:
type: array
items:
description: Registered custom code for application
properties:
id:
type: string
readOnly: true
description: Human readable id, derived from the user-specified display name
canCopy:
type: boolean
description: Define whether the script can be copied on site duplication and transfer
default: false
displayName:
type: string
description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters
hostedLocation:
type: string
description: URI for an externally hosted script location
integrityHash:
type: string
description: Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation)
format: hash
createdOn:
type: string
format: date-string
readOnly: true
description: Timestamp when the script version was created
lastUpdated:
type: string
format: date-string
readOnly: true
description: Timestamp when the script version was last updated
version:
type: string
description: A Semantic Version (SemVer) string, denoting the version of the script
example:
id: cms_slider
displayName: CMS Slider
hostedLocation: https://cdn.jsdelivr.net/.../cmsslider.js
integrityHash: sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+
canCopy: true
version: 1.0.0
createdOn: '2022-10-26T00:28:54.191Z'
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
example:
registeredScripts:
- id: alert
version: 0.0.1
displayName: Alert
hostedLocation: https://cdn.webflow.io/.../alert-0.0.1.js
integrityHash:
createdOn: '2022-10-26T00:28:54.191Z'
canCopy: false
- id: alert
version: 0.0.2
displayName: Alert
hostedLocation: https://cdn.webflow.io/.../alert-0.0.2.js
integrityHash:
createdOn: '2022-10-26T00:28:54.191Z'
canCopy: false
- id: cms_slider
version: 1.0.0
displayName: CMS Slider
hostedLocation: https://cdn.jsdelivr.net/.../cms_slider.js
integrityHash: sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+
createdOn: '2022-10-26T00:28:54.191Z'
canCopy: true
pagination:
limit: 100
offset: 0
total: 3
'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}/registered_scripts/hosted:
post:
x-fern-sdk-group-name: scripts
x-fern-sdk-method-name: register-hosted
security:
- OAuth2:
- custom_code:write
operationId: post-hosted-script
summary: Webflow Register Script - Hosted
description: |
Register a hosted script to a site.
To apply a script to a site or page, the script must first be registered to a site via the [Register Script](/data/reference/custom-code/custom-code/register-hosted) endpoints. Once registered, the script can be applied to a Site or Page using the appropriate endpoints. See the documentation on [working with Custom Code](/data/docs/custom-code) for more information.
Required scope | `custom_code:write`
tags:
- Custom Code
- Registered Scripts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
description: A registered external script
required:
- displayName
- version
- hostedLocation
- integrityHash
properties:
hostedLocation:
type: string
description: URI for an externally hosted script location
integrityHash:
type: string
description: Sub-Resource Integrity Hash
format: hash
canCopy:
type: boolean
description: Define whether the script can be copied on site duplication and transfer
default: false
version:
type: string
description: A Semantic Version (SemVer) string, denoting the version of the script
displayName:
type: string
description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters
examples:
- displayName: CMS Slider
hostedLocation: https://cdn.jsdelivr.net/.../cmsslider.js
integrityHash: sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+
canCopy: true
version: 1.0.0
responses:
'201':
description: Request was successful
content:
application/json:
schema:
description: Registered custom code for application
properties:
id:
type: string
readOnly: true
description: Human readable id, derived from the user-specified display name
canCopy:
type: boolean
description: Define whether the script can be copied on site duplication and transfer
default: false
displayName:
type: string
description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters
hostedLocation:
type: string
description: URI for an externally hosted script location
integrityHash:
type: string
description: Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation)
format: hash
createdOn:
type: string
format: date-string
readOnly: true
description: Timestamp when the script version was created
lastUpdated:
type: string
format: date-string
readOnly: true
description: Timestamp when the script version was last updated
version:
type: string
description: A Semantic Version (SemVer) string, denoting the version of the script
example:
id: cms_slider
displayName: CMS Slider
hostedLocation: https://cdn.jsdelivr.net/.../cmsslider.js
integrityHash: sha384-J+YlJ8v0gpaRoKH7SbFbEmxOZlAxLiwNjfSsBhDooGa5roXlPPpXbEevck4J7YZ+
canCopy: true
version: 1.0.0
createdOn: '2022-10-26T00:28:54.191Z'
'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}/registered_scripts/inline:
post:
x-fern-sdk-group-name: scripts
x-fern-sdk-method-name: register-inline
security:
- OAuth2:
- custom_code:write
operationId: post-inline-scripts
summary: Webflow Register Script - Inline
description: |
Register an inline script to a site. Inline scripts are limited to 2000 characters.
To apply a script to a site or page, the script must first be registered to a site via the [Register Script](/data/reference/custom-code/custom-code/register-hosted) endpoints. Once registered, the script can be applied to a Site or Page using the appropriate endpoints. See the documentation on [working with Custom Code](/data/docs/custom-code) for more information.
Required scope | `custom_code:write`
tags:
- Custom Code
- Registered Scripts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
content:
application/json:
schema:
description: A registered inline (Webflow-hosted) script
required:
- displayName
- version
- sourceCode
properties:
sourceCode:
type: string
description: The code to be added to the site (to be hosted by Webflow).
example: alert('hello world');
integrityHash:
type: string
description: Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation)
format: hash
canCopy:
type: boolean
description: Define whether the script can be copied on site duplication and transfer
default: false
version:
type: string
description: A Semantic Version (SemVer) string, denoting the version of the script
displayName:
type: string
description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters
example:
displayName: Alert
sourceCode: alert('hello world');
integrityHash:
version: 0.0.1
responses:
'201':
description: Created
content:
application/json:
schema:
description: Registered custom code for application
properties:
id:
type: string
readOnly: true
description: Human readable id, derived from the user-specified display name
canCopy:
type: boolean
description: Define whether the script can be copied on site duplication and transfer
default: false
displayName:
type: string
description: User-facing name for the script. Must be between 1 and 50 alphanumeric characters
hostedLocation:
type: string
description: URI for an externally hosted script location
integrityHash:
type: string
description: Sub-Resource Integrity Hash. Only required for externally hosted scripts (passed via hostedLocation)
format: hash
createdOn:
type: string
format: date-string
readOnly: true
description: Timestamp when the script version was created
lastUpdated:
type: string
format: date-string
readOnly: true
description: Timestamp when the script version was last updated
version:
type: string
description: A Semantic Version (SemVer) string, denoting the version of the script
example:
id: alert
displayName: Alert
hostedLocation: https://uploads-ssl.webflow.com/6258612d1ee792848f805dcf%2F64b6c769ff52ba6c3d904a91%2F660d6e15b3d1696f2d2b1447%2Falert-0.0.1.js
integrityHash:
canCopy: false
version: 0.0.1
createdOn: '2022-10-26T00:28:54.191Z'
examples:
CustomCodeInlineResponse:
value:
id: alert
displayName: Alert
hostedLocation: https://uploads-ssl.webflow.com/6258612d1ee792848f805dcf%2F64b6c769ff52ba6c3d904a91%2F660d6e15b3d1696f2d2b1447%2Falert-0.0.1.js
integrityHash:
canCopy: false
version: 0.0.1
createdOn: '2022-10-26T00:28:54.191Z'
'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}/custom_code/blocks:
get:
x-fern-sdk-group-name:
- sites
- scripts
x-fern-sdk-method-name: list-custom-code-blocks
security:
- OAuth2:
- custom_code:read
operationId: get-site-custom-code-blocks
summary: Webflow List Custom Code Blocks
description: |
Get a list of scripts that have been applied to a site and/or individual pages.
To apply a script to a site or page, the script must first be registered to a site via the [Register Script](/data/reference/custom-code/custom-code/register-hosted) endpoints. Once registered, the script can be applied to a Site or Page using the appropriate endpoints.
See the documentation on [working with Custom Code](/data/docs/custom-code) for more information.
Required scope | `custom_code:read`
tags:
- Custom Code
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Custom Code Blocks corresponding to where scripts were applied
properties:
blocks:
type: array
items:
description: A specific instance of Custom Code applied to a Site or Page
properties:
siteId:
type: string
description: The Site ID where the custom code was applied
pageId:
type: string
nullable: true
description: The Page ID (if applied at Page-level)
type:
type: string
nullable: true
enum:
- page
- site
description: Whether the Custom Code script is applied at the Site-level or Page-level
scripts:
type: array
description: A list of scripts applied to a Site or a Page
items:
type: object
required:
- id
- version
- location
properties:
id:
description: ID of the registered custom code script
type: string
format: objectId
location:
description: Location of the script, either in the header or footer of the published site
type: string
default: header
enum:
- header
- footer
version:
type: string
description: Semantic Version String for the registered script *e.g. 0.0.1*
attributes:
type: object
description: Developer-specified key/value pairs to be applied as attributes to the script
example:
- id: cms_slider
- location: header
- version: 1.0.0
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Block was created
example: '2016-10-24T19:42:38.929Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Block was most recently updated
example: '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
example:
blocks:
- siteId: 6258612d1ee792848f805dcf
pageId:
type: site
scripts:
- id: chartjs
displayName: ChartJS
version: 4.4.2
location: header
attributes: {}
lastUpdated: '2024-04-03T16:49:15.461Z'
createdOn: '2024-04-03T16:49:15.461Z'
- siteId: 6390c49674a71f84b51a08d8
pageId: 6419db964a9c43f6a3af6348
type: page
scripts:
- id: cms_slider
location: header
version: 1.0.0
attributes:
my-attribute: some-value
- id: alert
location: header
version: 0.0.1
attributes: {}
lastUpdated: '2022-10-26T00:28:54.191Z'
createdOn: '2022-10-26T00:28:54.191Z'
pagination:
total: 1
offset: 0
limit: 10
'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}/assets:
get:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: list
security:
- OAuth2:
- assets:read
operationId: list-assets
summary: Webflow List Assets
description: |
List of assets uploaded to a site
Required scope | `assets:read`
tags:
- Assets
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
responses:
'200':
description: Request was successful
content:
application/json:
schema:
required:
- assets
- pagination
type: object
description: A list of assets
properties:
assets:
type: array
items:
description: Asset details
example:
id: 63e5889e7fe4eafa7384cea4
originalFileName: Candy-Wrapper.svg
displayName: 63e5889e7fe4eafa7384cea4_Candy-Wrapper.png
contentType: image/png
size: 2212772
siteId: 63938b302ea6b0aa6f3d8745
createdOn: '2023-02-09T23:58:22.294Z'
lastUpdated: '2023-03-01T23:42:57.862Z'
hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/63938b302ea6b0aa6f3d8745/63e5889e7fe4eafa7384cea4_Vectors-Wrapper.svg
variants:
- hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
originalFileName: Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
displayName: 660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
format: png
width: 500
height:
quality: 100
error:
altText: A single candy wrapper
required:
- id
- contentType
- size
- siteId
- hostedUrl
- originalFileName
- displayName
- lastUpdated
- createdOn
- variants
- altText
properties:
id:
type: string
format: objectid
example: 55131cd036c09f7d07883dfc
description: Unique identifier for this asset
readOnly: true
contentType:
type: string
example: image/png
format: mime-type
description: File format type
readOnly: true
size:
type: integer
description: size in bytes
example: 1500
readOnly: true
siteId:
type: string
format: objectid
example: 62749158efef318abc8d5a0f
description: Unique identifier for the site that hosts this asset
readOnly: true
hostedUrl:
type: string
format: uri
example: example.com/hostedimage.png
description: Link to the asset
readOnly: true
originalFileName:
type: string
example: image.png
description: Original file name at the time of upload
readOnly: true
displayName:
type: string
example: example-image-123.png
description: Display name of the asset
lastUpdated:
type: string
format: date-time
example: '2016-09-06T21:12:22.148Z'
description: Date the asset metadata was last updated
readOnly: true
createdOn:
type: string
format: date-time
example: '2016-09-02T23:26:22.241Z'
description: Date the asset metadata was created
readOnly: true
variants:
description: A list of [asset variants](https://help.webflow.com/hc/en-us/articles/33961378697107-Responsive-images) created by Webflow to serve your site responsively.
type: array
items:
description: Asset variant details
required:
- hostedUrl
- originalFileName
- displayName
- format
- width
- height
- quality
properties:
hostedUrl:
type: string
format: uri
example: example.com/hostedimage.png
description: URL of where the asset variant is hosted
originalFileName:
type: string
example: image.png
description: Original file name of the variant
displayName:
type: string
example: A brown dog
description: Display name of the variant
format:
type: string
description: format of the variant
width:
type: integer
description: Width in pixels
example: 1500
height:
type: integer
description: Height in pixels
example: 900
nullable: true
quality:
type: integer
description: Value between 0 and 100 representing the image quality
error:
type: string
description: Any associated validation errors
nullable: true
altText:
type: string
example: A red chair
nullable: true
description: The visual description of the asset
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
example:
assets:
- id: 63e5889e7fe4eafa7384cea4
originalFileName: Candy-Wrapper.svg
displayName: 63e5889e7fe4eafa7384cea4_Candy-Wrapper.png
contentType: image/png
size: 2212772
siteId: 63938b302ea6b0aa6f3d8745
createdOn: '2023-02-09T23:58:22.294Z'
lastUpdated: '2023-03-01T23:42:57.862Z'
hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/63938b302ea6b0aa6f3d8745/63e5889e7fe4eafa7384cea4_Vectors-Wrapper.svg
variants:
- hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
originalFileName: Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
displayName: 660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
format: png
width: 500
height:
quality: 100
error:
altText: A single candy wrapper
- id: 63e5889e7fe4eafa7384cea5
originalFileName: Gum-Wrapper.svg
displayName: 63e5889e7fe4eafa7384cea5_Gum-Wrapper.png
contentType: image/png
size: 2212772
siteId: 63938b302ea6b0aa6f3d8745
createdOn: '2023-02-09T23:58:22.294Z'
lastUpdated: '2023-03-01T23:42:57.862Z'
hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/63938b302ea6b0aa6f3d8745/63e5889e7fe4eafa7384cea4_Vectors-Wrapper.svg
variants:
- hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
originalFileName: Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
displayName: 660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
format: png
width: 500
height:
quality: 100
error:
altText: A single gum wrapper
pagination:
total: 2
offset: 0
limit: 2
'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: assets
x-fern-sdk-method-name: create
security:
- OAuth2:
- assets:write
operationId: create-asset
summary: Webflow Upload Asset
description: |
The first step in uploading an asset to a site.
This endpoint generates a response with the following information: `uploadUrl` and `uploadDetails`.
Use these properties in the header of a [POST request to Amazson s3](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) to complete the upload.
To learn more about how to upload assets to Webflow, see our [assets guide](/data/docs/working-with-assets).
Required scope | `assets:write`
tags:
- Assets
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
description: Information about the asset to create
required: true
content:
application/json:
schema:
description: The request to create a webhook
required:
- fileName
- fileHash
properties:
fileName:
type: string
example: file.png
description: File name including file extension. File names must be less than 100 characters.
fileHash:
type: string
example: 3c7d87c9575702bc3b1e991f4d3c638e
description: MD5 hash of the file
parentFolder:
type: string
example: 6436b1ce5281cace05b65aea
description: ID of the Asset folder (optional)
responses:
'200':
description: Request was successful
content:
application/json:
schema:
properties:
uploadDetails:
type: object
description: Metadata for uploading the asset binary
properties:
acl:
type: string
example: public-read
bucket:
type: string
example: webflow-bucket-name
X-Amz-Algorithm:
type: string
example: AWS4-HMAC-SHA256
X-Amz-Credential:
type: string
example: ///s3/aws4_request
X-Amz-Date:
type: string
example:
key:
type: string
example: /_
Policy:
type: string
example:
X-Amz-Signature:
type: string
example:
success_action_status:
type: string
example: '201'
content-type:
type: string
format: mime-type
example: image/png
Cache-Control:
type: string
example: max-age=31536000, must-revalidate
contentType:
type: string
example: image/png
id:
type: string
format: objectid
example: 55131cd036c09f7d07883dfc
parentFolder:
type: string
format: objectid
default:
example: 6436b1ce5281cace05b65aea
description: Parent folder for the asset
uploadUrl:
type: string
format: uri
example: example.com/assets/image.png
assetUrl:
type: string
format: uri
example: example.com/assets/image.png
description: S3 link to the asset
hostedUrl:
type: string
format: uri
description: Represents the link to the asset
example: example.com/hostedimage.png
originalFileName:
type: string
example: image.png
description: Original file name when uploaded. If not specified at time of upload, it may be extracted from the raw file name
createdOn:
type: string
format: date-time
example: '2016-09-02T23:26:22.241Z'
description: Date the asset metadata was created
lastUpdated:
type: string
format: date-time
example: '2016-09-06T21:12:22.148Z'
description: Date the asset metadata was last updated
example:
uploadDetails:
acl: public-read
bucket: webflow-bucket-name
X-Amz-Algorithm: AWS4-HMAC-SHA256
X-Amz-Credential: ///s3/aws4_request
X-Amz-Date:
key: /_
Policy:
X-Amz-Signature:
success_action_status: '201'
content-type: image/png
Cache-Control: max-age=31536000, must-revalidate
contentType: image/png
id: 64358b9544249dc43d37d2b7
parentFolder: 6436b1ce5281cace05b65aea
uploadUrl: https://s3.amazonaws.com/webflow-dev-assets/643021114e290e0d3a0602b2/64358b9544249dc43d37d2b7_Screenshot%202023-04-11%20at%209.50.42%20AM.png
assetUrl: https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d907ab9e91e3e9f56385e_paranoidAndroid-2024.png
hostedUrl: https://dev-assets.website-files.com/643021114e290e0d3a0602b2/64358b9544249dc43d37d2b7_Screenshot%202023-04-11%20at%209.50.42%20AM.png
originalFileName: file.png
createdOn: '2023-04-11T16:32:21.804Z'
lastUpdated: '2023-04-12T20:31:03.197Z'
'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: []
/assets/{asset_id}:
get:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: get
security:
- OAuth2:
- assets:read
operationId: get-asset
summary: Webflow Get Asset
description: |
Get details about an asset
Required scope | `assets:read`
tags:
- Assets
parameters:
- name: asset_id
in: path
description: Unique identifier for an Asset on a site
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Asset details
example:
id: 63e5889e7fe4eafa7384cea4
originalFileName: Candy-Wrapper.svg
displayName: 63e5889e7fe4eafa7384cea4_Candy-Wrapper.png
contentType: image/png
size: 2212772
siteId: 63938b302ea6b0aa6f3d8745
createdOn: '2023-02-09T23:58:22.294Z'
lastUpdated: '2023-03-01T23:42:57.862Z'
hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/63938b302ea6b0aa6f3d8745/63e5889e7fe4eafa7384cea4_Vectors-Wrapper.svg
variants:
- hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
originalFileName: Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
displayName: 660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
format: png
width: 500
height:
quality: 100
error:
altText: A single candy wrapper
required:
- id
- contentType
- size
- siteId
- hostedUrl
- originalFileName
- displayName
- lastUpdated
- createdOn
- variants
- altText
properties:
id:
type: string
format: objectid
example: 55131cd036c09f7d07883dfc
description: Unique identifier for this asset
readOnly: true
contentType:
type: string
example: image/png
format: mime-type
description: File format type
readOnly: true
size:
type: integer
description: size in bytes
example: 1500
readOnly: true
siteId:
type: string
format: objectid
example: 62749158efef318abc8d5a0f
description: Unique identifier for the site that hosts this asset
readOnly: true
hostedUrl:
type: string
format: uri
example: example.com/hostedimage.png
description: Link to the asset
readOnly: true
originalFileName:
type: string
example: image.png
description: Original file name at the time of upload
readOnly: true
displayName:
type: string
example: example-image-123.png
description: Display name of the asset
lastUpdated:
type: string
format: date-time
example: '2016-09-06T21:12:22.148Z'
description: Date the asset metadata was last updated
readOnly: true
createdOn:
type: string
format: date-time
example: '2016-09-02T23:26:22.241Z'
description: Date the asset metadata was created
readOnly: true
variants:
description: A list of [asset variants](https://help.webflow.com/hc/en-us/articles/33961378697107-Responsive-images) created by Webflow to serve your site responsively.
type: array
items:
description: Asset variant details
required:
- hostedUrl
- originalFileName
- displayName
- format
- width
- height
- quality
properties:
hostedUrl:
type: string
format: uri
example: example.com/hostedimage.png
description: URL of where the asset variant is hosted
originalFileName:
type: string
example: image.png
description: Original file name of the variant
displayName:
type: string
example: A brown dog
description: Display name of the variant
format:
type: string
description: format of the variant
width:
type: integer
description: Width in pixels
example: 1500
height:
type: integer
description: Height in pixels
example: 900
nullable: true
quality:
type: integer
description: Value between 0 and 100 representing the image quality
error:
type: string
description: Any associated validation errors
nullable: true
altText:
type: string
example: A red chair
nullable: true
description: The visual description of the asset
'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: []
patch:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: update
security:
- OAuth2:
- assets:write
operationId: patch-asset
summary: Webflow Update Asset
description: |
Update details of an Asset.
Required scope | `assets:write`
tags:
- Assets
parameters:
- name: asset_id
in: path
description: Unique identifier for an Asset on a site
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
requestBody:
description: Information about the asset to update
required: true
content:
application/json:
schema:
description: The request to update an asset
properties:
localeId:
type: string
example: 65427cf400e02b306eaa04a0
description: Unique identifier for a specific locale. Applicable, when using localization.
displayName:
type: string
example: bulldoze.png
description: A human readable name for the asset
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Asset details
example:
id: 63e5889e7fe4eafa7384cea4
originalFileName: Candy-Wrapper.svg
displayName: 63e5889e7fe4eafa7384cea4_Candy-Wrapper.png
contentType: image/png
size: 2212772
siteId: 63938b302ea6b0aa6f3d8745
createdOn: '2023-02-09T23:58:22.294Z'
lastUpdated: '2023-03-01T23:42:57.862Z'
hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/63938b302ea6b0aa6f3d8745/63e5889e7fe4eafa7384cea4_Vectors-Wrapper.svg
variants:
- hostedUrl: https://s3.amazonaws.com/webflow-prod-assets/6258612d1ee792848f805dcf/660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
originalFileName: Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
displayName: 660d83ce30f3a599ddb0bdb3_Screenshot%202024-03-20%20at%209.03.24%E2%80%AFPM-p-500.png
format: png
width: 500
height:
quality: 100
error:
altText: A single candy wrapper
required:
- id
- contentType
- size
- siteId
- hostedUrl
- originalFileName
- displayName
- lastUpdated
- createdOn
- variants
- altText
properties:
id:
type: string
format: objectid
example: 55131cd036c09f7d07883dfc
description: Unique identifier for this asset
readOnly: true
contentType:
type: string
example: image/png
format: mime-type
description: File format type
readOnly: true
size:
type: integer
description: size in bytes
example: 1500
readOnly: true
siteId:
type: string
format: objectid
example: 62749158efef318abc8d5a0f
description: Unique identifier for the site that hosts this asset
readOnly: true
hostedUrl:
type: string
format: uri
example: example.com/hostedimage.png
description: Link to the asset
readOnly: true
originalFileName:
type: string
example: image.png
description: Original file name at the time of upload
readOnly: true
displayName:
type: string
example: example-image-123.png
description: Display name of the asset
lastUpdated:
type: string
format: date-time
example: '2016-09-06T21:12:22.148Z'
description: Date the asset metadata was last updated
readOnly: true
createdOn:
type: string
format: date-time
example: '2016-09-02T23:26:22.241Z'
description: Date the asset metadata was created
readOnly: true
variants:
description: A list of [asset variants](https://help.webflow.com/hc/en-us/articles/33961378697107-Responsive-images) created by Webflow to serve your site responsively.
type: array
items:
description: Asset variant details
required:
- hostedUrl
- originalFileName
- displayName
- format
- width
- height
- quality
properties:
hostedUrl:
type: string
format: uri
example: example.com/hostedimage.png
description: URL of where the asset variant is hosted
originalFileName:
type: string
example: image.png
description: Original file name of the variant
displayName:
type: string
example: A brown dog
description: Display name of the variant
format:
type: string
description: format of the variant
width:
type: integer
description: Width in pixels
example: 1500
height:
type: integer
description: Height in pixels
example: 900
nullable: true
quality:
type: integer
description: Value between 0 and 100 representing the image quality
error:
type: string
description: Any associated validation errors
nullable: true
altText:
type: string
example: A red chair
nullable: true
description: The visual description of the asset
'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: []
delete:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: delete
security:
- OAuth2:
- assets:write
operationId: delete-asset
summary: Webflow Delete Asset
description: |
Delete an Asset
Required Scope: `assets: write`
tags:
- Assets
parameters:
- name: asset_id
in: path
description: Unique identifier for an Asset on a site
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
responses:
'204':
description: Request was successful. No Content is returned.
'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}/asset_folders:
get:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: list-folders
security:
- OAuth2:
- assets:read
operationId: list-asset-folders
summary: Webflow List Asset Folders
description: |
List Asset Folders within a given site
Required scope | `assets:read`
tags:
- Asset Folders
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: The Asset Folders object
type: object
example:
assetFolders:
- id: 6390c49774a71f0e3c1a08ee
displayName: emoji icons
parentFolder:
assets:
- 63e5889e7fe4eafa7384cea4
- 659595234426a9fcbad57043
siteId: 6390c49674a71f84b51a08d8
createdOn: '2018-10-14T21:55:49.063Z'
lastUpdated: '2022-12-07T16:51:37.571Z'
pagination:
total: 1
offset: 0
limit: 1
properties:
assetFolders:
type: array
description: A list of Asset folders
items:
description: Asset Folder details
example:
id: 6390c49774a71f0e3c1a08ee
displayName: emoji icons
parentFolder: 6390c49774a71f99f21a08eb
assets:
- 63e5889e7fe4eafa7384cea4
- 659595234426a9fcbad57043
siteId: 6390c49674a71f84b51a08d8
createdOn: '2018-10-14T21:55:49.063Z'
lastUpdated: '2022-12-07T16:51:37.571Z'
properties:
id:
type: string
format: objectid
description: Unique identifier for the Asset Folder
example: 55131cd036c09f7d07883dfc
displayName:
type: string
description: User visible name for the Asset Folder
parentFolder:
type: string
default:
description: Pointer to parent Asset Folder (or null if root)
example: 6390c49774a71f99f21a08eb
assets:
type: array
description: Array of Asset instances in the folder
items:
type: string
format: objectid
description: Unique identifier for the Asset
example: 63e5889e7fe4eafa7384cea4
siteId:
type: string
format: objectid
description: The unique ID of the site the Asset Folder belongs to
example: 545bbecb7bdd6769632504a7
createdOn:
type: string
format: date-time
description: Date that the Asset Folder was created on
example: '2018-10-04T15:21:02.042Z'
lastUpdated:
type: string
format: date-time
description: Date that the Asset Folder was last updated on
example: '2018-10-04T15:21:02.042Z'
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: assets
x-fern-sdk-method-name: create-folder
security:
- OAuth2:
- assets:write
operationId: create-asset-folder
summary: Webflow Create Asset Folder
description: |
Create an Asset Folder within a given site
Required scope | `assets:write`
tags:
- Asset Folders
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
required: true
content:
application/json:
schema:
required:
- displayName
properties:
displayName:
type: string
example: my asset folder
description: A human readable name for the Asset Folder
parentFolder:
type: string
example: 6390c49774a71f99f21a08eb
default:
description: An (optional) pointer to a parent Asset Folder (or null for root)
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Asset Folder details
example:
id: 6390c49774a71f0e3c1a08ee
displayName: emoji icons
parentFolder: 6390c49774a71f99f21a08eb
assets:
- 63e5889e7fe4eafa7384cea4
- 659595234426a9fcbad57043
siteId: 6390c49674a71f84b51a08d8
createdOn: '2018-10-14T21:55:49.063Z'
lastUpdated: '2022-12-07T16:51:37.571Z'
properties:
id:
type: string
format: objectid
description: Unique identifier for the Asset Folder
example: 55131cd036c09f7d07883dfc
displayName:
type: string
description: User visible name for the Asset Folder
parentFolder:
type: string
default:
description: Pointer to parent Asset Folder (or null if root)
example: 6390c49774a71f99f21a08eb
assets:
type: array
description: Array of Asset instances in the folder
items:
type: string
format: objectid
description: Unique identifier for the Asset
example: 63e5889e7fe4eafa7384cea4
siteId:
type: string
format: objectid
description: The unique ID of the site the Asset Folder belongs to
example: 545bbecb7bdd6769632504a7
createdOn:
type: string
format: date-time
description: Date that the Asset Folder was created on
example: '2018-10-04T15:21:02.042Z'
lastUpdated:
type: string
format: date-time
description: Date that the Asset Folder was last updated on
example: '2018-10-04T15:21:02.042Z'
'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: []
/asset_folders/{asset_folder_id}:
get:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: get-folder
security:
- OAuth2:
- assets:read
operationId: get-asset-folder
summary: Webflow Get Asset Folder
description: |
Get details about a specific Asset Folder
Required scope | `assets:read`
tags:
- Asset Folders
parameters:
- name: asset_folder_id
in: path
description: Unique identifier for an Asset Folder
example: 6390c49774a71f0e3c1a08ee
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Asset Folder details
example:
id: 6390c49774a71f0e3c1a08ee
displayName: emoji icons
parentFolder: 6390c49774a71f99f21a08eb
assets:
- 63e5889e7fe4eafa7384cea4
- 659595234426a9fcbad57043
siteId: 6390c49674a71f84b51a08d8
createdOn: '2018-10-14T21:55:49.063Z'
lastUpdated: '2022-12-07T16:51:37.571Z'
properties:
id:
type: string
format: objectid
description: Unique identifier for the Asset Folder
example: 55131cd036c09f7d07883dfc
displayName:
type: string
description: User visible name for the Asset Folder
parentFolder:
type: string
default:
description: Pointer to parent Asset Folder (or null if root)
example: 6390c49774a71f99f21a08eb
assets:
type: array
description: Array of Asset instances in the folder
items:
type: string
format: objectid
description: Unique identifier for the Asset
example: 63e5889e7fe4eafa7384cea4
siteId:
type: string
format: objectid
description: The unique ID of the site the Asset Folder belongs to
example: 545bbecb7bdd6769632504a7
createdOn:
type: string
format: date-time
description: Date that the Asset Folder was created on
example: '2018-10-04T15:21:02.042Z'
lastUpdated:
type: string
format: date-time
description: Date that the Asset Folder was last updated on
example: '2018-10-04T15:21:02.042Z'
'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}/webhooks:
get:
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: list
operationId: list-webhooks
summary: Webflow List Webhooks
description: |
List all App-created Webhooks registered for a given site
Required scope | `sites:read`
tags:
- Webhooks
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
webhooks:
- id: 57ca0a9e418c504a6e1acbb6
triggerType: form_submission
siteId: 562ac0395358780a1f5e6fbd
workspaceId: 4f4e46fd476ea8c507000001
filter:
name: Email Form
createdOn: '2016-09-02T23:26:22.241Z'
lastTriggered: '2023-02-08T23:59:28.572Z'
url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
- id: 578d85cce0c47cd2865f4cf2
triggerType: form_submission
siteId: 562ac0395358780a1f5e6fbd
workspaceId: 4f4e46fd476ea8c507000001
filter:
name: Email Form
createdOn: '2016-07-19T01:43:40.585Z'
lastTriggered: '2023-02-08T23:59:28.572Z'
url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
- id: 578d85cce0c47cd2865f4cf3
triggerType: form_submission
siteId: 562ac0395358780a1f5e6fbd
workspaceId: 4f4e46fd476ea8c507000001
filter:
name: Email Form
createdOn: '2016-07-19T01:43:40.605Z'
lastTriggered: '2023-02-08T23:59:28.572Z'
url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
properties:
webhooks:
type: array
items:
example:
id: 582266e0cd48de0f0e3c6d8b
triggerType: form_submission
siteId: 562ac0395358780a1f5e6fbd
workspaceId: 4f4e46fd476ea8c507000001
createdOn: '2022-11-08T23:59:28.572Z'
lastTriggered: '2023-02-08T23:59:28.572Z'
filter:
url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
properties:
id:
readOnly: true
type: string
format: objectid
example: 57ca0a9e418c504a6e1acbb6
description: Unique identifier for the Webhook registration
triggerType:
type: string
example: form_submission
description: |
The type of event that triggered the request. See the the documentation for details on [supported events](/data/reference/all-events).
enum:
- form_submission
- site_publish
- page_created
- page_metadata_updated
- page_deleted
- ecomm_new_order
- ecomm_order_changed
- ecomm_inventory_changed
- collection_item_created
- collection_item_changed
- collection_item_deleted
- collection_item_published
- collection_item_unpublished
- comment_created
url:
type: string
example: https://example.com/webhook
description: URL to send the Webhook payload to
workspaceId:
readOnly: true
type: string
format: objectid
example: 580e63e98c9a982ac9b8b741
description: Unique identifier for the Workspace the Webhook is registered in
siteId:
readOnly: true
type: string
format: objectid
example: 562ac0395358780a1f5e6fbd
description: Unique identifier for the Site the Webhook is registered in
filter:
description: Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for.
type: object
properties:
name:
type: string
description: The name of the form you'd like to recieve notifications for.
example: My Form
lastTriggered:
readOnly: true
type: string
format: date-time
example: '2016-09-06T21:12:22.148Z'
description: Date the Webhook instance was last triggered
createdOn:
readOnly: true
type: string
format: date-time
example: '2016-09-02T23:26:22.241Z'
description: Date the Webhook registration was created
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: webhooks
x-fern-sdk-method-name: create
operationId: create-webhook
summary: Webflow Create Webhook
description: |
Create a new Webhook.
Limit of 75 registrations per `triggerType`, per site.
Access to this endpoint requires a bearer token from a [Data Client App](/data/docs/getting-started-data-clients).
Required scope | `sites:write`
tags:
- Webhooks
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
description: The Webhook registration object
required: true
content:
application/json:
schema:
example:
id: 582266e0cd48de0f0e3c6d8b
triggerType: form_submission
siteId: 562ac0395358780a1f5e6fbd
workspaceId: 4f4e46fd476ea8c507000001
createdOn: '2022-11-08T23:59:28.572Z'
lastTriggered: '2023-02-08T23:59:28.572Z'
filter:
url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
properties:
id:
readOnly: true
type: string
format: objectid
example: 57ca0a9e418c504a6e1acbb6
description: Unique identifier for the Webhook registration
triggerType:
type: string
example: form_submission
description: |
The type of event that triggered the request. See the the documentation for details on [supported events](/data/reference/all-events).
enum:
- form_submission
- site_publish
- page_created
- page_metadata_updated
- page_deleted
- ecomm_new_order
- ecomm_order_changed
- ecomm_inventory_changed
- collection_item_created
- collection_item_changed
- collection_item_deleted
- collection_item_published
- collection_item_unpublished
- comment_created
url:
type: string
example: https://example.com/webhook
description: URL to send the Webhook payload to
workspaceId:
readOnly: true
type: string
format: objectid
example: 580e63e98c9a982ac9b8b741
description: Unique identifier for the Workspace the Webhook is registered in
siteId:
readOnly: true
type: string
format: objectid
example: 562ac0395358780a1f5e6fbd
description: Unique identifier for the Site the Webhook is registered in
filter:
description: Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for.
type: object
properties:
name:
type: string
description: The name of the form you'd like to recieve notifications for.
example: My Form
lastTriggered:
readOnly: true
type: string
format: date-time
example: '2016-09-06T21:12:22.148Z'
description: Date the Webhook instance was last triggered
createdOn:
readOnly: true
type: string
format: date-time
example: '2016-09-02T23:26:22.241Z'
description: Date the Webhook registration was created
responses:
'201':
description: Request was successful
content:
application/json:
schema:
example:
id: 582266e0cd48de0f0e3c6d8b
triggerType: form_submission
siteId: 562ac0395358780a1f5e6fbd
workspaceId: 4f4e46fd476ea8c507000001
createdOn: '2022-11-08T23:59:28.572Z'
lastTriggered: '2023-02-08T23:59:28.572Z'
filter:
url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
properties:
id:
readOnly: true
type: string
format: objectid
example: 57ca0a9e418c504a6e1acbb6
description: Unique identifier for the Webhook registration
triggerType:
type: string
example: form_submission
description: |
The type of event that triggered the request. See the the documentation for details on [supported events](/data/reference/all-events).
enum:
- form_submission
- site_publish
- page_created
- page_metadata_updated
- page_deleted
- ecomm_new_order
- ecomm_order_changed
- ecomm_inventory_changed
- collection_item_created
- collection_item_changed
- collection_item_deleted
- collection_item_published
- collection_item_unpublished
- comment_created
url:
type: string
example: https://example.com/webhook
description: URL to send the Webhook payload to
workspaceId:
readOnly: true
type: string
format: objectid
example: 580e63e98c9a982ac9b8b741
description: Unique identifier for the Workspace the Webhook is registered in
siteId:
readOnly: true
type: string
format: objectid
example: 562ac0395358780a1f5e6fbd
description: Unique identifier for the Site the Webhook is registered in
filter:
description: Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for.
type: object
properties:
name:
type: string
description: The name of the form you'd like to recieve notifications for.
example: My Form
lastTriggered:
readOnly: true
type: string
format: date-time
example: '2016-09-06T21:12:22.148Z'
description: Date the Webhook instance was last triggered
createdOn:
readOnly: true
type: string
format: date-time
example: '2016-09-02T23:26:22.241Z'
description: Date the Webhook registration was created
'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: []
/webhooks/{webhook_id}:
get:
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: get
operationId: get-webhook
summary: Webflow Get Webhook
description: |
Get a specific Webhook instance
Required scope: `sites:read`
tags:
- Webhooks
parameters:
- name: webhook_id
in: path
description: Unique identifier for a Webhook
example: 580e64008c9a982ac9b8b754
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 582266e0cd48de0f0e3c6d8b
triggerType: form_submission
siteId: 562ac0395358780a1f5e6fbd
workspaceId: 4f4e46fd476ea8c507000001
createdOn: '2022-11-08T23:59:28.572Z'
lastTriggered: '2023-02-08T23:59:28.572Z'
filter:
url: https://webhook.site/7f7f7f7f-7f7f-7f7f-7f7f-7f7f7f7f7f7f
properties:
id:
readOnly: true
type: string
format: objectid
example: 57ca0a9e418c504a6e1acbb6
description: Unique identifier for the Webhook registration
triggerType:
type: string
example: form_submission
description: |
The type of event that triggered the request. See the the documentation for details on [supported events](/data/reference/all-events).
enum:
- form_submission
- site_publish
- page_created
- page_metadata_updated
- page_deleted
- ecomm_new_order
- ecomm_order_changed
- ecomm_inventory_changed
- collection_item_created
- collection_item_changed
- collection_item_deleted
- collection_item_published
- collection_item_unpublished
- comment_created
url:
type: string
example: https://example.com/webhook
description: URL to send the Webhook payload to
workspaceId:
readOnly: true
type: string
format: objectid
example: 580e63e98c9a982ac9b8b741
description: Unique identifier for the Workspace the Webhook is registered in
siteId:
readOnly: true
type: string
format: objectid
example: 562ac0395358780a1f5e6fbd
description: Unique identifier for the Site the Webhook is registered in
filter:
description: Only supported for the `form_submission` trigger type. Filter for the form you want Webhooks to be sent for.
type: object
properties:
name:
type: string
description: The name of the form you'd like to recieve notifications for.
example: My Form
lastTriggered:
readOnly: true
type: string
format: date-time
example: '2016-09-06T21:12:22.148Z'
description: Date the Webhook instance was last triggered
createdOn:
readOnly: true
type: string
format: date-time
example: '2016-09-02T23:26:22.241Z'
description: Date the Webhook registration was created
'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: []
delete:
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: delete
operationId: remove-webhook
summary: Webflow Remove Webhook
description: |
Remove a Webhook
Required scope: `sites:read`
tags:
- Webhooks
parameters:
- name: webhook_id
in: path
description: Unique identifier for a Webhook
example: 580e64008c9a982ac9b8b754
required: true
schema:
type: string
format: objectid
responses:
'204':
description: Request was successful. No Content is returned.
'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}/forms:
get:
x-fern-sdk-group-name: forms
x-fern-sdk-method-name: list
security:
- OAuth2:
- forms:read
operationId: list-forms
summary: Webflow List Forms
description: |
List forms for a given site.
Required scope | `forms:read`
tags:
- Forms
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- 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:
required:
- forms
- pagination
description: A list of forms
example:
forms:
- displayName: Email Form
createdOn: '2016-10-24T19:41:29.156Z'
lastUpdated: '2016-10-24T19:43:17.271Z'
fields:
- 660d5bcc9c0772150459dfb1:
displayName: Name
type: Plain
placeholder:
userVisible: true
- 589a331aa51e760df7ccb89d:
displayName: Email
type: Email
placeholder: Enter your email
userVisible: true
responseSettings:
redirectUrl: https://example.com
redirectMethod: GET
redirectAction:
sendEmailConfirmation: true
id: 589a331aa51e760df7ccb89e
siteId: 580e63e98c9a982ac9b8b741
siteDomainId: 6419db964a9c436a4baf6248
pageId: 6419db964a9c43f6a3af6348
pageName: Home
workspaceId: 580e63fc8c9a982ac9b8b744
- displayName: Name Form
createdOn: '2016-10-24T19:41:29.156Z'
lastUpdated: '2016-10-24T19:43:17.271Z'
fields:
- 589a331aa51e760df7ccb89d:
displayName: Name
type: Plain
placeholder: Enter your name
userVisible: true
responseSettings:
redirectUrl: https://example.com
redirectMethod: GET
redirectAction:
sendEmailConfirmation: false
id: 580ff8d7ba3e45ba9fe588e9
siteId: 580e63e98c9a982ac9b8b741
siteDomainId: 6419db964a9c436a4baf6248
pageId: 6419db964a9c43f6a3af6348
pageName: Home
formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177
workspaceId: 580e63fc8c9a982ac9b8b744
pagination:
limit: 25
offset: 0
total: 2
properties:
forms:
type: array
items:
example:
displayName: Email Form
createdOn: '2016-10-24T19:41:29.156Z'
lastUpdated: '2016-10-24T19:43:17.271Z'
fields:
660d5bcc9c0772150459dfb1:
displayName: Name
type: Plain
placeholder:
userVisible: true
589a331aa51e760df7ccb89d:
displayName: Email
type: Email
placeholder: Enter your email
userVisible: true
responseSettings:
redirectUrl: https://example.com
redirectMethod: GET
redirectAction:
sendEmailConfirmation: true
id: 589a331aa51e760df7ccb89e
siteId: 580e63e98c9a982ac9b8b741
siteDomainId: 6419db964a9c436a4baf6248
pageId: 6419db964a9c43f6a3af6348
pageName: Home
formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177
workspaceId: 580e63fc8c9a982ac9b8b744
description: A Webflow form
properties:
displayName:
type: string
description: The Form name displayed on the site
example: Galactic Intake Form
createdOn:
type: string
format: date-time
description: Date that the Form was created on
example: '2018-10-04T15:21:02.042Z'
lastUpdated:
type: string
format: date-time
description: Date that the Form was last updated on
example: '2018-10-04T15:21:02.042Z'
fields:
description: A collection of form field objects
type: object
maxProperties: 1
additionalProperties:
description: An object containing field info for a specific fieldID.
type: object
properties:
displayName:
type: string
description: The field name displayed on the site
example: Email
type:
type: string
description: The field type
enum:
- Plain
- Email
- Password
- Phone
- Number
example: Email
placeholder:
type: string
description: The placeholder text for the field
nullable: true
example: Enter your email
userVisible:
type: boolean
description: Whether the field is visible to the user
example: true
responseSettings:
description: Settings for form responses
type: object
properties:
redirectUrl:
type: string
description: The url or path to redirect the user to after form submission
example: /thank-you
redirectMethod:
type: string
description: The HTTP request method to use for the redirectUrl (eg. POST or GET)
nullable: true
example: GET
redirectAction:
type: string
description: The action to take after form submission
nullable: true
example: POST https://example.com
sendEmailConfirmation:
type: boolean
description: Whether to send an email confirmation to the user
example: true
id:
type: string
format: objectid
description: The unique ID for the Form
example: 545bbecb7bdd6769632504a7
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
siteDomainId:
type: string
format: objectid
description: The unique ID corresponding to the site's Domain name
example: 6419db964a9c436a4baf6247
pageId:
type: string
format: objectid
description: The unique ID for the Page on which the Form is placed
example: 6419db964a9c43f6a3af6243
pageName:
type: string
description: The user-visible name of the Page where the Form is placed
example: Home
formElementId:
type: string
nullable: true
description: The unique ID of the Form element
example: 4e038d2c-6a1e-4953-7be9-a59a2b453177
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
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
example:
forms:
- displayName: Email Form
createdOn: '2016-10-24T19:41:29.156Z'
lastUpdated: '2016-10-24T19:43:17.271Z'
fields:
- 660d5bcc9c0772150459dfb1:
displayName: Name
type: Plain
placeholder:
userVisible: true
- 589a331aa51e760df7ccb89d:
displayName: Email
type: Email
placeholder: Enter your email
userVisible: true
responseSettings:
redirectUrl: https://example.com
redirectMethod: GET
redirectAction:
sendEmailConfirmation: true
id: 589a331aa51e760df7ccb89e
siteId: 580e63e98c9a982ac9b8b741
siteDomainId: 6419db964a9c436a4baf6248
pageId: 6419db964a9c43f6a3af6348
pageName: Home
workspaceId: 580e63fc8c9a982ac9b8b744
- displayName: Name Form
createdOn: '2016-10-24T19:41:29.156Z'
lastUpdated: '2016-10-24T19:43:17.271Z'
fields:
- 589a331aa51e760df7ccb89d:
displayName: Name
type: Plain
placeholder: Enter your name
userVisible: true
responseSettings:
redirectUrl: https://example.com
redirectMethod: GET
redirectAction:
sendEmailConfirmation: false
id: 580ff8d7ba3e45ba9fe588e9
siteId: 580e63e98c9a982ac9b8b741
siteDomainId: 6419db964a9c436a4baf6248
pageId: 6419db964a9c43f6a3af6348
pageName: Home
formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177
workspaceId: 580e63fc8c9a982ac9b8b744
pagination:
limit: 25
offset: 0
total: 2
'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: []
'409':
description: To access this feature, the site needs to be republished.
x-logErrorCode: 409
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: forms_require_republish
message: To access this feature, the site needs to be republished.
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: []
/forms/{form_id}:
get:
x-fern-sdk-group-name: forms
x-fern-sdk-method-name: get
security:
- OAuth2:
- forms:read
operationId: get-form-schema
summary: Webflow Get Form Schema
description: |
Get information about a given form.
Required scope | `forms:read`
tags:
- Forms
parameters:
- name: form_id
in: path
description: Unique identifier for a Form
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
displayName: Email Form
createdOn: '2016-10-24T19:41:29.156Z'
lastUpdated: '2016-10-24T19:43:17.271Z'
fields:
660d5bcc9c0772150459dfb1:
displayName: Name
type: Plain
placeholder:
userVisible: true
589a331aa51e760df7ccb89d:
displayName: Email
type: Email
placeholder: Enter your email
userVisible: true
responseSettings:
redirectUrl: https://example.com
redirectMethod: GET
redirectAction:
sendEmailConfirmation: true
id: 589a331aa51e760df7ccb89e
siteId: 580e63e98c9a982ac9b8b741
siteDomainId: 6419db964a9c436a4baf6248
pageId: 6419db964a9c43f6a3af6348
pageName: Home
formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177
workspaceId: 580e63fc8c9a982ac9b8b744
description: A Webflow form
properties:
displayName:
type: string
description: The Form name displayed on the site
example: Galactic Intake Form
createdOn:
type: string
format: date-time
description: Date that the Form was created on
example: '2018-10-04T15:21:02.042Z'
lastUpdated:
type: string
format: date-time
description: Date that the Form was last updated on
example: '2018-10-04T15:21:02.042Z'
fields:
description: A collection of form field objects
type: object
maxProperties: 1
additionalProperties:
description: An object containing field info for a specific fieldID.
type: object
properties:
displayName:
type: string
description: The field name displayed on the site
example: Email
type:
type: string
description: The field type
enum:
- Plain
- Email
- Password
- Phone
- Number
example: Email
placeholder:
type: string
description: The placeholder text for the field
nullable: true
example: Enter your email
userVisible:
type: boolean
description: Whether the field is visible to the user
example: true
responseSettings:
description: Settings for form responses
type: object
properties:
redirectUrl:
type: string
description: The url or path to redirect the user to after form submission
example: /thank-you
redirectMethod:
type: string
description: The HTTP request method to use for the redirectUrl (eg. POST or GET)
nullable: true
example: GET
redirectAction:
type: string
description: The action to take after form submission
nullable: true
example: POST https://example.com
sendEmailConfirmation:
type: boolean
description: Whether to send an email confirmation to the user
example: true
id:
type: string
format: objectid
description: The unique ID for the Form
example: 545bbecb7bdd6769632504a7
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
siteDomainId:
type: string
format: objectid
description: The unique ID corresponding to the site's Domain name
example: 6419db964a9c436a4baf6247
pageId:
type: string
format: objectid
description: The unique ID for the Page on which the Form is placed
example: 6419db964a9c43f6a3af6243
pageName:
type: string
description: The user-visible name of the Page where the Form is placed
example: Home
formElementId:
type: string
nullable: true
description: The unique ID of the Form element
example: 4e038d2c-6a1e-4953-7be9-a59a2b453177
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
'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: []
/forms/{form_id}/submissions:
get:
x-fern-sdk-group-name: forms
x-fern-sdk-method-name: list-submissions
security:
- OAuth2:
- forms:read
operationId: list-submissions
summary: Webflow List Form Submissions
description: |
List form submissions for a given form
When a form is used in a component definition, each instance of the form is considered a unique form.
To get a combined list of submissions for a form that appears across multiple component instances, use the [List Form Submissions by Site](/data/reference/forms/form-submissions/list-submissions-by-site) endpoint.
Required scope | `forms:read`
tags:
- Forms
parameters:
- name: form_id
in: path
description: Unique identifier for a Form
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: A list of form submissions
example:
formSubmissions:
- id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
- id: 660d64fabf6e0a0d4edab981
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Ford
Last Name: Prefect
dateSubmitted: '2022-09-14T12:35:16.117Z'
pagination:
limit: 25
offset: 0
total: 2
properties:
formSubmissions:
type: array
items:
example:
id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
properties:
id:
type: string
format: objectid
description: The unique ID of the Form submission
example: 545bbecb7bdd6769632504a7
displayName:
type: string
description: The Form name displayed on the site
example: someone@email.com
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
dateSubmitted:
type: string
format: date-time
description: Date that the Form was submitted on
example: '2018-10-04T15:21:02.042Z'
formResponse:
type: object
description: The data submitted in the Form
example:
name: Arthur Dent
email: arthur.dent@mostlyharmless.com
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: []
'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: []
/form_submissions/{form_submission_id}:
get:
x-fern-sdk-group-name: forms
x-fern-sdk-method-name: get-submission
security:
- OAuth2:
- forms:read
operationId: get-form-submission
summary: Webflow Get Form Submission
description: |
Get information about a given form submissio.
Required scope | `forms:read`
tags:
- Forms
parameters:
- name: form_submission_id
in: path
description: Unique identifier for a Form Submission
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
properties:
id:
type: string
format: objectid
description: The unique ID of the Form submission
example: 545bbecb7bdd6769632504a7
displayName:
type: string
description: The Form name displayed on the site
example: someone@email.com
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
dateSubmitted:
type: string
format: date-time
description: Date that the Form was submitted on
example: '2018-10-04T15:21:02.042Z'
formResponse:
type: object
description: The data submitted in the Form
example:
name: Arthur Dent
email: arthur.dent@mostlyharmless.com
description: A form submission
'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: []
patch:
x-fern-sdk-group-name: forms
x-fern-sdk-method-name: update-submission
security:
- OAuth2:
- forms:write
operationId: modify-form-submission
summary: Webflow Modify Form Submission
description: |
Update hidden fields on a form submission
Required scope | `forms:write`
tags:
- Forms
parameters:
- name: form_submission_id
in: path
description: Unique identifier for a Form Submission
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
requestBody:
required: true
content:
application/json:
schema:
properties:
formSubmissionData:
type: object
description: An existing **hidden field** defined on the form schema, and the corresponding value to set
example:
hidden-field-name: new value
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
properties:
id:
type: string
format: objectid
description: The unique ID of the Form submission
example: 545bbecb7bdd6769632504a7
displayName:
type: string
description: The Form name displayed on the site
example: someone@email.com
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
dateSubmitted:
type: string
format: date-time
description: Date that the Form was submitted on
example: '2018-10-04T15:21:02.042Z'
formResponse:
type: object
description: The data submitted in the Form
example:
name: Arthur Dent
email: arthur.dent@mostlyharmless.com
description: A form submission
'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: []
'409':
description: To access this feature, the site needs to be republished.
x-logErrorCode: 409
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: forms_require_republish
message: To access this feature, the site needs to be republished.
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: []
delete:
x-fern-sdk-group-name: forms
x-fern-sdk-method-name: delete-submission
security:
- OAuth2:
- forms:write
operationId: delete-form-submission
summary: Webflow Delete Form Submission
description: |
Delete a form submission
Required scope | `forms:write`
tags:
- Forms
parameters:
- name: form_submission_id
in: path
description: Unique identifier for a Form Submission
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
responses:
'204':
description: Form Submission successfully deleted
content: {}
'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: []
'409':
description: To access this feature, the site needs to be republished.
x-logErrorCode: 409
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: forms_require_republish
message: To access this feature, the site needs to be republished.
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}/form_submissions:
get:
x-fern-sdk-group-name:
- sites
- forms
x-fern-sdk-method-name: list-submissions-by-site
security:
- OAuth2:
- forms:read
operationId: list-submissions-by-site
summary: Webflow List Form Submissions by Site
description: |
List all form submissions for a given site with the ability to filter submissions by a centralized `elementId`.
Add `elementId` when you want to filter form submissions to a specific form in a site. You can get the `elementId` from the [List forms endpoint](/data/reference/forms/forms/list) (displayed as `formElementId` in the response).
When a form is used in a Webflow component definition, each instance of the component will yield a unique form. Adding the `elementId` in this request ensures this API response includes all submissions from that core form, wherever that form is used in instantiated components.
Use the [List Form Submissions endpoint](/data/reference/forms/form-submissions/list-submissions) to list form submissions for a given form ID.
Required scope | `forms:read`
tags:
- Forms
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: elementId
in: query
allowEmptyValue: true
description: Identifier for an element
example: 18259716-3e5a-646a-5f41-5dc4b9405aa0
required: false
schema:
type: string
default:
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: A list of form submissions
example:
formSubmissions:
- id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
- id: 660d64fabf6e0a0d4edab981
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Ford
Last Name: Prefect
dateSubmitted: '2022-09-14T12:35:16.117Z'
pagination:
limit: 25
offset: 0
total: 2
properties:
formSubmissions:
type: array
items:
example:
id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
properties:
id:
type: string
format: objectid
description: The unique ID of the Form submission
example: 545bbecb7bdd6769632504a7
displayName:
type: string
description: The Form name displayed on the site
example: someone@email.com
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
dateSubmitted:
type: string
format: date-time
description: Date that the Form was submitted on
example: '2018-10-04T15:21:02.042Z'
formResponse:
type: object
description: The data submitted in the Form
example:
name: Arthur Dent
email: arthur.dent@mostlyharmless.com
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: []
'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}/forms/{form_id}/submissions:
get:
x-fern-sdk-group-name:
- sites
- forms
x-fern-sdk-method-name: list-submissions
security:
- OAuth2:
- forms:read
operationId: list-submissions
summary: Webflow List Form Submissions
description: |
List form submissions for a given form ID within a specific site.
Use the [List Form Submissions by Site endpoint](/data/reference/forms/form-submissions/list-submissions-by-site) to list form submissions for a given site with the ability to filter by a `formElementId`.
Required scope | `forms:read`
tags:
- Forms
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: form_id
in: path
description: Unique identifier for a Form
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: A list of form submissions
example:
formSubmissions:
- id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
- id: 660d64fabf6e0a0d4edab981
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Ford
Last Name: Prefect
dateSubmitted: '2022-09-14T12:35:16.117Z'
pagination:
limit: 25
offset: 0
total: 2
properties:
formSubmissions:
type: array
items:
example:
id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
properties:
id:
type: string
format: objectid
description: The unique ID of the Form submission
example: 545bbecb7bdd6769632504a7
displayName:
type: string
description: The Form name displayed on the site
example: someone@email.com
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
dateSubmitted:
type: string
format: date-time
description: Date that the Form was submitted on
example: '2018-10-04T15:21:02.042Z'
formResponse:
type: object
description: The data submitted in the Form
example:
name: Arthur Dent
email: arthur.dent@mostlyharmless.com
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: []
'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}/form_submissions/{form_submission_id}:
get:
x-fern-sdk-group-name:
- sites
- forms
x-fern-sdk-method-name: get-submission
security:
- OAuth2:
- forms:read
operationId: get-form-submission-by-site
summary: Webflow Get Form Submission by Site
description: |
Get information about a form submission within a specific site.
Required scope | `forms:read`
tags:
- Forms
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: form_submission_id
in: path
description: Unique identifier for a Form Submission
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
properties:
id:
type: string
format: objectid
description: The unique ID of the Form submission
example: 545bbecb7bdd6769632504a7
displayName:
type: string
description: The Form name displayed on the site
example: someone@email.com
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
dateSubmitted:
type: string
format: date-time
description: Date that the Form was submitted on
example: '2018-10-04T15:21:02.042Z'
formResponse:
type: object
description: The data submitted in the Form
example:
name: Arthur Dent
email: arthur.dent@mostlyharmless.com
description: A form submission
'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: []
patch:
x-fern-sdk-group-name:
- sites
- forms
x-fern-sdk-method-name: update-submission
security:
- OAuth2:
- forms:write
operationId: modify-form-submission-by-site
summary: Webflow Modify Form Submission by Site
description: |
Update hidden fields on a form submission within a specific site.
Required scope | `forms:write`
tags:
- Forms
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: form_submission_id
in: path
description: Unique identifier for a Form Submission
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
requestBody:
required: true
content:
application/json:
schema:
properties:
formSubmissionData:
type: object
description: An existing **hidden field** defined on the form schema, and the corresponding value to set
example:
hidden-field-name: new value
responses:
'200':
description: Request was successful
content:
application/json:
schema:
example:
id: 6321ca84df3949bfc6752327
formId: 6321ca84df3949bfc6752327
displayName: Sample Form
siteId: 62749158efef318abc8d5a0f
workspaceId: 62749158efef318abc8d5a0f
formResponse:
First Name: Arthur
Last Name: Dent
dateSubmitted: '2022-09-14T12:35:16.117Z'
properties:
id:
type: string
format: objectid
description: The unique ID of the Form submission
example: 545bbecb7bdd6769632504a7
displayName:
type: string
description: The Form name displayed on the site
example: someone@email.com
siteId:
type: string
format: objectid
description: The unique ID of the Site the Form belongs to
example: 545bbecb7bdd6769632504a7
workspaceId:
type: string
format: objectid
description: The unique ID of the Workspace the Site belongs to
example: 580e63fc8c9a982ac9b8b744
dateSubmitted:
type: string
format: date-time
description: Date that the Form was submitted on
example: '2018-10-04T15:21:02.042Z'
formResponse:
type: object
description: The data submitted in the Form
example:
name: Arthur Dent
email: arthur.dent@mostlyharmless.com
description: A form submission
'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: []
'409':
description: To access this feature, the site needs to be republished.
x-logErrorCode: 409
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: forms_require_republish
message: To access this feature, the site needs to be republished.
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: []
delete:
x-fern-sdk-group-name:
- sites
- forms
x-fern-sdk-method-name: delete-submission
security:
- OAuth2:
- forms:write
operationId: delete-form-submission-by-site
summary: Webflow Delete Form Submission by Site
description: |
Delete a form submission within a specific site.
Required scope | `forms:write`
tags:
- Forms
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: form_submission_id
in: path
description: Unique identifier for a Form Submission
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
responses:
'204':
description: Form Submission successfully deleted
content: {}
'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: []
'409':
description: To access this feature, the site needs to be republished.
x-logErrorCode: 409
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: forms_require_republish
message: To access this feature, the site needs to be republished.
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}/products:
get:
x-fern-sdk-group-name: products
x-fern-sdk-method-name: list
security:
- OAuth2:
- ecommerce:read
operationId: list-products
summary: Webflow List Products & SKUs
description: |
Retrieve all products for a site.
Use `limit` and `offset` to page through all products with subsequent requests. All SKUs for each product
will also be fetched and returned. The `limit`, `offset` and `total` values represent Products only and do not include any SKUs.
Required scope | `ecommerce:read`
tags:
- Products & SKUs
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Results from product list
type: object
properties:
items:
type: array
description: List of Item objects within the Collection. Contains product and skus keys for each Item
items:
description: A product and its SKUs.
type: object
properties:
product:
description: The Product object
type: object
example:
id: 660eb7a486d1d6e0412292d7
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2024-04-04T14:24:19.467Z'
lastUpdated: '2024-04-04T14:30:19.282Z'
createdOn: '2024-04-04T14:22:28.547Z'
isArchived: false
isDraft: false
fieldData:
tax-category: standard-taxable
shippable: true
ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76
sku-properties:
- id: 31b77fa66fa376c2c0abb458d5be39fb
name: Size
enum:
- id: 8d21a625d655ab260e9941c27180c75b
name: Small
slug: small
- id: ecdca17106ad86c0dfe3b5f3ac8be6c9
name: Medium
slug: medium
- id: ec7877d6137ecf7ec86f726c135b1812
name: Large
slug: large
- id: 74d3738e62c568d5634dd6989daec5ec
name: Color
enum:
- id: e539b0d6c3a609cd06ddb2da804f68f0
name: Royal Blue
slug: royal-blue
- id: 68d98f2fbafc0fd45651cddc44798dd0
name: Crimson Red
slug: crimson-red
- id: 996cd95c97fd5620d0a374c835b37205
name: Forrest Green
slug: forrest-green
name: T-Shirt
description: A plain t-shirt
slug: t-shirt
default-sku: 66072fb71b89448912e2681c
properties:
id:
type: string
readOnly: true
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
isArchived:
type: boolean
default: false
description: Boolean determining if the Product is set to archived
example: false
isDraft:
type: boolean
default: false
description: Boolean determining if the Product is set to draft
example: false
fieldData:
description: Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.
type: object
properties:
name:
type: string
description: Name of the Product
example: T-Shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt
description:
type: string
description: A description of your product
example: A plain cotton t-shirt.
shippable:
type: boolean
description: Boolean determining if the Product is shippable
example: true
sku-properties:
type: array
description: Variant types to include in SKUs
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
category:
type: array
description: The category your product belongs to.
items:
type: string
tax-category:
type: string
description: Product tax class
enum:
- standard-taxable
- standard-exempt
- books-religious
- books-textbook
- clothing
- clothing-swimwear
- digital-goods
- digital-service
- drugs-non-prescription
- drugs-prescription
- food-bottled-water
- food-candy
- food-groceries
- food-prepared
- food-soda
- food-supplements
- magazine-individual
- magazine-subscription
- service-admission
- service-advertising
- service-dry-cleaning
- service-hairdressing
- service-installation
- service-miscellaneous
- service-parking
- service-printing
- service-professional
- service-repair
- service-training
default-sku:
type: string
format: objectid
description: The default SKU associated with this product.
ec-product-type:
description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"'
type: string
enum:
- ff42fee0113744f693a764e3431a9cc2
- f22027db68002190aef89a4a2b7ac8a1
- c599e43b1a1c34d5a323aedf75d3adf6
- b6ccc1830db4b1babeb06a9ac5f6dd76
additionalProperties:
type: string
description: Custom fields for your product.
skus:
description: A list of SKU Objects
type: array
items:
description: The SKU object
type: object
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
example:
id: 66072fb71b89448912e2681c
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
fieldData:
name: Colorful T-shirt - Default
slug: colorful-t-shirt-default
price:
value: 2499
currency: USD
unit: USD
sku-values:
color: red
size: small
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
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: Validation failure
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: validation_error
message: 'Validation Error: Provided ID is invalid'
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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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: products
x-fern-sdk-method-name: create
security:
- OAuth2:
- ecommerce:write
operationId: create-product
summary: Webflow Create Product & SKU
description: |
Create a new ecommerce product and defaultSKU. A product, at minimum, must have a single SKU.
To create a product with multiple SKUs:
- First, create a list of `sku-properties`, also known as [product options](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants). For example, a T-shirt product may have a "color" `sku-property`, with a list of enum values: red, yellow, and blue, another `sku-property` may be "size", with a list of enum values: small, medium, and large.
- Once, a product is created with a list of `sku-properties`, Webflow will create a **default SKU**, which is always a combination of the first `enum` values of each `sku-property`. (e.g. Small - Red - T-Shirt)
- After creation, you can create additional SKUs for the product, using the [Create SKUs endpoint.](/data/reference/ecommerce/products/create-sku)
Upon creation, the default product type will be `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer.
Required scope | `ecommerce:write`
tags:
- Products & SKUs
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
requestBody:
description: The Product and SKU to create
required: true
content:
application/json:
schema:
description: The Product and SKU to create
type: object
example:
publishStatus: staging
product:
fieldData:
name: Colorful T-shirt
slug: colorful-t-shirt
description: Our best-selling t-shirt available in multiple colors and sizes
sku-properties:
- id: color
name: Color
enum:
- id: red
name: Red
slug: red
- id: yellow
name: Yellow
slug: yellow
- id: blue
name: Blue
slug: blue
- id: size
name: Size
enum:
- id: small
name: Small
slug: small
- id: medium
name: Medium
slug: medium
- id: large
name: Large
slug: large
sku:
fieldData:
name: Colorful T-shirt - Red Small
slug: colorful-t-shirt-red-small
price:
value: 2499
currency: USD
unit: USD
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
properties:
publishStatus:
description: Indicate whether your Product should be set as "staging" or "live"
type: string
enum:
- staging
- live
default: staging
example: staging
product:
type: object
required:
- name
- slug
properties:
fieldData:
allOf:
- description: Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.
type: object
properties:
name:
type: string
description: Name of the Product
example: T-Shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt
description:
type: string
description: A description of your product
example: A plain cotton t-shirt.
shippable:
type: boolean
description: Boolean determining if the Product is shippable
example: true
sku-properties:
type: array
description: Variant types to include in SKUs
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
category:
type: array
description: The category your product belongs to.
items:
type: string
tax-category:
type: string
description: Product tax class
enum:
- standard-taxable
- standard-exempt
- books-religious
- books-textbook
- clothing
- clothing-swimwear
- digital-goods
- digital-service
- drugs-non-prescription
- drugs-prescription
- food-bottled-water
- food-candy
- food-groceries
- food-prepared
- food-soda
- food-supplements
- magazine-individual
- magazine-subscription
- service-admission
- service-advertising
- service-dry-cleaning
- service-hairdressing
- service-installation
- service-miscellaneous
- service-parking
- service-printing
- service-professional
- service-repair
- service-training
default-sku:
type: string
format: objectid
description: The default SKU associated with this product.
ec-product-type:
description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"'
type: string
enum:
- ff42fee0113744f693a764e3431a9cc2
- f22027db68002190aef89a4a2b7ac8a1
- c599e43b1a1c34d5a323aedf75d3adf6
- b6ccc1830db4b1babeb06a9ac5f6dd76
additionalProperties:
type: string
description: Custom fields for your product.
sku:
type: object
required:
- name
- slug
- price
properties:
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
required:
- product
- sku
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: A product and its SKUs.
type: object
properties:
product:
description: The Product object
type: object
example:
id: 660eb7a486d1d6e0412292d7
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2024-04-04T14:24:19.467Z'
lastUpdated: '2024-04-04T14:30:19.282Z'
createdOn: '2024-04-04T14:22:28.547Z'
isArchived: false
isDraft: false
fieldData:
tax-category: standard-taxable
shippable: true
ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76
sku-properties:
- id: 31b77fa66fa376c2c0abb458d5be39fb
name: Size
enum:
- id: 8d21a625d655ab260e9941c27180c75b
name: Small
slug: small
- id: ecdca17106ad86c0dfe3b5f3ac8be6c9
name: Medium
slug: medium
- id: ec7877d6137ecf7ec86f726c135b1812
name: Large
slug: large
- id: 74d3738e62c568d5634dd6989daec5ec
name: Color
enum:
- id: e539b0d6c3a609cd06ddb2da804f68f0
name: Royal Blue
slug: royal-blue
- id: 68d98f2fbafc0fd45651cddc44798dd0
name: Crimson Red
slug: crimson-red
- id: 996cd95c97fd5620d0a374c835b37205
name: Forrest Green
slug: forrest-green
name: T-Shirt
description: A plain t-shirt
slug: t-shirt
default-sku: 66072fb71b89448912e2681c
properties:
id:
type: string
readOnly: true
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
isArchived:
type: boolean
default: false
description: Boolean determining if the Product is set to archived
example: false
isDraft:
type: boolean
default: false
description: Boolean determining if the Product is set to draft
example: false
fieldData:
description: Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.
type: object
properties:
name:
type: string
description: Name of the Product
example: T-Shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt
description:
type: string
description: A description of your product
example: A plain cotton t-shirt.
shippable:
type: boolean
description: Boolean determining if the Product is shippable
example: true
sku-properties:
type: array
description: Variant types to include in SKUs
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
category:
type: array
description: The category your product belongs to.
items:
type: string
tax-category:
type: string
description: Product tax class
enum:
- standard-taxable
- standard-exempt
- books-religious
- books-textbook
- clothing
- clothing-swimwear
- digital-goods
- digital-service
- drugs-non-prescription
- drugs-prescription
- food-bottled-water
- food-candy
- food-groceries
- food-prepared
- food-soda
- food-supplements
- magazine-individual
- magazine-subscription
- service-admission
- service-advertising
- service-dry-cleaning
- service-hairdressing
- service-installation
- service-miscellaneous
- service-parking
- service-printing
- service-professional
- service-repair
- service-training
default-sku:
type: string
format: objectid
description: The default SKU associated with this product.
ec-product-type:
description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"'
type: string
enum:
- ff42fee0113744f693a764e3431a9cc2
- f22027db68002190aef89a4a2b7ac8a1
- c599e43b1a1c34d5a323aedf75d3adf6
- b6ccc1830db4b1babeb06a9ac5f6dd76
additionalProperties:
type: string
description: Custom fields for your product.
skus:
description: A list of SKU Objects
type: array
items:
description: The SKU object
type: object
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
example:
id: 66072fb71b89448912e2681c
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
fieldData:
name: Colorful T-shirt - Default
slug: colorful-t-shirt-default
price:
value: 2499
currency: USD
unit: USD
sku-values:
color: red
size: small
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/products/{product_id}:
get:
x-fern-sdk-group-name: products
x-fern-sdk-method-name: get
security:
- OAuth2:
- ecommerce:read
operationId: get-product
summary: Webflow Get Product and SKUs
description: |
Retrieve a single product by its ID. All of its SKUs will also be
retrieved.
Required scope | `ecommerce:read`
tags:
- Products & SKUs
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: product_id
in: path
description: Unique identifier for a Product
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: A product and its SKUs.
type: object
properties:
product:
description: The Product object
type: object
example:
id: 660eb7a486d1d6e0412292d7
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2024-04-04T14:24:19.467Z'
lastUpdated: '2024-04-04T14:30:19.282Z'
createdOn: '2024-04-04T14:22:28.547Z'
isArchived: false
isDraft: false
fieldData:
tax-category: standard-taxable
shippable: true
ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76
sku-properties:
- id: 31b77fa66fa376c2c0abb458d5be39fb
name: Size
enum:
- id: 8d21a625d655ab260e9941c27180c75b
name: Small
slug: small
- id: ecdca17106ad86c0dfe3b5f3ac8be6c9
name: Medium
slug: medium
- id: ec7877d6137ecf7ec86f726c135b1812
name: Large
slug: large
- id: 74d3738e62c568d5634dd6989daec5ec
name: Color
enum:
- id: e539b0d6c3a609cd06ddb2da804f68f0
name: Royal Blue
slug: royal-blue
- id: 68d98f2fbafc0fd45651cddc44798dd0
name: Crimson Red
slug: crimson-red
- id: 996cd95c97fd5620d0a374c835b37205
name: Forrest Green
slug: forrest-green
name: T-Shirt
description: A plain t-shirt
slug: t-shirt
default-sku: 66072fb71b89448912e2681c
properties:
id:
type: string
readOnly: true
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
isArchived:
type: boolean
default: false
description: Boolean determining if the Product is set to archived
example: false
isDraft:
type: boolean
default: false
description: Boolean determining if the Product is set to draft
example: false
fieldData:
description: Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.
type: object
properties:
name:
type: string
description: Name of the Product
example: T-Shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt
description:
type: string
description: A description of your product
example: A plain cotton t-shirt.
shippable:
type: boolean
description: Boolean determining if the Product is shippable
example: true
sku-properties:
type: array
description: Variant types to include in SKUs
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
category:
type: array
description: The category your product belongs to.
items:
type: string
tax-category:
type: string
description: Product tax class
enum:
- standard-taxable
- standard-exempt
- books-religious
- books-textbook
- clothing
- clothing-swimwear
- digital-goods
- digital-service
- drugs-non-prescription
- drugs-prescription
- food-bottled-water
- food-candy
- food-groceries
- food-prepared
- food-soda
- food-supplements
- magazine-individual
- magazine-subscription
- service-admission
- service-advertising
- service-dry-cleaning
- service-hairdressing
- service-installation
- service-miscellaneous
- service-parking
- service-printing
- service-professional
- service-repair
- service-training
default-sku:
type: string
format: objectid
description: The default SKU associated with this product.
ec-product-type:
description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"'
type: string
enum:
- ff42fee0113744f693a764e3431a9cc2
- f22027db68002190aef89a4a2b7ac8a1
- c599e43b1a1c34d5a323aedf75d3adf6
- b6ccc1830db4b1babeb06a9ac5f6dd76
additionalProperties:
type: string
description: Custom fields for your product.
skus:
description: A list of SKU Objects
type: array
items:
description: The SKU object
type: object
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
example:
id: 66072fb71b89448912e2681c
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
fieldData:
name: Colorful T-shirt - Default
slug: colorful-t-shirt-default
price:
value: 2499
currency: USD
unit: USD
sku-values:
color: red
size: small
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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: []
patch:
x-fern-sdk-group-name: products
x-fern-sdk-method-name: update
security:
- OAuth2:
- ecommerce:write
operationId: update-product
summary: Webflow Update Product
description: |
Update an existing Product.
Updating an existing Product will set the product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer.
Required scope | `ecommerce:write`
tags:
- Products & SKUs
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: product_id
in: path
description: Unique identifier for a Product
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
requestBody:
description: The product to update
required: true
content:
application/json:
schema:
description: The Product and SKU to create
type: object
example:
id: 660eb7a486d1d6e0412292d7
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2024-04-04T14:24:19.467Z'
lastUpdated: '2024-04-04T14:30:19.282Z'
createdOn: '2024-04-04T14:22:28.547Z'
isArchived: false
isDraft: false
fieldData:
tax-category: standard-taxable
shippable: true
ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76
sku-properties:
- id: 31b77fa66fa376c2c0abb458d5be39fb
name: Size
enum:
- id: 8d21a625d655ab260e9941c27180c75b
name: Small
slug: small
- id: ecdca17106ad86c0dfe3b5f3ac8be6c9
name: Medium
slug: medium
- id: ec7877d6137ecf7ec86f726c135b1812
name: Large
slug: large
- id: 74d3738e62c568d5634dd6989daec5ec
name: Color
enum:
- id: e539b0d6c3a609cd06ddb2da804f68f0
name: Royal Blue
slug: royal-blue
- id: 68d98f2fbafc0fd45651cddc44798dd0
name: Crimson Red
slug: crimson-red
- id: 996cd95c97fd5620d0a374c835b37205
name: Forrest Green
slug: forrest-green
name: T-Shirt
description: A plain t-shirt
slug: t-shirt
default-sku: 66072fb71b89448912e2681c
properties:
publishStatus:
description: Indicate whether your Product should be set as "staging" or "live"
type: string
enum:
- staging
- live
default: staging
example: staging
product:
description: The Product object
type: object
example:
id: 660eb7a486d1d6e0412292d7
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2024-04-04T14:24:19.467Z'
lastUpdated: '2024-04-04T14:30:19.282Z'
createdOn: '2024-04-04T14:22:28.547Z'
isArchived: false
isDraft: false
fieldData:
tax-category: standard-taxable
shippable: true
ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76
sku-properties:
- id: 31b77fa66fa376c2c0abb458d5be39fb
name: Size
enum:
- id: 8d21a625d655ab260e9941c27180c75b
name: Small
slug: small
- id: ecdca17106ad86c0dfe3b5f3ac8be6c9
name: Medium
slug: medium
- id: ec7877d6137ecf7ec86f726c135b1812
name: Large
slug: large
- id: 74d3738e62c568d5634dd6989daec5ec
name: Color
enum:
- id: e539b0d6c3a609cd06ddb2da804f68f0
name: Royal Blue
slug: royal-blue
- id: 68d98f2fbafc0fd45651cddc44798dd0
name: Crimson Red
slug: crimson-red
- id: 996cd95c97fd5620d0a374c835b37205
name: Forrest Green
slug: forrest-green
name: T-Shirt
description: A plain t-shirt
slug: t-shirt
default-sku: 66072fb71b89448912e2681c
properties:
id:
type: string
readOnly: true
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
isArchived:
type: boolean
default: false
description: Boolean determining if the Product is set to archived
example: false
isDraft:
type: boolean
default: false
description: Boolean determining if the Product is set to draft
example: false
fieldData:
description: Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.
type: object
properties:
name:
type: string
description: Name of the Product
example: T-Shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt
description:
type: string
description: A description of your product
example: A plain cotton t-shirt.
shippable:
type: boolean
description: Boolean determining if the Product is shippable
example: true
sku-properties:
type: array
description: Variant types to include in SKUs
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
category:
type: array
description: The category your product belongs to.
items:
type: string
tax-category:
type: string
description: Product tax class
enum:
- standard-taxable
- standard-exempt
- books-religious
- books-textbook
- clothing
- clothing-swimwear
- digital-goods
- digital-service
- drugs-non-prescription
- drugs-prescription
- food-bottled-water
- food-candy
- food-groceries
- food-prepared
- food-soda
- food-supplements
- magazine-individual
- magazine-subscription
- service-admission
- service-advertising
- service-dry-cleaning
- service-hairdressing
- service-installation
- service-miscellaneous
- service-parking
- service-printing
- service-professional
- service-repair
- service-training
default-sku:
type: string
format: objectid
description: The default SKU associated with this product.
ec-product-type:
description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"'
type: string
enum:
- ff42fee0113744f693a764e3431a9cc2
- f22027db68002190aef89a4a2b7ac8a1
- c599e43b1a1c34d5a323aedf75d3adf6
- b6ccc1830db4b1babeb06a9ac5f6dd76
additionalProperties:
type: string
description: Custom fields for your product.
sku:
description: The SKU object
type: object
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
example:
id: 66072fb71b89448912e2681c
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
fieldData:
name: Colorful T-shirt - Default
slug: colorful-t-shirt-default
price:
value: 2499
currency: USD
unit: USD
sku-values:
color: red
size: small
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: The Product object
type: object
example:
id: 660eb7a486d1d6e0412292d7
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2024-04-04T14:24:19.467Z'
lastUpdated: '2024-04-04T14:30:19.282Z'
createdOn: '2024-04-04T14:22:28.547Z'
isArchived: false
isDraft: false
fieldData:
tax-category: standard-taxable
shippable: true
ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76
sku-properties:
- id: 31b77fa66fa376c2c0abb458d5be39fb
name: Size
enum:
- id: 8d21a625d655ab260e9941c27180c75b
name: Small
slug: small
- id: ecdca17106ad86c0dfe3b5f3ac8be6c9
name: Medium
slug: medium
- id: ec7877d6137ecf7ec86f726c135b1812
name: Large
slug: large
- id: 74d3738e62c568d5634dd6989daec5ec
name: Color
enum:
- id: e539b0d6c3a609cd06ddb2da804f68f0
name: Royal Blue
slug: royal-blue
- id: 68d98f2fbafc0fd45651cddc44798dd0
name: Crimson Red
slug: crimson-red
- id: 996cd95c97fd5620d0a374c835b37205
name: Forrest Green
slug: forrest-green
name: T-Shirt
description: A plain t-shirt
slug: t-shirt
default-sku: 66072fb71b89448912e2681c
properties:
id:
type: string
readOnly: true
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
isArchived:
type: boolean
default: false
description: Boolean determining if the Product is set to archived
example: false
isDraft:
type: boolean
default: false
description: Boolean determining if the Product is set to draft
example: false
fieldData:
description: Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.
type: object
properties:
name:
type: string
description: Name of the Product
example: T-Shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt
description:
type: string
description: A description of your product
example: A plain cotton t-shirt.
shippable:
type: boolean
description: Boolean determining if the Product is shippable
example: true
sku-properties:
type: array
description: Variant types to include in SKUs
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
category:
type: array
description: The category your product belongs to.
items:
type: string
tax-category:
type: string
description: Product tax class
enum:
- standard-taxable
- standard-exempt
- books-religious
- books-textbook
- clothing
- clothing-swimwear
- digital-goods
- digital-service
- drugs-non-prescription
- drugs-prescription
- food-bottled-water
- food-candy
- food-groceries
- food-prepared
- food-soda
- food-supplements
- magazine-individual
- magazine-subscription
- service-admission
- service-advertising
- service-dry-cleaning
- service-hairdressing
- service-installation
- service-miscellaneous
- service-parking
- service-printing
- service-professional
- service-repair
- service-training
default-sku:
type: string
format: objectid
description: The default SKU associated with this product.
ec-product-type:
description: 'Product types. Enums reflect the following values in order: Physical, Digital, Service, Advanced"'
type: string
enum:
- ff42fee0113744f693a764e3431a9cc2
- f22027db68002190aef89a4a2b7ac8a1
- c599e43b1a1c34d5a323aedf75d3adf6
- b6ccc1830db4b1babeb06a9ac5f6dd76
additionalProperties:
type: string
description: Custom fields for your product.
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/products/{product_id}/skus:
post:
x-fern-sdk-group-name: products
x-fern-sdk-method-name: create-sku
security:
- OAuth2:
- ecommerce:write
operationId: create-skus
summary: Webflow Create SKUs
description: |
Create additional SKUs to manage every [option and variant of your Product.](https://help.webflow.com/hc/en-us/articles/33961334531347-Create-product-options-and-variants)
Creating SKUs through the API will set the product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer.
Required scope | `ecommerce:write`
tags:
- Products & SKUs
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: product_id
in: path
description: Unique identifier for a Product
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
requestBody:
description: The SKUs to add
required: true
content:
application/json:
schema:
description: The SKU to create
required:
- skus
properties:
publishStatus:
description: Indicate whether your Product should be set as "staging" or "live"
type: string
enum:
- staging
- live
default: staging
example: staging
skus:
type: array
description: An array of the SKU data your are adding
items:
description: The SKU object
type: object
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
example:
id: 66072fb71b89448912e2681c
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
fieldData:
name: Colorful T-shirt - Default
slug: colorful-t-shirt-default
price:
value: 2499
currency: USD
unit: USD
sku-values:
color: red
size: small
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
required:
- skus
properties:
skus:
type: array
items:
description: The SKU object
type: object
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
example:
id: 66072fb71b89448912e2681c
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
fieldData:
name: Colorful T-shirt - Default
slug: colorful-t-shirt-default
price:
value: 2499
currency: USD
unit: USD
sku-values:
color: red
size: small
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/products/{product_id}/skus/{sku_id}:
patch:
x-fern-sdk-group-name: products
x-fern-sdk-method-name: update-sku
security:
- OAuth2:
- ecommerce:write
operationId: update-sku
summary: Webflow Update SKU
description: |
Update a specified SKU.
Updating an existing SKU will set the Product type to `Advanced`, which ensures all Product and SKU fields will be shown to users in the Designer.
Required scope | `ecommerce:write`
tags:
- Products & SKUs
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: product_id
in: path
description: Unique identifier for a Product
example: 580e63fc8c9a982ac9b8b745
required: true
schema:
type: string
format: objectid
- name: sku_id
in: path
description: Unique identifier for a SKU
example: 5e8518516e147040726cc415
required: true
schema:
type: string
format: objectid
requestBody:
description: The SKU to update
required: true
content:
application/json:
schema:
description: The updated SKU
required:
- sku
properties:
publishStatus:
description: Indicate whether your Product should be set as "staging" or "live"
type: string
enum:
- staging
- live
default: staging
example: staging
sku:
description: The SKU object
type: object
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
example:
id: 66072fb71b89448912e2681c
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
fieldData:
name: Colorful T-shirt - Default
slug: colorful-t-shirt-default
price:
value: 2499
currency: USD
unit: USD
sku-values:
color: red
size: small
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: The SKU object
type: object
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for the Product
example: 580e63fc8c9a982ac9b8b745
cmsLocaleId:
type: string
readOnly: true
example: 653ad57de882f528b32e810e
description: Identifier for the locale of the CMS item
lastPublished:
type: string
format: date-time
readOnly: true
description: The date the Product was last published
example: '2023-03-17T18:47:35.560Z'
lastUpdated:
type: string
format: date-time
readOnly: true
description: The date the Product was last updated
example: '2023-03-17T18:47:35.560Z'
createdOn:
type: string
format: date-time
readOnly: true
description: The date the Product was created
example: '2023-03-17T18:47:35.560Z'
fieldData:
description: Standard and Custom fields for a SKU
type: object
required:
- name
- slug
- price
properties:
sku-values:
type: object
description: |
A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.
additionalProperties:
type: string
example:
color: blue
size: small
name:
type: string
description: Name of the Product
example: Blue T-shirt
slug:
type: string
description: URL structure of the Product in your site.
example: t-shirt-blue
price:
type: object
description: price of SKU
properties:
value:
description: Price of SKU
isRequired: true
type: number
example: 2499
unit:
type: string
isRequired: true
description: Currency of Item
example: USD
currency:
type: string
description: Currency of Item (alternative representation)
example: USD
compare-at-price:
type: object
description: comparison price of SKU
properties:
value:
description: Price of SKU
type: number
example: 100
unit:
type: string
description: Currency of Item
example: USD
ec-sku-billing-method:
description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
type: string
enum:
- one-time
- subscription
ec-sku-subscription-plan:
description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
type: object
properties:
interval:
type: string
description: Interval of subscription renewal
enum:
- day
- week
- month
- year
frequency:
type: number
description: Frequncy of billing within interval
example: 1
trial:
type: number
description: Number of days of a trial
example: 7
plans:
readOnly: true
type: array
items:
type: object
properties:
platform:
type: string
enum:
- stripe
description: The platform of the subscription plan
id:
type: string
description: The unique identifier of the plan
status:
type: string
enum:
- active
- inactive
- canceled
description: The status of the plan
main-image:
type: string
description: The URL for the main image of the SKU
example: https://www.example.com/image.jpg
sku:
type: string
description: A unique identifier for the SKU
example: '1234567890'
sku-properties:
type: array
description: The properties of the SKU
items:
type: object
description: A variant/option type for a SKU
required:
- id
- name
- enum
properties:
id:
type: string
description: Unique identifier for a collection of Product Variants
default:
example: Color
name:
type: string
description: Name of the collection of Product Variants
example: Color
enum:
description: The individual Product variants that are contained within the collection
type: array
items:
description: Enumerated Product variants/Options for the SKU
type: object
required:
- id
- name
- slug
properties:
id:
type: string
description: Unique identifier for a Product variant/Option
default:
examples:
- royal-blue
- crimson-red
- forrest-green
name:
type: string
description: Name of the Product variant/Option
examples:
- Royal Blue
- Crimson Red
- Forrest Green
slug:
type: string
description: Slug for the Product variant/Option in the Site URL structure
examples:
- royal-blue
- crimson-red
- forrest-green
additionalProperties:
type: string
description: Custom fields for your SKU.
example:
id: 66072fb71b89448912e2681c
cmsLocaleId: 653ad57de882f528b32e810e
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
fieldData:
name: Colorful T-shirt - Default
slug: colorful-t-shirt-default
price:
value: 2499
currency: USD
unit: USD
sku-values:
color: red
size: small
main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
required:
- id
- lastPublished
- lastUpdated
- createdOn
- fieldData
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/orders:
get:
x-fern-sdk-group-name: orders
x-fern-sdk-method-name: list
security:
- OAuth2:
- ecommerce:read
operationId: list-orders
summary: Webflow List Orders
description: |
List all orders created for a given site.
Required scope | `ecommerce:read`
tags:
- Orders
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: status
in: query
allowEmptyValue: true
description: Filter the orders by status
required: false
schema:
type: string
enum:
- pending
- refunded
- dispute-lost
- fulfilled
- disputed
- unfulfilled
- 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
- in: query
allowEmptyValue: true
name: limit
example: 100
description: 'Maximum number of records to be returned (max limit: 100)'
required: false
schema:
type: integer
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Results from order list
properties:
orders:
type: array
description: List of orders
items:
type: object
properties:
orderId:
type: string
readOnly: true
description: |
The order ID. Will usually be 6 hex characters, but can also be 9
hex characters if the site has a very large number of Orders.
Randomly assigned.
example: dfa-3f1
status:
type: string
example: unfulfilled
description: |
The status of the Order
enum:
- pending
- unfulfilled
- fulfilled
- disputed
- dispute-lost
- refunded
comment:
type: string
description: A comment string for this Order, which is editable by API user (not used by Webflow).
example: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment:
type: string
description: A comment that the customer left when making their Order
example: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn:
type: string
format: date-time
nullable: true
description: The ISO8601 timestamp that an Order was placed.
example: '2018-12-03T22:06:15.761Z'
fulfilledOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
refundedOn:
type: string
format: date-time
nullable: true
description: When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputedOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputeUpdatedOn:
type: string
format: date-time
nullable: true
description: |
If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null.
example: '2018-12-03T22:06:15.761Z'
disputeLastStatus:
type: string
description: |
If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).
example:
enum:
- warning_needs_response
- warning_under_review
- warning_closed
- needs_response
- under_review
- charge_refunded
- won
- lost
nullable: true
customerPaid:
description: The total paid by the customer
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
netAmount:
description: The net amount after application fees
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
applicationFee:
description: The application fee assessed by the platform
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
allAddresses:
description: All addresses provided by the customer during the ordering flow.
type: array
example:
- type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
- type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
items:
description: A customer address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
shippingAddress:
description: The shipping address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
billingAddress:
description: The billing address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
shippingProvider:
type: string
description: |
A string editable by the API user to note the shipping provider used (not used by Webflow).
example: USPS
nullable: true
shippingTracking:
type: string
description: |
A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).
example: RA401558525US
nullable: true
shippingTrackingURL:
type: string
format: uri
example: shipping.test.com/RA401558525US
nullable: true
customerInfo:
description: An object with the keys `fullName` and `email`.
properties:
fullName:
description: The full name of the Customer
type: string
example: Customerio Namen
email:
description: The Customer's email address
type: string
format: email
example: renning@webflow.com
purchasedItems:
type: array
description: An array of all things that the Customer purchased.
items:
description: An Item that was purchased
properties:
count:
type: number
example: 1
description: Number of Item purchased.
rowTotal:
description: The total for the row
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
productId:
type: string
format: objectid
description: The unique identifier for the Product
readOnly: true
example: 5eb9fd05caef491eb9757183
productName:
type: string
description: User-facing name of the Product
example: White Cup
productSlug:
type: string
description: Slug for the Product
example: white-cup
variantId:
type: string
description: Identifier for the Product Variant (SKU)
example: 5eb9fcace279761d8199790c
variantName:
type: string
description: User-facing name of the Product Variant (SKU)
example: Red
variantSlug:
type: string
description: Slug for the Product Variant (SKU)
example: red
variantSKU:
description: The user-defined custom SKU of the Product Variant (SKU)
type: string
example: red-medium
variantImage:
properties:
url:
description: The hosted location for the Variant's image
type: string
format: uri
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png
file:
type: object
properties:
size:
description: The image size in bytes
type: number
example: 21064
originalFileName:
description: the original name of the image
type: string
example: cup.jpg
createdOn:
description: The creation timestamp of the image
type: string
format: date-time
example: '2018-12-03T22:06:15.761Z'
contentType:
description: The MIME type of the image
format: mime-type
type: string
example: image/jpeg
width:
description: The image width in pixels
type: integer
example: 640
height:
description: The image height in pixels
type: integer
example: 480
variants:
description: Variants of the supplied image
type: array
items:
type: object
properties:
url:
description: The hosted location for the Variant's image
format: uri
type: string
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png
originalFileName:
type: string
example: cup.jpg
size:
description: The image size in bytes
type: number
example: 12040
width:
description: The image width in pixels
type: integer
example: 320
height:
description: The image height in pixels
type: integer
example: 240
variantPrice:
description: The price corresponding to the variant
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
weight:
type: number
example: 5
default:
nullable: true
description: The physical weight of the variant if provided, or null
width:
type: number
example: 4
nullable: true
default:
description: The physical width of the variant if provided, or null
height:
type: number
example: 7
nullable: true
default:
description: The physical height of the variant if provided, or null
length:
type: number
example: 2
nullable: true
default:
description: The physical length of the variant if provided, or null
purchasedItemsCount:
type: number
description: The sum of all 'count' fields in 'purchasedItems'.
example: 1
stripeDetails:
description: An object with various Stripe IDs, useful for linking into the stripe dashboard.
properties:
subscriptionId:
type: string
format: objectid
example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the Subscription
paymentMethod:
type: string
format: objectid
example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentMethod used
paymentIntentId:
type: string
format: objectid
example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentIntent, or null
customerId:
type: string
format: objectid
example: cus_E5ajeiWNHEtcAW
description: Stripe-generated customer identifier, or null
nullable: true
chargeId:
type: string
format: objectid
description: Stripe-generated charge identifier, or null
example: ch_1DdPYQKMjGA7k9mI2AKiBY6u
nullable: true
disputeId:
type: string
format: objectid
description: Stripe-generated dispute identifier, or null
example:
nullable: true
refundId:
type: string
format: objectid
description: Stripe-generated refund identifier, or null
example:
nullable: true
refundReason:
type: string
description: Stripe-generated refund reason, or null
example: requested_by_customer
nullable: true
stripeCard:
description: |
Details on the card used to fulfill this order, if this order was finalized with Stripe.
properties:
last4:
type: string
description: The last 4 digits on the card as a string
example: '4242'
brand:
type: string
description: The card's brand (ie. credit card network)
example: Visa
enum:
- Visa
- American Express
- MasterCard
- Discover
- JCB
- Diners Club
- Unknown
ownerName:
type: string
description: The name on the card.
example: Customerio Namen
expires:
type: object
description: The card's expiration date.
properties:
year:
description: Year that the card expires
type: number
example: 2025
month:
description: Month that the card expires
type: number
example: 12
paypalDetails:
type: object
properties:
orderId:
type: string
description: PayPal order identifier
example: 1a2b3c4d5e6f7g8h9i0j
payerId:
type: string
description: PayPal payer identifier
example: 9k8j7i6h5g4f3e2d1c0b
captureId:
type: string
description: PayPal capture identifier
example: qwe123rty456uio789p
refundId:
type: string
description: PayPal refund identifier
example: abcde12345fghij67890
refundReason:
type: string
description: PayPal-issued reason for the refund
example: Customer requested refund
disputeId:
type: string
description: PayPal dispute identifier
example: zxcvbnm987poiuytrewq
customData:
type: array
additionalProperties: true
description: |
An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.
items:
type: object
metadata:
type: object
properties:
isBuyNow:
type: boolean
example: false
isCustomerDeleted:
type: boolean
description: |
A boolean indicating whether the customer has been deleted from the site.
example: false
isShippingRequired:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that require shipping.
example: false
hasDownloads:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that are downloadable.
example: false
paymentProcessor:
type: string
description: |
A string indicating the payment processor used for this order.
example: stripe
totals:
description: An object describing various pricing totals
properties:
subtotal:
description: The subtotal price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
extras:
type: array
description: An array of extra items, includes discounts, shipping, and taxes.
items:
description: Extra order items, includes discounts, shipping, and taxes.
example:
type: tax
name: State Taxes
description: CA Taxes (6.25%)
price:
unit: USD
value: 344
string: $3.44
properties:
type:
type: string
example: tax
description: The type of extra item this is.
enum:
- discount
- discount-shipping
- shipping
- tax
name:
type: string
description: A human-readable (but English) name for this extra charge.
example: shipping
description:
type: string
description: A human-readable (but English) description of this extra charge.
example: Flat Rate
price:
description: The price for the item
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
total:
description: The total price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
downloadFiles:
description: An array of downloadable file objects.
type: array
default: []
items:
properties:
id:
type: string
description: The unique identifier for the downloadable file
example: 5e9a5eba75e0ac242e1b6f64
name:
type: string
description: The user-facing name for the downloadable file
example: The modern web design process - Webflow Ebook.pdf
url:
type: string
format: uri
description: The hosted location for the downloadable file
example: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
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
example:
orders:
- orderId: 7c1-9fd
status: unfulfilled
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-04-10T13:16:21.976Z'
fulfilledOn:
refundedOn:
disputedOn:
disputeUpdatedOn:
disputeLastStatus:
customerPaid:
unit: USD
value: 21155
string: $ 211.55 USD
netAmount:
unit: USD
value: 20089
string: $ 200.89 USD
applicationFee:
unit: USD
value: 423
string: $ 4.23 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000002
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000002
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 2
rowTotal:
unit: USD
value: 11122
string: $ 111.22 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 8309
string: $ 83.09 USD
productId: 66072fb61b89448912e2678b
productName: Incredible Bronze Towels
productSlug: incredible-bronze-towels
variantId: 66072fb71b89448912e2681e
variantName: 'Incredible Bronze Towels Sleek: Frozen, Incredible: Metal'
variantSlug: incredible-bronze-towels-sleek-frozen-incredible-metal
variantSKU: incredible-bronze-towels-sleek-frozen-incredible-metal
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e26729_image16.jpeg
file:
variantPrice:
unit: USD
value: 8309
string: $ 83.09 USD
weight:
height: 72
width: 19
length: 18
purchasedItemsCount: 3
stripeDetails:
customerId: cus_Ptod8KJBiiPgnH
paymentMethod: pm_1P410gJYFi4lcbXWbeKghqjK
chargeId: ch_3P410iJYFi4lcbXW0DxUkzCH
disputeId:
paymentIntentId: pi_3P410iJYFi4lcbXW0EKKgcVg
subscriptionId:
refundId:
refundReason:
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2025
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- orderId: fc7-128
status: refunded
comment: Example comment to myself
orderComment: ''
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn:
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn:
disputeUpdatedOn:
disputeLastStatus:
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
pagination:
limit: 100
offset: 0
total: 2
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/orders/{order_id}:
get:
x-fern-sdk-group-name: orders
x-fern-sdk-method-name: get
security:
- OAuth2:
- ecommerce:read
operationId: get-order
summary: Webflow Get Order
description: |
Retrieve a single product by its ID. All of its SKUs will also be
retrieved.
Required scope | `ecommerce:read`
tags:
- Orders
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: order_id
in: path
description: Unique identifier for an Order
example: 5e8518516e147040726cc415
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
orderId:
type: string
readOnly: true
description: |
The order ID. Will usually be 6 hex characters, but can also be 9
hex characters if the site has a very large number of Orders.
Randomly assigned.
example: dfa-3f1
status:
type: string
example: unfulfilled
description: |
The status of the Order
enum:
- pending
- unfulfilled
- fulfilled
- disputed
- dispute-lost
- refunded
comment:
type: string
description: A comment string for this Order, which is editable by API user (not used by Webflow).
example: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment:
type: string
description: A comment that the customer left when making their Order
example: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn:
type: string
format: date-time
nullable: true
description: The ISO8601 timestamp that an Order was placed.
example: '2018-12-03T22:06:15.761Z'
fulfilledOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
refundedOn:
type: string
format: date-time
nullable: true
description: When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputedOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputeUpdatedOn:
type: string
format: date-time
nullable: true
description: |
If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null.
example: '2018-12-03T22:06:15.761Z'
disputeLastStatus:
type: string
description: |
If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).
example:
enum:
- warning_needs_response
- warning_under_review
- warning_closed
- needs_response
- under_review
- charge_refunded
- won
- lost
nullable: true
customerPaid:
description: The total paid by the customer
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
netAmount:
description: The net amount after application fees
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
applicationFee:
description: The application fee assessed by the platform
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
allAddresses:
description: All addresses provided by the customer during the ordering flow.
type: array
example:
- type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
- type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
items:
description: A customer address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
shippingAddress:
description: The shipping address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
billingAddress:
description: The billing address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
shippingProvider:
type: string
description: |
A string editable by the API user to note the shipping provider used (not used by Webflow).
example: USPS
nullable: true
shippingTracking:
type: string
description: |
A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).
example: RA401558525US
nullable: true
shippingTrackingURL:
type: string
format: uri
example: shipping.test.com/RA401558525US
nullable: true
customerInfo:
description: An object with the keys `fullName` and `email`.
properties:
fullName:
description: The full name of the Customer
type: string
example: Customerio Namen
email:
description: The Customer's email address
type: string
format: email
example: renning@webflow.com
purchasedItems:
type: array
description: An array of all things that the Customer purchased.
items:
description: An Item that was purchased
properties:
count:
type: number
example: 1
description: Number of Item purchased.
rowTotal:
description: The total for the row
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
productId:
type: string
format: objectid
description: The unique identifier for the Product
readOnly: true
example: 5eb9fd05caef491eb9757183
productName:
type: string
description: User-facing name of the Product
example: White Cup
productSlug:
type: string
description: Slug for the Product
example: white-cup
variantId:
type: string
description: Identifier for the Product Variant (SKU)
example: 5eb9fcace279761d8199790c
variantName:
type: string
description: User-facing name of the Product Variant (SKU)
example: Red
variantSlug:
type: string
description: Slug for the Product Variant (SKU)
example: red
variantSKU:
description: The user-defined custom SKU of the Product Variant (SKU)
type: string
example: red-medium
variantImage:
properties:
url:
description: The hosted location for the Variant's image
type: string
format: uri
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png
file:
type: object
properties:
size:
description: The image size in bytes
type: number
example: 21064
originalFileName:
description: the original name of the image
type: string
example: cup.jpg
createdOn:
description: The creation timestamp of the image
type: string
format: date-time
example: '2018-12-03T22:06:15.761Z'
contentType:
description: The MIME type of the image
format: mime-type
type: string
example: image/jpeg
width:
description: The image width in pixels
type: integer
example: 640
height:
description: The image height in pixels
type: integer
example: 480
variants:
description: Variants of the supplied image
type: array
items:
type: object
properties:
url:
description: The hosted location for the Variant's image
format: uri
type: string
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png
originalFileName:
type: string
example: cup.jpg
size:
description: The image size in bytes
type: number
example: 12040
width:
description: The image width in pixels
type: integer
example: 320
height:
description: The image height in pixels
type: integer
example: 240
variantPrice:
description: The price corresponding to the variant
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
weight:
type: number
example: 5
default:
nullable: true
description: The physical weight of the variant if provided, or null
width:
type: number
example: 4
nullable: true
default:
description: The physical width of the variant if provided, or null
height:
type: number
example: 7
nullable: true
default:
description: The physical height of the variant if provided, or null
length:
type: number
example: 2
nullable: true
default:
description: The physical length of the variant if provided, or null
purchasedItemsCount:
type: number
description: The sum of all 'count' fields in 'purchasedItems'.
example: 1
stripeDetails:
description: An object with various Stripe IDs, useful for linking into the stripe dashboard.
properties:
subscriptionId:
type: string
format: objectid
example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the Subscription
paymentMethod:
type: string
format: objectid
example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentMethod used
paymentIntentId:
type: string
format: objectid
example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentIntent, or null
customerId:
type: string
format: objectid
example: cus_E5ajeiWNHEtcAW
description: Stripe-generated customer identifier, or null
nullable: true
chargeId:
type: string
format: objectid
description: Stripe-generated charge identifier, or null
example: ch_1DdPYQKMjGA7k9mI2AKiBY6u
nullable: true
disputeId:
type: string
format: objectid
description: Stripe-generated dispute identifier, or null
example:
nullable: true
refundId:
type: string
format: objectid
description: Stripe-generated refund identifier, or null
example:
nullable: true
refundReason:
type: string
description: Stripe-generated refund reason, or null
example: requested_by_customer
nullable: true
stripeCard:
description: |
Details on the card used to fulfill this order, if this order was finalized with Stripe.
properties:
last4:
type: string
description: The last 4 digits on the card as a string
example: '4242'
brand:
type: string
description: The card's brand (ie. credit card network)
example: Visa
enum:
- Visa
- American Express
- MasterCard
- Discover
- JCB
- Diners Club
- Unknown
ownerName:
type: string
description: The name on the card.
example: Customerio Namen
expires:
type: object
description: The card's expiration date.
properties:
year:
description: Year that the card expires
type: number
example: 2025
month:
description: Month that the card expires
type: number
example: 12
paypalDetails:
type: object
properties:
orderId:
type: string
description: PayPal order identifier
example: 1a2b3c4d5e6f7g8h9i0j
payerId:
type: string
description: PayPal payer identifier
example: 9k8j7i6h5g4f3e2d1c0b
captureId:
type: string
description: PayPal capture identifier
example: qwe123rty456uio789p
refundId:
type: string
description: PayPal refund identifier
example: abcde12345fghij67890
refundReason:
type: string
description: PayPal-issued reason for the refund
example: Customer requested refund
disputeId:
type: string
description: PayPal dispute identifier
example: zxcvbnm987poiuytrewq
customData:
type: array
additionalProperties: true
description: |
An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.
items:
type: object
metadata:
type: object
properties:
isBuyNow:
type: boolean
example: false
isCustomerDeleted:
type: boolean
description: |
A boolean indicating whether the customer has been deleted from the site.
example: false
isShippingRequired:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that require shipping.
example: false
hasDownloads:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that are downloadable.
example: false
paymentProcessor:
type: string
description: |
A string indicating the payment processor used for this order.
example: stripe
totals:
description: An object describing various pricing totals
properties:
subtotal:
description: The subtotal price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
extras:
type: array
description: An array of extra items, includes discounts, shipping, and taxes.
items:
description: Extra order items, includes discounts, shipping, and taxes.
example:
type: tax
name: State Taxes
description: CA Taxes (6.25%)
price:
unit: USD
value: 344
string: $3.44
properties:
type:
type: string
example: tax
description: The type of extra item this is.
enum:
- discount
- discount-shipping
- shipping
- tax
name:
type: string
description: A human-readable (but English) name for this extra charge.
example: shipping
description:
type: string
description: A human-readable (but English) description of this extra charge.
example: Flat Rate
price:
description: The price for the item
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
total:
description: The total price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
downloadFiles:
description: An array of downloadable file objects.
type: array
default: []
items:
properties:
id:
type: string
description: The unique identifier for the downloadable file
example: 5e9a5eba75e0ac242e1b6f64
name:
type: string
description: The user-facing name for the downloadable file
example: The modern web design process - Webflow Ebook.pdf
url:
type: string
format: uri
description: The hosted location for the downloadable file
example: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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: []
patch:
x-fern-sdk-group-name: orders
x-fern-sdk-method-name: update
security:
- OAuth2:
- ecommerce:write
operationId: update-order
summary: Webflow Update Order
description: |
This API lets you update the fields, `comment`, `shippingProvider`,
and/or `shippingTracking` for a given order. All three fields can be
updated simultaneously or independently.
Required scope | `ecommerce:write`
tags:
- Orders
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: order_id
in: path
description: Unique identifier for an Order
example: 5e8518516e147040726cc415
required: true
schema:
type: string
format: objectid
requestBody:
description: The order fields to update
required: true
content:
application/json:
schema:
description: The order to update
properties:
comment:
type: string
description: Arbitrary data for your records
example: Example comment to myself
shippingProvider:
type: string
description: Company or method used to ship order
example: Shipping Company, Co.
shippingTracking:
type: string
description: Tracking number for order shipment
example: tr00000000001
shippingTrackingURL:
type: string
description: URL to track order shipment
example: https://www.shippingcompany.com/tracking/tr00000000001
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
orderId:
type: string
readOnly: true
description: |
The order ID. Will usually be 6 hex characters, but can also be 9
hex characters if the site has a very large number of Orders.
Randomly assigned.
example: dfa-3f1
status:
type: string
example: unfulfilled
description: |
The status of the Order
enum:
- pending
- unfulfilled
- fulfilled
- disputed
- dispute-lost
- refunded
comment:
type: string
description: A comment string for this Order, which is editable by API user (not used by Webflow).
example: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment:
type: string
description: A comment that the customer left when making their Order
example: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn:
type: string
format: date-time
nullable: true
description: The ISO8601 timestamp that an Order was placed.
example: '2018-12-03T22:06:15.761Z'
fulfilledOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
refundedOn:
type: string
format: date-time
nullable: true
description: When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputedOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputeUpdatedOn:
type: string
format: date-time
nullable: true
description: |
If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null.
example: '2018-12-03T22:06:15.761Z'
disputeLastStatus:
type: string
description: |
If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).
example:
enum:
- warning_needs_response
- warning_under_review
- warning_closed
- needs_response
- under_review
- charge_refunded
- won
- lost
nullable: true
customerPaid:
description: The total paid by the customer
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
netAmount:
description: The net amount after application fees
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
applicationFee:
description: The application fee assessed by the platform
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
allAddresses:
description: All addresses provided by the customer during the ordering flow.
type: array
example:
- type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
- type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
items:
description: A customer address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
shippingAddress:
description: The shipping address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
billingAddress:
description: The billing address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
shippingProvider:
type: string
description: |
A string editable by the API user to note the shipping provider used (not used by Webflow).
example: USPS
nullable: true
shippingTracking:
type: string
description: |
A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).
example: RA401558525US
nullable: true
shippingTrackingURL:
type: string
format: uri
example: shipping.test.com/RA401558525US
nullable: true
customerInfo:
description: An object with the keys `fullName` and `email`.
properties:
fullName:
description: The full name of the Customer
type: string
example: Customerio Namen
email:
description: The Customer's email address
type: string
format: email
example: renning@webflow.com
purchasedItems:
type: array
description: An array of all things that the Customer purchased.
items:
description: An Item that was purchased
properties:
count:
type: number
example: 1
description: Number of Item purchased.
rowTotal:
description: The total for the row
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
productId:
type: string
format: objectid
description: The unique identifier for the Product
readOnly: true
example: 5eb9fd05caef491eb9757183
productName:
type: string
description: User-facing name of the Product
example: White Cup
productSlug:
type: string
description: Slug for the Product
example: white-cup
variantId:
type: string
description: Identifier for the Product Variant (SKU)
example: 5eb9fcace279761d8199790c
variantName:
type: string
description: User-facing name of the Product Variant (SKU)
example: Red
variantSlug:
type: string
description: Slug for the Product Variant (SKU)
example: red
variantSKU:
description: The user-defined custom SKU of the Product Variant (SKU)
type: string
example: red-medium
variantImage:
properties:
url:
description: The hosted location for the Variant's image
type: string
format: uri
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png
file:
type: object
properties:
size:
description: The image size in bytes
type: number
example: 21064
originalFileName:
description: the original name of the image
type: string
example: cup.jpg
createdOn:
description: The creation timestamp of the image
type: string
format: date-time
example: '2018-12-03T22:06:15.761Z'
contentType:
description: The MIME type of the image
format: mime-type
type: string
example: image/jpeg
width:
description: The image width in pixels
type: integer
example: 640
height:
description: The image height in pixels
type: integer
example: 480
variants:
description: Variants of the supplied image
type: array
items:
type: object
properties:
url:
description: The hosted location for the Variant's image
format: uri
type: string
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png
originalFileName:
type: string
example: cup.jpg
size:
description: The image size in bytes
type: number
example: 12040
width:
description: The image width in pixels
type: integer
example: 320
height:
description: The image height in pixels
type: integer
example: 240
variantPrice:
description: The price corresponding to the variant
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
weight:
type: number
example: 5
default:
nullable: true
description: The physical weight of the variant if provided, or null
width:
type: number
example: 4
nullable: true
default:
description: The physical width of the variant if provided, or null
height:
type: number
example: 7
nullable: true
default:
description: The physical height of the variant if provided, or null
length:
type: number
example: 2
nullable: true
default:
description: The physical length of the variant if provided, or null
purchasedItemsCount:
type: number
description: The sum of all 'count' fields in 'purchasedItems'.
example: 1
stripeDetails:
description: An object with various Stripe IDs, useful for linking into the stripe dashboard.
properties:
subscriptionId:
type: string
format: objectid
example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the Subscription
paymentMethod:
type: string
format: objectid
example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentMethod used
paymentIntentId:
type: string
format: objectid
example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentIntent, or null
customerId:
type: string
format: objectid
example: cus_E5ajeiWNHEtcAW
description: Stripe-generated customer identifier, or null
nullable: true
chargeId:
type: string
format: objectid
description: Stripe-generated charge identifier, or null
example: ch_1DdPYQKMjGA7k9mI2AKiBY6u
nullable: true
disputeId:
type: string
format: objectid
description: Stripe-generated dispute identifier, or null
example:
nullable: true
refundId:
type: string
format: objectid
description: Stripe-generated refund identifier, or null
example:
nullable: true
refundReason:
type: string
description: Stripe-generated refund reason, or null
example: requested_by_customer
nullable: true
stripeCard:
description: |
Details on the card used to fulfill this order, if this order was finalized with Stripe.
properties:
last4:
type: string
description: The last 4 digits on the card as a string
example: '4242'
brand:
type: string
description: The card's brand (ie. credit card network)
example: Visa
enum:
- Visa
- American Express
- MasterCard
- Discover
- JCB
- Diners Club
- Unknown
ownerName:
type: string
description: The name on the card.
example: Customerio Namen
expires:
type: object
description: The card's expiration date.
properties:
year:
description: Year that the card expires
type: number
example: 2025
month:
description: Month that the card expires
type: number
example: 12
paypalDetails:
type: object
properties:
orderId:
type: string
description: PayPal order identifier
example: 1a2b3c4d5e6f7g8h9i0j
payerId:
type: string
description: PayPal payer identifier
example: 9k8j7i6h5g4f3e2d1c0b
captureId:
type: string
description: PayPal capture identifier
example: qwe123rty456uio789p
refundId:
type: string
description: PayPal refund identifier
example: abcde12345fghij67890
refundReason:
type: string
description: PayPal-issued reason for the refund
example: Customer requested refund
disputeId:
type: string
description: PayPal dispute identifier
example: zxcvbnm987poiuytrewq
customData:
type: array
additionalProperties: true
description: |
An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.
items:
type: object
metadata:
type: object
properties:
isBuyNow:
type: boolean
example: false
isCustomerDeleted:
type: boolean
description: |
A boolean indicating whether the customer has been deleted from the site.
example: false
isShippingRequired:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that require shipping.
example: false
hasDownloads:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that are downloadable.
example: false
paymentProcessor:
type: string
description: |
A string indicating the payment processor used for this order.
example: stripe
totals:
description: An object describing various pricing totals
properties:
subtotal:
description: The subtotal price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
extras:
type: array
description: An array of extra items, includes discounts, shipping, and taxes.
items:
description: Extra order items, includes discounts, shipping, and taxes.
example:
type: tax
name: State Taxes
description: CA Taxes (6.25%)
price:
unit: USD
value: 344
string: $3.44
properties:
type:
type: string
example: tax
description: The type of extra item this is.
enum:
- discount
- discount-shipping
- shipping
- tax
name:
type: string
description: A human-readable (but English) name for this extra charge.
example: shipping
description:
type: string
description: A human-readable (but English) description of this extra charge.
example: Flat Rate
price:
description: The price for the item
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
total:
description: The total price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
downloadFiles:
description: An array of downloadable file objects.
type: array
default: []
items:
properties:
id:
type: string
description: The unique identifier for the downloadable file
example: 5e9a5eba75e0ac242e1b6f64
name:
type: string
description: The user-facing name for the downloadable file
example: The modern web design process - Webflow Ebook.pdf
url:
type: string
format: uri
description: The hosted location for the downloadable file
example: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/orders/{order_id}/fulfill:
post:
x-fern-sdk-group-name: orders
x-fern-sdk-method-name: update-fulfill
security:
- OAuth2:
- ecommerce:write
operationId: fulfill-order
summary: Webflow Fulfill Order
description: |
Updates an order's status to fulfilled
Required scope | `ecommerce:write`
tags:
- Orders
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: order_id
in: path
description: Unique identifier for an Order
example: 5e8518516e147040726cc415
required: true
schema:
type: string
format: objectid
requestBody:
description: The order fulfillment request
content:
application/json:
schema:
description: Update an order's status to fulfilled
properties:
sendOrderFulfilledEmail:
type: boolean
description: Whether or not the Order Fulfilled email should be sent
default: false
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
orderId:
type: string
readOnly: true
description: |
The order ID. Will usually be 6 hex characters, but can also be 9
hex characters if the site has a very large number of Orders.
Randomly assigned.
example: dfa-3f1
status:
type: string
example: unfulfilled
description: |
The status of the Order
enum:
- pending
- unfulfilled
- fulfilled
- disputed
- dispute-lost
- refunded
comment:
type: string
description: A comment string for this Order, which is editable by API user (not used by Webflow).
example: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment:
type: string
description: A comment that the customer left when making their Order
example: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn:
type: string
format: date-time
nullable: true
description: The ISO8601 timestamp that an Order was placed.
example: '2018-12-03T22:06:15.761Z'
fulfilledOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
refundedOn:
type: string
format: date-time
nullable: true
description: When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputedOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputeUpdatedOn:
type: string
format: date-time
nullable: true
description: |
If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null.
example: '2018-12-03T22:06:15.761Z'
disputeLastStatus:
type: string
description: |
If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).
example:
enum:
- warning_needs_response
- warning_under_review
- warning_closed
- needs_response
- under_review
- charge_refunded
- won
- lost
nullable: true
customerPaid:
description: The total paid by the customer
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
netAmount:
description: The net amount after application fees
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
applicationFee:
description: The application fee assessed by the platform
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
allAddresses:
description: All addresses provided by the customer during the ordering flow.
type: array
example:
- type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
- type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
items:
description: A customer address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
shippingAddress:
description: The shipping address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
billingAddress:
description: The billing address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
shippingProvider:
type: string
description: |
A string editable by the API user to note the shipping provider used (not used by Webflow).
example: USPS
nullable: true
shippingTracking:
type: string
description: |
A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).
example: RA401558525US
nullable: true
shippingTrackingURL:
type: string
format: uri
example: shipping.test.com/RA401558525US
nullable: true
customerInfo:
description: An object with the keys `fullName` and `email`.
properties:
fullName:
description: The full name of the Customer
type: string
example: Customerio Namen
email:
description: The Customer's email address
type: string
format: email
example: renning@webflow.com
purchasedItems:
type: array
description: An array of all things that the Customer purchased.
items:
description: An Item that was purchased
properties:
count:
type: number
example: 1
description: Number of Item purchased.
rowTotal:
description: The total for the row
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
productId:
type: string
format: objectid
description: The unique identifier for the Product
readOnly: true
example: 5eb9fd05caef491eb9757183
productName:
type: string
description: User-facing name of the Product
example: White Cup
productSlug:
type: string
description: Slug for the Product
example: white-cup
variantId:
type: string
description: Identifier for the Product Variant (SKU)
example: 5eb9fcace279761d8199790c
variantName:
type: string
description: User-facing name of the Product Variant (SKU)
example: Red
variantSlug:
type: string
description: Slug for the Product Variant (SKU)
example: red
variantSKU:
description: The user-defined custom SKU of the Product Variant (SKU)
type: string
example: red-medium
variantImage:
properties:
url:
description: The hosted location for the Variant's image
type: string
format: uri
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png
file:
type: object
properties:
size:
description: The image size in bytes
type: number
example: 21064
originalFileName:
description: the original name of the image
type: string
example: cup.jpg
createdOn:
description: The creation timestamp of the image
type: string
format: date-time
example: '2018-12-03T22:06:15.761Z'
contentType:
description: The MIME type of the image
format: mime-type
type: string
example: image/jpeg
width:
description: The image width in pixels
type: integer
example: 640
height:
description: The image height in pixels
type: integer
example: 480
variants:
description: Variants of the supplied image
type: array
items:
type: object
properties:
url:
description: The hosted location for the Variant's image
format: uri
type: string
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png
originalFileName:
type: string
example: cup.jpg
size:
description: The image size in bytes
type: number
example: 12040
width:
description: The image width in pixels
type: integer
example: 320
height:
description: The image height in pixels
type: integer
example: 240
variantPrice:
description: The price corresponding to the variant
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
weight:
type: number
example: 5
default:
nullable: true
description: The physical weight of the variant if provided, or null
width:
type: number
example: 4
nullable: true
default:
description: The physical width of the variant if provided, or null
height:
type: number
example: 7
nullable: true
default:
description: The physical height of the variant if provided, or null
length:
type: number
example: 2
nullable: true
default:
description: The physical length of the variant if provided, or null
purchasedItemsCount:
type: number
description: The sum of all 'count' fields in 'purchasedItems'.
example: 1
stripeDetails:
description: An object with various Stripe IDs, useful for linking into the stripe dashboard.
properties:
subscriptionId:
type: string
format: objectid
example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the Subscription
paymentMethod:
type: string
format: objectid
example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentMethod used
paymentIntentId:
type: string
format: objectid
example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentIntent, or null
customerId:
type: string
format: objectid
example: cus_E5ajeiWNHEtcAW
description: Stripe-generated customer identifier, or null
nullable: true
chargeId:
type: string
format: objectid
description: Stripe-generated charge identifier, or null
example: ch_1DdPYQKMjGA7k9mI2AKiBY6u
nullable: true
disputeId:
type: string
format: objectid
description: Stripe-generated dispute identifier, or null
example:
nullable: true
refundId:
type: string
format: objectid
description: Stripe-generated refund identifier, or null
example:
nullable: true
refundReason:
type: string
description: Stripe-generated refund reason, or null
example: requested_by_customer
nullable: true
stripeCard:
description: |
Details on the card used to fulfill this order, if this order was finalized with Stripe.
properties:
last4:
type: string
description: The last 4 digits on the card as a string
example: '4242'
brand:
type: string
description: The card's brand (ie. credit card network)
example: Visa
enum:
- Visa
- American Express
- MasterCard
- Discover
- JCB
- Diners Club
- Unknown
ownerName:
type: string
description: The name on the card.
example: Customerio Namen
expires:
type: object
description: The card's expiration date.
properties:
year:
description: Year that the card expires
type: number
example: 2025
month:
description: Month that the card expires
type: number
example: 12
paypalDetails:
type: object
properties:
orderId:
type: string
description: PayPal order identifier
example: 1a2b3c4d5e6f7g8h9i0j
payerId:
type: string
description: PayPal payer identifier
example: 9k8j7i6h5g4f3e2d1c0b
captureId:
type: string
description: PayPal capture identifier
example: qwe123rty456uio789p
refundId:
type: string
description: PayPal refund identifier
example: abcde12345fghij67890
refundReason:
type: string
description: PayPal-issued reason for the refund
example: Customer requested refund
disputeId:
type: string
description: PayPal dispute identifier
example: zxcvbnm987poiuytrewq
customData:
type: array
additionalProperties: true
description: |
An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.
items:
type: object
metadata:
type: object
properties:
isBuyNow:
type: boolean
example: false
isCustomerDeleted:
type: boolean
description: |
A boolean indicating whether the customer has been deleted from the site.
example: false
isShippingRequired:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that require shipping.
example: false
hasDownloads:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that are downloadable.
example: false
paymentProcessor:
type: string
description: |
A string indicating the payment processor used for this order.
example: stripe
totals:
description: An object describing various pricing totals
properties:
subtotal:
description: The subtotal price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
extras:
type: array
description: An array of extra items, includes discounts, shipping, and taxes.
items:
description: Extra order items, includes discounts, shipping, and taxes.
example:
type: tax
name: State Taxes
description: CA Taxes (6.25%)
price:
unit: USD
value: 344
string: $3.44
properties:
type:
type: string
example: tax
description: The type of extra item this is.
enum:
- discount
- discount-shipping
- shipping
- tax
name:
type: string
description: A human-readable (but English) name for this extra charge.
example: shipping
description:
type: string
description: A human-readable (but English) description of this extra charge.
example: Flat Rate
price:
description: The price for the item
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
total:
description: The total price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
downloadFiles:
description: An array of downloadable file objects.
type: array
default: []
items:
properties:
id:
type: string
description: The unique identifier for the downloadable file
example: 5e9a5eba75e0ac242e1b6f64
name:
type: string
description: The user-facing name for the downloadable file
example: The modern web design process - Webflow Ebook.pdf
url:
type: string
format: uri
description: The hosted location for the downloadable file
example: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/orders/{order_id}/unfulfill:
post:
x-fern-sdk-group-name: orders
x-fern-sdk-method-name: update-unfulfill
security:
- OAuth2:
- ecommerce:write
operationId: unfulfill-order
summary: Webflow Unfulfill Order
description: |
Updates an order's status to unfulfilled
Required scope | `ecommerce:write`
tags:
- Orders
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: order_id
in: path
description: Unique identifier for an Order
example: 5e8518516e147040726cc415
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
orderId:
type: string
readOnly: true
description: |
The order ID. Will usually be 6 hex characters, but can also be 9
hex characters if the site has a very large number of Orders.
Randomly assigned.
example: dfa-3f1
status:
type: string
example: unfulfilled
description: |
The status of the Order
enum:
- pending
- unfulfilled
- fulfilled
- disputed
- dispute-lost
- refunded
comment:
type: string
description: A comment string for this Order, which is editable by API user (not used by Webflow).
example: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment:
type: string
description: A comment that the customer left when making their Order
example: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn:
type: string
format: date-time
nullable: true
description: The ISO8601 timestamp that an Order was placed.
example: '2018-12-03T22:06:15.761Z'
fulfilledOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
refundedOn:
type: string
format: date-time
nullable: true
description: When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputedOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputeUpdatedOn:
type: string
format: date-time
nullable: true
description: |
If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null.
example: '2018-12-03T22:06:15.761Z'
disputeLastStatus:
type: string
description: |
If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).
example:
enum:
- warning_needs_response
- warning_under_review
- warning_closed
- needs_response
- under_review
- charge_refunded
- won
- lost
nullable: true
customerPaid:
description: The total paid by the customer
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
netAmount:
description: The net amount after application fees
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
applicationFee:
description: The application fee assessed by the platform
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
allAddresses:
description: All addresses provided by the customer during the ordering flow.
type: array
example:
- type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
- type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
items:
description: A customer address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
shippingAddress:
description: The shipping address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
billingAddress:
description: The billing address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
shippingProvider:
type: string
description: |
A string editable by the API user to note the shipping provider used (not used by Webflow).
example: USPS
nullable: true
shippingTracking:
type: string
description: |
A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).
example: RA401558525US
nullable: true
shippingTrackingURL:
type: string
format: uri
example: shipping.test.com/RA401558525US
nullable: true
customerInfo:
description: An object with the keys `fullName` and `email`.
properties:
fullName:
description: The full name of the Customer
type: string
example: Customerio Namen
email:
description: The Customer's email address
type: string
format: email
example: renning@webflow.com
purchasedItems:
type: array
description: An array of all things that the Customer purchased.
items:
description: An Item that was purchased
properties:
count:
type: number
example: 1
description: Number of Item purchased.
rowTotal:
description: The total for the row
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
productId:
type: string
format: objectid
description: The unique identifier for the Product
readOnly: true
example: 5eb9fd05caef491eb9757183
productName:
type: string
description: User-facing name of the Product
example: White Cup
productSlug:
type: string
description: Slug for the Product
example: white-cup
variantId:
type: string
description: Identifier for the Product Variant (SKU)
example: 5eb9fcace279761d8199790c
variantName:
type: string
description: User-facing name of the Product Variant (SKU)
example: Red
variantSlug:
type: string
description: Slug for the Product Variant (SKU)
example: red
variantSKU:
description: The user-defined custom SKU of the Product Variant (SKU)
type: string
example: red-medium
variantImage:
properties:
url:
description: The hosted location for the Variant's image
type: string
format: uri
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png
file:
type: object
properties:
size:
description: The image size in bytes
type: number
example: 21064
originalFileName:
description: the original name of the image
type: string
example: cup.jpg
createdOn:
description: The creation timestamp of the image
type: string
format: date-time
example: '2018-12-03T22:06:15.761Z'
contentType:
description: The MIME type of the image
format: mime-type
type: string
example: image/jpeg
width:
description: The image width in pixels
type: integer
example: 640
height:
description: The image height in pixels
type: integer
example: 480
variants:
description: Variants of the supplied image
type: array
items:
type: object
properties:
url:
description: The hosted location for the Variant's image
format: uri
type: string
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png
originalFileName:
type: string
example: cup.jpg
size:
description: The image size in bytes
type: number
example: 12040
width:
description: The image width in pixels
type: integer
example: 320
height:
description: The image height in pixels
type: integer
example: 240
variantPrice:
description: The price corresponding to the variant
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
weight:
type: number
example: 5
default:
nullable: true
description: The physical weight of the variant if provided, or null
width:
type: number
example: 4
nullable: true
default:
description: The physical width of the variant if provided, or null
height:
type: number
example: 7
nullable: true
default:
description: The physical height of the variant if provided, or null
length:
type: number
example: 2
nullable: true
default:
description: The physical length of the variant if provided, or null
purchasedItemsCount:
type: number
description: The sum of all 'count' fields in 'purchasedItems'.
example: 1
stripeDetails:
description: An object with various Stripe IDs, useful for linking into the stripe dashboard.
properties:
subscriptionId:
type: string
format: objectid
example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the Subscription
paymentMethod:
type: string
format: objectid
example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentMethod used
paymentIntentId:
type: string
format: objectid
example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentIntent, or null
customerId:
type: string
format: objectid
example: cus_E5ajeiWNHEtcAW
description: Stripe-generated customer identifier, or null
nullable: true
chargeId:
type: string
format: objectid
description: Stripe-generated charge identifier, or null
example: ch_1DdPYQKMjGA7k9mI2AKiBY6u
nullable: true
disputeId:
type: string
format: objectid
description: Stripe-generated dispute identifier, or null
example:
nullable: true
refundId:
type: string
format: objectid
description: Stripe-generated refund identifier, or null
example:
nullable: true
refundReason:
type: string
description: Stripe-generated refund reason, or null
example: requested_by_customer
nullable: true
stripeCard:
description: |
Details on the card used to fulfill this order, if this order was finalized with Stripe.
properties:
last4:
type: string
description: The last 4 digits on the card as a string
example: '4242'
brand:
type: string
description: The card's brand (ie. credit card network)
example: Visa
enum:
- Visa
- American Express
- MasterCard
- Discover
- JCB
- Diners Club
- Unknown
ownerName:
type: string
description: The name on the card.
example: Customerio Namen
expires:
type: object
description: The card's expiration date.
properties:
year:
description: Year that the card expires
type: number
example: 2025
month:
description: Month that the card expires
type: number
example: 12
paypalDetails:
type: object
properties:
orderId:
type: string
description: PayPal order identifier
example: 1a2b3c4d5e6f7g8h9i0j
payerId:
type: string
description: PayPal payer identifier
example: 9k8j7i6h5g4f3e2d1c0b
captureId:
type: string
description: PayPal capture identifier
example: qwe123rty456uio789p
refundId:
type: string
description: PayPal refund identifier
example: abcde12345fghij67890
refundReason:
type: string
description: PayPal-issued reason for the refund
example: Customer requested refund
disputeId:
type: string
description: PayPal dispute identifier
example: zxcvbnm987poiuytrewq
customData:
type: array
additionalProperties: true
description: |
An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.
items:
type: object
metadata:
type: object
properties:
isBuyNow:
type: boolean
example: false
isCustomerDeleted:
type: boolean
description: |
A boolean indicating whether the customer has been deleted from the site.
example: false
isShippingRequired:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that require shipping.
example: false
hasDownloads:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that are downloadable.
example: false
paymentProcessor:
type: string
description: |
A string indicating the payment processor used for this order.
example: stripe
totals:
description: An object describing various pricing totals
properties:
subtotal:
description: The subtotal price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
extras:
type: array
description: An array of extra items, includes discounts, shipping, and taxes.
items:
description: Extra order items, includes discounts, shipping, and taxes.
example:
type: tax
name: State Taxes
description: CA Taxes (6.25%)
price:
unit: USD
value: 344
string: $3.44
properties:
type:
type: string
example: tax
description: The type of extra item this is.
enum:
- discount
- discount-shipping
- shipping
- tax
name:
type: string
description: A human-readable (but English) name for this extra charge.
example: shipping
description:
type: string
description: A human-readable (but English) description of this extra charge.
example: Flat Rate
price:
description: The price for the item
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
total:
description: The total price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
downloadFiles:
description: An array of downloadable file objects.
type: array
default: []
items:
properties:
id:
type: string
description: The unique identifier for the downloadable file
example: 5e9a5eba75e0ac242e1b6f64
name:
type: string
description: The user-facing name for the downloadable file
example: The modern web design process - Webflow Ebook.pdf
url:
type: string
format: uri
description: The hosted location for the downloadable file
example: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/orders/{order_id}/refund:
post:
x-fern-sdk-group-name: orders
x-fern-sdk-method-name: refund
security:
- OAuth2:
- ecommerce:write
operationId: refund-order
summary: Webflow Refund Order
description: |
This API will reverse a Stripe charge and refund an order back to a
customer. It will also set the order's status to `refunded`.
Required scope | `ecommerce:write`
tags:
- Orders
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
- name: order_id
in: path
description: Unique identifier for an Order
example: 5e8518516e147040726cc415
required: true
schema:
type: string
format: objectid
requestBody:
description: The order fulfillment request
content:
application/json:
schema:
description: Update an order's status to fulfilled
properties:
reason:
type: string
description: The reason for the refund
enum:
- duplicate
- fraudulent
- requested
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
properties:
orderId:
type: string
readOnly: true
description: |
The order ID. Will usually be 6 hex characters, but can also be 9
hex characters if the site has a very large number of Orders.
Randomly assigned.
example: dfa-3f1
status:
type: string
example: unfulfilled
description: |
The status of the Order
enum:
- pending
- unfulfilled
- fulfilled
- disputed
- dispute-lost
- refunded
comment:
type: string
description: A comment string for this Order, which is editable by API user (not used by Webflow).
example: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment:
type: string
description: A comment that the customer left when making their Order
example: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn:
type: string
format: date-time
nullable: true
description: The ISO8601 timestamp that an Order was placed.
example: '2018-12-03T22:06:15.761Z'
fulfilledOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
refundedOn:
type: string
format: date-time
nullable: true
description: When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputedOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputeUpdatedOn:
type: string
format: date-time
nullable: true
description: |
If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null.
example: '2018-12-03T22:06:15.761Z'
disputeLastStatus:
type: string
description: |
If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).
example:
enum:
- warning_needs_response
- warning_under_review
- warning_closed
- needs_response
- under_review
- charge_refunded
- won
- lost
nullable: true
customerPaid:
description: The total paid by the customer
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
netAmount:
description: The net amount after application fees
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
applicationFee:
description: The application fee assessed by the platform
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
allAddresses:
description: All addresses provided by the customer during the ordering flow.
type: array
example:
- type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
- type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
items:
description: A customer address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
shippingAddress:
description: The shipping address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
billingAddress:
description: The billing address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
shippingProvider:
type: string
description: |
A string editable by the API user to note the shipping provider used (not used by Webflow).
example: USPS
nullable: true
shippingTracking:
type: string
description: |
A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).
example: RA401558525US
nullable: true
shippingTrackingURL:
type: string
format: uri
example: shipping.test.com/RA401558525US
nullable: true
customerInfo:
description: An object with the keys `fullName` and `email`.
properties:
fullName:
description: The full name of the Customer
type: string
example: Customerio Namen
email:
description: The Customer's email address
type: string
format: email
example: renning@webflow.com
purchasedItems:
type: array
description: An array of all things that the Customer purchased.
items:
description: An Item that was purchased
properties:
count:
type: number
example: 1
description: Number of Item purchased.
rowTotal:
description: The total for the row
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
productId:
type: string
format: objectid
description: The unique identifier for the Product
readOnly: true
example: 5eb9fd05caef491eb9757183
productName:
type: string
description: User-facing name of the Product
example: White Cup
productSlug:
type: string
description: Slug for the Product
example: white-cup
variantId:
type: string
description: Identifier for the Product Variant (SKU)
example: 5eb9fcace279761d8199790c
variantName:
type: string
description: User-facing name of the Product Variant (SKU)
example: Red
variantSlug:
type: string
description: Slug for the Product Variant (SKU)
example: red
variantSKU:
description: The user-defined custom SKU of the Product Variant (SKU)
type: string
example: red-medium
variantImage:
properties:
url:
description: The hosted location for the Variant's image
type: string
format: uri
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png
file:
type: object
properties:
size:
description: The image size in bytes
type: number
example: 21064
originalFileName:
description: the original name of the image
type: string
example: cup.jpg
createdOn:
description: The creation timestamp of the image
type: string
format: date-time
example: '2018-12-03T22:06:15.761Z'
contentType:
description: The MIME type of the image
format: mime-type
type: string
example: image/jpeg
width:
description: The image width in pixels
type: integer
example: 640
height:
description: The image height in pixels
type: integer
example: 480
variants:
description: Variants of the supplied image
type: array
items:
type: object
properties:
url:
description: The hosted location for the Variant's image
format: uri
type: string
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png
originalFileName:
type: string
example: cup.jpg
size:
description: The image size in bytes
type: number
example: 12040
width:
description: The image width in pixels
type: integer
example: 320
height:
description: The image height in pixels
type: integer
example: 240
variantPrice:
description: The price corresponding to the variant
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
weight:
type: number
example: 5
default:
nullable: true
description: The physical weight of the variant if provided, or null
width:
type: number
example: 4
nullable: true
default:
description: The physical width of the variant if provided, or null
height:
type: number
example: 7
nullable: true
default:
description: The physical height of the variant if provided, or null
length:
type: number
example: 2
nullable: true
default:
description: The physical length of the variant if provided, or null
purchasedItemsCount:
type: number
description: The sum of all 'count' fields in 'purchasedItems'.
example: 1
stripeDetails:
description: An object with various Stripe IDs, useful for linking into the stripe dashboard.
properties:
subscriptionId:
type: string
format: objectid
example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the Subscription
paymentMethod:
type: string
format: objectid
example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentMethod used
paymentIntentId:
type: string
format: objectid
example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentIntent, or null
customerId:
type: string
format: objectid
example: cus_E5ajeiWNHEtcAW
description: Stripe-generated customer identifier, or null
nullable: true
chargeId:
type: string
format: objectid
description: Stripe-generated charge identifier, or null
example: ch_1DdPYQKMjGA7k9mI2AKiBY6u
nullable: true
disputeId:
type: string
format: objectid
description: Stripe-generated dispute identifier, or null
example:
nullable: true
refundId:
type: string
format: objectid
description: Stripe-generated refund identifier, or null
example:
nullable: true
refundReason:
type: string
description: Stripe-generated refund reason, or null
example: requested_by_customer
nullable: true
stripeCard:
description: |
Details on the card used to fulfill this order, if this order was finalized with Stripe.
properties:
last4:
type: string
description: The last 4 digits on the card as a string
example: '4242'
brand:
type: string
description: The card's brand (ie. credit card network)
example: Visa
enum:
- Visa
- American Express
- MasterCard
- Discover
- JCB
- Diners Club
- Unknown
ownerName:
type: string
description: The name on the card.
example: Customerio Namen
expires:
type: object
description: The card's expiration date.
properties:
year:
description: Year that the card expires
type: number
example: 2025
month:
description: Month that the card expires
type: number
example: 12
paypalDetails:
type: object
properties:
orderId:
type: string
description: PayPal order identifier
example: 1a2b3c4d5e6f7g8h9i0j
payerId:
type: string
description: PayPal payer identifier
example: 9k8j7i6h5g4f3e2d1c0b
captureId:
type: string
description: PayPal capture identifier
example: qwe123rty456uio789p
refundId:
type: string
description: PayPal refund identifier
example: abcde12345fghij67890
refundReason:
type: string
description: PayPal-issued reason for the refund
example: Customer requested refund
disputeId:
type: string
description: PayPal dispute identifier
example: zxcvbnm987poiuytrewq
customData:
type: array
additionalProperties: true
description: |
An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.
items:
type: object
metadata:
type: object
properties:
isBuyNow:
type: boolean
example: false
isCustomerDeleted:
type: boolean
description: |
A boolean indicating whether the customer has been deleted from the site.
example: false
isShippingRequired:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that require shipping.
example: false
hasDownloads:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that are downloadable.
example: false
paymentProcessor:
type: string
description: |
A string indicating the payment processor used for this order.
example: stripe
totals:
description: An object describing various pricing totals
properties:
subtotal:
description: The subtotal price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
extras:
type: array
description: An array of extra items, includes discounts, shipping, and taxes.
items:
description: Extra order items, includes discounts, shipping, and taxes.
example:
type: tax
name: State Taxes
description: CA Taxes (6.25%)
price:
unit: USD
value: 344
string: $3.44
properties:
type:
type: string
example: tax
description: The type of extra item this is.
enum:
- discount
- discount-shipping
- shipping
- tax
name:
type: string
description: A human-readable (but English) name for this extra charge.
example: shipping
description:
type: string
description: A human-readable (but English) description of this extra charge.
example: Flat Rate
price:
description: The price for the item
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
total:
description: The total price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
downloadFiles:
description: An array of downloadable file objects.
type: array
default: []
items:
properties:
id:
type: string
description: The unique identifier for the downloadable file
example: 5e9a5eba75e0ac242e1b6f64
name:
type: string
description: The user-facing name for the downloadable file
example: The modern web design process - Webflow Ebook.pdf
url:
type: string
format: uri
description: The hosted location for the downloadable file
example: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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: []
/collections/{sku_collection_id}/items/{sku_id}/inventory:
get:
x-fern-sdk-group-name: inventory
x-fern-sdk-method-name: list
security:
- OAuth2:
- ecommerce:read
operationId: list-inventory
summary: Webflow List Inventory
description: |
List the current inventory levels for a particular SKU item.
Required scope | `ecommerce:read`
tags:
- Inventory
parameters:
- name: sku_collection_id
in: path
description: Unique identifier for a SKU collection. Use the List Collections API to find this ID.
example: 6377a7c4b7a79608c34a46f7
required: true
schema:
type: string
format: objectid
- name: sku_id
in: path
description: Unique identifier for a SKU
example: 5e8518516e147040726cc415
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: The availabile inventory for an item
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for a SKU item
example: 5bfedb42bab0ad90fa7dad39
quantity:
type: number
description: Total quantity of items remaining in inventory (if inventoryType is finite)
example: 100
inventoryType:
type: string
description: infinite or finite
enum:
- infinite
- finite
example: finite
example:
id: 5bfedb42bab0ad90fa7dad39
quantity: 100
inventoryType: finite
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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: []
patch:
x-fern-sdk-group-name: inventory
x-fern-sdk-method-name: update
security:
- OAuth2:
- ecommerce:write
operationId: update-inventory
summary: Webflow Update Item Inventory
description: |
Updates the current inventory levels for a particular SKU item.
Updates may be given in one or two methods, absolutely or incrementally.
- Absolute updates are done by setting `quantity` directly.
- Incremental updates are by specifying the inventory delta in `updateQuantity` which is then added to the `quantity` stored on the server.
Required scope | `ecommerce:write`
tags:
- Inventory
parameters:
- name: sku_collection_id
in: path
description: Unique identifier for a SKU collection. Use the List Collections API to find this ID.
example: 6377a7c4b7a79608c34a46f7
required: true
schema:
type: string
format: objectid
- name: sku_id
in: path
description: Unique identifier for a SKU
example: 5e8518516e147040726cc415
required: true
schema:
type: string
format: objectid
requestBody:
description: The updated inventory
required: true
content:
application/json:
schema:
type: object
required:
- inventoryType
properties:
inventoryType:
type: string
description: infinite or finite
enum:
- infinite
- finite
example: finite
updateQuantity:
type: number
description: Adds this quantity to currently store quantity. Can be negative.
example: 1
quantity:
type: number
description: Immediately sets quantity to this value.
example: 100
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: The availabile inventory for an item
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for a SKU item
example: 5bfedb42bab0ad90fa7dad39
quantity:
type: number
description: Total quantity of items remaining in inventory (if inventoryType is finite)
example: 100
inventoryType:
type: string
description: infinite or finite
enum:
- infinite
- finite
example: finite
example:
id: 5bfedb42bab0ad90fa7dad39
quantity: 100
inventoryType: finite
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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}/ecommerce/settings:
get:
x-fern-sdk-group-name: ecommerce
x-fern-sdk-method-name: get-settings
security:
- OAuth2:
- ecommerce:read
operationId: ecommerce-settings
summary: Webflow Get Ecommerce Settings
description: |
Retrieve ecommerce settings for a site.
Required scope | `ecommerce:read`
tags:
- Settings
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default:
responses:
'200':
description: Request was successful
content:
application/json:
schema:
description: Ecommerce settings for a Webflow Site
properties:
siteId:
type: string
readOnly: true
description: The identifier of the Site
example: 5eb0b5583bf24e2d3a488969
format: objectid
createdOn:
type: string
format: date-time
readOnly: true
description: Date that the Site was created on
example: '2018-10-04T15:21:02.042Z'
defaultCurrency:
type: string
description: The three-letter ISO currency code for the Site
example: USD
'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: Provided access token is valid, but is missing the required scopes.
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: missing_scopes
message: 'OAuthForbidden: You are missing the following scopes - components:write'
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: []
'409':
description: The site does not have ecommerce enabled.
x-logErrorCode: 409
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: ecommerce_not_enabled
message: Ecommerce is not yet initialized
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
webhooks:
form_submission:
post:
operationId: form_submission
summary: Form Submission
description: Information about a form that was subitted
tags:
- Forms
- Sites
requestBody:
description: The form data submitted
content:
application/json:
schema:
description: The Webhook payload for when a form is submitted
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: form_submission
payload:
type: object
description: The payload of data sent from Webflow
properties:
name:
type: string
description: The name of the form
example: Sample Form
siteId:
type: string
format: objectid
description: The ID of the site that the form was submitted from
example: 62749158efef318abc8d5a0f
data:
type: object
description: The data submitted in the form
example:
name: Arthur Dent
email: arthur.dent@mostlyharmless.com
schema:
description: A list of fields from the submitted form
type: array
items:
type: object
properties:
fieldName:
description: Form field name
type: string
example: First Name
fieldType:
description: Form field type
type: string
enum:
- FormTextInput
- FormTextarea
- FormCheckboxInput
- FormRadioInput
- FormFileUploadInput
example: FormTextInput
fieldElementId:
description: Element ID of the Form Field
type: string
format: UUID
example: 285042f7-d554-dc7f-102c-aa10d6a2d2c4
submittedAt:
type: string
description: The timestamp the form was submitted
example: '2022-09-14T12:35:16.117Z'
id:
type: string
description: the ID of the event
example: 6321ca84df3949bfc6752327
formId:
type: string
format: objectid
description: The ID of the form submission
example: 6321ca84df3949bfc6752327
formElementId:
type: string
nullable: true
description: The uniqueID of the Form element
example: 4e038d2c-6a1e-4953-7be9-a59a2b453177
example:
triggerType: form_submission
payload:
name: Contact Us
siteId: 65427cf400e02b306eaa049c
data:
First Name: Zaphod
Last Name: Beeblebrox
email: zaphod@heartofgold.ai
Phone Number: 15550000000
schema:
- fieldName: First Name
fieldType: FormTextInput
fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c4
- fieldName: Last Name
fieldType: FormTextInput
fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c5
- fieldName: email
fieldType: FormTextInput
fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c6
- fieldName: Phone Number
fieldType: FormTextInput
fieldElementId: 285042f7-d554-dc7f-102c-aa10d6a2d2c7
submittedAt: '2022-09-14T12:35:16.117Z'
id: 6321ca84df3949bfc6752327
formId: 65429eadebe8a9f3a30f62d0
formElementId: 4e038d2c-6a1e-4953-7be9-a59a2b453177
site_publish:
post:
operationId: site_publish
summary: Site Publish
description: Information about a site that was published
tags:
- Sites
requestBody:
description: The information about the site(s) published
content:
application/json:
schema:
description: The Webhook payload for when a Site is published
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: site_publish
payload:
type: object
description: The payload of data sent from Webflow
properties:
siteId:
description: The ID of the site that was published
type: string
format: objectid
example: 62749158efef318abc8d5a0f
publishedOn:
description: The timestamp of the publish event
type: string
format: date-time
example: '2024-07-26T16:43:20.440Z'
domains:
description: The domains that were published
type: array
items:
type: string
example:
- heartofgold.webflow.io
publishedBy:
type: object
description: The name andID of the user who published the site
example:
displayName: Zaphod BeebleBrox
example:
triggerType: site_publish
payload:
site: 62749158efef318abc8d5a0f
publishTime: '2024-07-26T16:43:20.440Z'
domains:
- heartofgold.webflow.io
publishedBy:
displayName: Zaphod BeebleBrox
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
ecomm_new_order:
post:
operationId: ecomm_new_order
summary: New eComm Order
description: Information about a new ecommerce order
tags:
- Orders
requestBody:
description: The information about the new order
content:
application/json:
schema:
description: The Webhook payload for when a new order is created
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: ecomm_new_order
payload:
type: object
properties:
orderId:
type: string
readOnly: true
description: |
The order ID. Will usually be 6 hex characters, but can also be 9
hex characters if the site has a very large number of Orders.
Randomly assigned.
example: dfa-3f1
status:
type: string
example: unfulfilled
description: |
The status of the Order
enum:
- pending
- unfulfilled
- fulfilled
- disputed
- dispute-lost
- refunded
comment:
type: string
description: A comment string for this Order, which is editable by API user (not used by Webflow).
example: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment:
type: string
description: A comment that the customer left when making their Order
example: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn:
type: string
format: date-time
nullable: true
description: The ISO8601 timestamp that an Order was placed.
example: '2018-12-03T22:06:15.761Z'
fulfilledOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
refundedOn:
type: string
format: date-time
nullable: true
description: When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputedOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputeUpdatedOn:
type: string
format: date-time
nullable: true
description: |
If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null.
example: '2018-12-03T22:06:15.761Z'
disputeLastStatus:
type: string
description: |
If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).
example:
enum:
- warning_needs_response
- warning_under_review
- warning_closed
- needs_response
- under_review
- charge_refunded
- won
- lost
nullable: true
customerPaid:
description: The total paid by the customer
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
netAmount:
description: The net amount after application fees
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
applicationFee:
description: The application fee assessed by the platform
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
allAddresses:
description: All addresses provided by the customer during the ordering flow.
type: array
example:
- type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
- type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
items:
description: A customer address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
shippingAddress:
description: The shipping address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
billingAddress:
description: The billing address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
shippingProvider:
type: string
description: |
A string editable by the API user to note the shipping provider used (not used by Webflow).
example: USPS
nullable: true
shippingTracking:
type: string
description: |
A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).
example: RA401558525US
nullable: true
shippingTrackingURL:
type: string
format: uri
example: shipping.test.com/RA401558525US
nullable: true
customerInfo:
description: An object with the keys `fullName` and `email`.
properties:
fullName:
description: The full name of the Customer
type: string
example: Customerio Namen
email:
description: The Customer's email address
type: string
format: email
example: renning@webflow.com
purchasedItems:
type: array
description: An array of all things that the Customer purchased.
items:
description: An Item that was purchased
properties:
count:
type: number
example: 1
description: Number of Item purchased.
rowTotal:
description: The total for the row
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
productId:
type: string
format: objectid
description: The unique identifier for the Product
readOnly: true
example: 5eb9fd05caef491eb9757183
productName:
type: string
description: User-facing name of the Product
example: White Cup
productSlug:
type: string
description: Slug for the Product
example: white-cup
variantId:
type: string
description: Identifier for the Product Variant (SKU)
example: 5eb9fcace279761d8199790c
variantName:
type: string
description: User-facing name of the Product Variant (SKU)
example: Red
variantSlug:
type: string
description: Slug for the Product Variant (SKU)
example: red
variantSKU:
description: The user-defined custom SKU of the Product Variant (SKU)
type: string
example: red-medium
variantImage:
properties:
url:
description: The hosted location for the Variant's image
type: string
format: uri
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png
file:
type: object
properties:
size:
description: The image size in bytes
type: number
example: 21064
originalFileName:
description: the original name of the image
type: string
example: cup.jpg
createdOn:
description: The creation timestamp of the image
type: string
format: date-time
example: '2018-12-03T22:06:15.761Z'
contentType:
description: The MIME type of the image
format: mime-type
type: string
example: image/jpeg
width:
description: The image width in pixels
type: integer
example: 640
height:
description: The image height in pixels
type: integer
example: 480
variants:
description: Variants of the supplied image
type: array
items:
type: object
properties:
url:
description: The hosted location for the Variant's image
format: uri
type: string
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png
originalFileName:
type: string
example: cup.jpg
size:
description: The image size in bytes
type: number
example: 12040
width:
description: The image width in pixels
type: integer
example: 320
height:
description: The image height in pixels
type: integer
example: 240
variantPrice:
description: The price corresponding to the variant
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
weight:
type: number
example: 5
default:
nullable: true
description: The physical weight of the variant if provided, or null
width:
type: number
example: 4
nullable: true
default:
description: The physical width of the variant if provided, or null
height:
type: number
example: 7
nullable: true
default:
description: The physical height of the variant if provided, or null
length:
type: number
example: 2
nullable: true
default:
description: The physical length of the variant if provided, or null
purchasedItemsCount:
type: number
description: The sum of all 'count' fields in 'purchasedItems'.
example: 1
stripeDetails:
description: An object with various Stripe IDs, useful for linking into the stripe dashboard.
properties:
subscriptionId:
type: string
format: objectid
example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the Subscription
paymentMethod:
type: string
format: objectid
example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentMethod used
paymentIntentId:
type: string
format: objectid
example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentIntent, or null
customerId:
type: string
format: objectid
example: cus_E5ajeiWNHEtcAW
description: Stripe-generated customer identifier, or null
nullable: true
chargeId:
type: string
format: objectid
description: Stripe-generated charge identifier, or null
example: ch_1DdPYQKMjGA7k9mI2AKiBY6u
nullable: true
disputeId:
type: string
format: objectid
description: Stripe-generated dispute identifier, or null
example:
nullable: true
refundId:
type: string
format: objectid
description: Stripe-generated refund identifier, or null
example:
nullable: true
refundReason:
type: string
description: Stripe-generated refund reason, or null
example: requested_by_customer
nullable: true
stripeCard:
description: |
Details on the card used to fulfill this order, if this order was finalized with Stripe.
properties:
last4:
type: string
description: The last 4 digits on the card as a string
example: '4242'
brand:
type: string
description: The card's brand (ie. credit card network)
example: Visa
enum:
- Visa
- American Express
- MasterCard
- Discover
- JCB
- Diners Club
- Unknown
ownerName:
type: string
description: The name on the card.
example: Customerio Namen
expires:
type: object
description: The card's expiration date.
properties:
year:
description: Year that the card expires
type: number
example: 2025
month:
description: Month that the card expires
type: number
example: 12
paypalDetails:
type: object
properties:
orderId:
type: string
description: PayPal order identifier
example: 1a2b3c4d5e6f7g8h9i0j
payerId:
type: string
description: PayPal payer identifier
example: 9k8j7i6h5g4f3e2d1c0b
captureId:
type: string
description: PayPal capture identifier
example: qwe123rty456uio789p
refundId:
type: string
description: PayPal refund identifier
example: abcde12345fghij67890
refundReason:
type: string
description: PayPal-issued reason for the refund
example: Customer requested refund
disputeId:
type: string
description: PayPal dispute identifier
example: zxcvbnm987poiuytrewq
customData:
type: array
additionalProperties: true
description: |
An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.
items:
type: object
metadata:
type: object
properties:
isBuyNow:
type: boolean
example: false
isCustomerDeleted:
type: boolean
description: |
A boolean indicating whether the customer has been deleted from the site.
example: false
isShippingRequired:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that require shipping.
example: false
hasDownloads:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that are downloadable.
example: false
paymentProcessor:
type: string
description: |
A string indicating the payment processor used for this order.
example: stripe
totals:
description: An object describing various pricing totals
properties:
subtotal:
description: The subtotal price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
extras:
type: array
description: An array of extra items, includes discounts, shipping, and taxes.
items:
description: Extra order items, includes discounts, shipping, and taxes.
example:
type: tax
name: State Taxes
description: CA Taxes (6.25%)
price:
unit: USD
value: 344
string: $3.44
properties:
type:
type: string
example: tax
description: The type of extra item this is.
enum:
- discount
- discount-shipping
- shipping
- tax
name:
type: string
description: A human-readable (but English) name for this extra charge.
example: shipping
description:
type: string
description: A human-readable (but English) description of this extra charge.
example: Flat Rate
price:
description: The price for the item
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
total:
description: The total price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
downloadFiles:
description: An array of downloadable file objects.
type: array
default: []
items:
properties:
id:
type: string
description: The unique identifier for the downloadable file
example: 5e9a5eba75e0ac242e1b6f64
name:
type: string
description: The user-facing name for the downloadable file
example: The modern web design process - Webflow Ebook.pdf
url:
type: string
format: uri
description: The hosted location for the downloadable file
example: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
triggerType: ecomm_new_order
payload:
orderId: fc7-128
status: unfulfilled
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn:
refundedOn:
disputedOn:
disputeUpdatedOn:
disputeLastStatus:
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
ecomm_order_changed:
post:
operationId: ecomm_order_changed
summary: Updated eComm Order
description: Information about an updated ecommerce order
tags:
- Orders
requestBody:
description: The information about the order that changed
content:
application/json:
schema:
description: The Webhook payload for when an order is updated
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: ecomm_order_changed
payload:
type: object
properties:
orderId:
type: string
readOnly: true
description: |
The order ID. Will usually be 6 hex characters, but can also be 9
hex characters if the site has a very large number of Orders.
Randomly assigned.
example: dfa-3f1
status:
type: string
example: unfulfilled
description: |
The status of the Order
enum:
- pending
- unfulfilled
- fulfilled
- disputed
- dispute-lost
- refunded
comment:
type: string
description: A comment string for this Order, which is editable by API user (not used by Webflow).
example: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment:
type: string
description: A comment that the customer left when making their Order
example: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn:
type: string
format: date-time
nullable: true
description: The ISO8601 timestamp that an Order was placed.
example: '2018-12-03T22:06:15.761Z'
fulfilledOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'fulfilled', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
refundedOn:
type: string
format: date-time
nullable: true
description: When an Order is marked as 'refunded', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputedOn:
type: string
format: date-time
nullable: true
description: |
When an Order is marked as 'disputed', this field represents the timestamp of the fulfillment in ISO8601 format. Otherwise, it is null.
example: '2018-12-03T22:06:15.761Z'
disputeUpdatedOn:
type: string
format: date-time
nullable: true
description: |
If an Order has been disputed by the customer, this key will be set to the ISO8601 timestamp of the last update received. If the Order is not disputed, the key will be null.
example: '2018-12-03T22:06:15.761Z'
disputeLastStatus:
type: string
description: |
If an order was disputed by the customer, then this key will be set with the [dispute's status](https://stripe.com/docs/api#dispute_object-status).
example:
enum:
- warning_needs_response
- warning_under_review
- warning_closed
- needs_response
- under_review
- charge_refunded
- won
- lost
nullable: true
customerPaid:
description: The total paid by the customer
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
netAmount:
description: The net amount after application fees
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
applicationFee:
description: The application fee assessed by the platform
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
allAddresses:
description: All addresses provided by the customer during the ordering flow.
type: array
example:
- type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
- type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
items:
description: A customer address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
shippingAddress:
description: The shipping address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: shipping
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
billingAddress:
description: The billing address
properties:
type:
description: The type of the order address (billing or shipping)
type: string
enum:
- shipping
- billing
example: shipping
japanType:
description: Represents a Japan-only address format. This field will only appear on orders placed from Japan.
type: string
enum:
- kana
- kanji
nullable: true
example: kanji
addressee:
description: Display name on the address
type: string
example: Customerio Namen
line1:
type: string
example: 123 Example Rd
description: The first line of the address
line2:
type: string
example: ''
description: The second line of the address
city:
type: string
example: Examplesville
description: The city of the address.
state:
type: string
example: CA
description: The state or province of the address
country:
type: string
example: US
description: The country of the address
postalCode:
type: string
example: 90012
description: The postal code of the address
example:
type: billing
japanType: kanji
addressee: Custmerio Namen
line1: 123 Example Road
line2: Unit 3
city: Examplesville
state: CA
country: US
postalCode: 90012
shippingProvider:
type: string
description: |
A string editable by the API user to note the shipping provider used (not used by Webflow).
example: USPS
nullable: true
shippingTracking:
type: string
description: |
A string editable by the API user to note the shipping tracking number for the order (not used by Webflow).
example: RA401558525US
nullable: true
shippingTrackingURL:
type: string
format: uri
example: shipping.test.com/RA401558525US
nullable: true
customerInfo:
description: An object with the keys `fullName` and `email`.
properties:
fullName:
description: The full name of the Customer
type: string
example: Customerio Namen
email:
description: The Customer's email address
type: string
format: email
example: renning@webflow.com
purchasedItems:
type: array
description: An array of all things that the Customer purchased.
items:
description: An Item that was purchased
properties:
count:
type: number
example: 1
description: Number of Item purchased.
rowTotal:
description: The total for the row
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
productId:
type: string
format: objectid
description: The unique identifier for the Product
readOnly: true
example: 5eb9fd05caef491eb9757183
productName:
type: string
description: User-facing name of the Product
example: White Cup
productSlug:
type: string
description: Slug for the Product
example: white-cup
variantId:
type: string
description: Identifier for the Product Variant (SKU)
example: 5eb9fcace279761d8199790c
variantName:
type: string
description: User-facing name of the Product Variant (SKU)
example: Red
variantSlug:
type: string
description: Slug for the Product Variant (SKU)
example: red
variantSKU:
description: The user-defined custom SKU of the Product Variant (SKU)
type: string
example: red-medium
variantImage:
properties:
url:
description: The hosted location for the Variant's image
type: string
format: uri
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-unsplas.png
file:
type: object
properties:
size:
description: The image size in bytes
type: number
example: 21064
originalFileName:
description: the original name of the image
type: string
example: cup.jpg
createdOn:
description: The creation timestamp of the image
type: string
format: date-time
example: '2018-12-03T22:06:15.761Z'
contentType:
description: The MIME type of the image
format: mime-type
type: string
example: image/jpeg
width:
description: The image width in pixels
type: integer
example: 640
height:
description: The image height in pixels
type: integer
example: 480
variants:
description: Variants of the supplied image
type: array
items:
type: object
properties:
url:
description: The hosted location for the Variant's image
format: uri
type: string
example: https://dev-assets.website-files.com/5bfedb42bab0ad90fa7dac03/5bfedb42bab0ad90fa7dad2e_5bb3d019b3465c6e8a324dd7_458036-example.png
originalFileName:
type: string
example: cup.jpg
size:
description: The image size in bytes
type: number
example: 12040
width:
description: The image width in pixels
type: integer
example: 320
height:
description: The image height in pixels
type: integer
example: 240
variantPrice:
description: The price corresponding to the variant
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
weight:
type: number
example: 5
default:
nullable: true
description: The physical weight of the variant if provided, or null
width:
type: number
example: 4
nullable: true
default:
description: The physical width of the variant if provided, or null
height:
type: number
example: 7
nullable: true
default:
description: The physical height of the variant if provided, or null
length:
type: number
example: 2
nullable: true
default:
description: The physical length of the variant if provided, or null
purchasedItemsCount:
type: number
description: The sum of all 'count' fields in 'purchasedItems'.
example: 1
stripeDetails:
description: An object with various Stripe IDs, useful for linking into the stripe dashboard.
properties:
subscriptionId:
type: string
format: objectid
example: sub_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the Subscription
paymentMethod:
type: string
format: objectid
example: pm_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentMethod used
paymentIntentId:
type: string
format: objectid
example: pi_1J6xwG2eZvKYlo2CXu9Zt0Tn
nullable: true
description: Stripe-generated identifier for the PaymentIntent, or null
customerId:
type: string
format: objectid
example: cus_E5ajeiWNHEtcAW
description: Stripe-generated customer identifier, or null
nullable: true
chargeId:
type: string
format: objectid
description: Stripe-generated charge identifier, or null
example: ch_1DdPYQKMjGA7k9mI2AKiBY6u
nullable: true
disputeId:
type: string
format: objectid
description: Stripe-generated dispute identifier, or null
example:
nullable: true
refundId:
type: string
format: objectid
description: Stripe-generated refund identifier, or null
example:
nullable: true
refundReason:
type: string
description: Stripe-generated refund reason, or null
example: requested_by_customer
nullable: true
stripeCard:
description: |
Details on the card used to fulfill this order, if this order was finalized with Stripe.
properties:
last4:
type: string
description: The last 4 digits on the card as a string
example: '4242'
brand:
type: string
description: The card's brand (ie. credit card network)
example: Visa
enum:
- Visa
- American Express
- MasterCard
- Discover
- JCB
- Diners Club
- Unknown
ownerName:
type: string
description: The name on the card.
example: Customerio Namen
expires:
type: object
description: The card's expiration date.
properties:
year:
description: Year that the card expires
type: number
example: 2025
month:
description: Month that the card expires
type: number
example: 12
paypalDetails:
type: object
properties:
orderId:
type: string
description: PayPal order identifier
example: 1a2b3c4d5e6f7g8h9i0j
payerId:
type: string
description: PayPal payer identifier
example: 9k8j7i6h5g4f3e2d1c0b
captureId:
type: string
description: PayPal capture identifier
example: qwe123rty456uio789p
refundId:
type: string
description: PayPal refund identifier
example: abcde12345fghij67890
refundReason:
type: string
description: PayPal-issued reason for the refund
example: Customer requested refund
disputeId:
type: string
description: PayPal dispute identifier
example: zxcvbnm987poiuytrewq
customData:
type: array
additionalProperties: true
description: |
An array of additional inputs for custom order data gathering. Each object in the array represents an input with a name, and a textInput, textArea, or checkbox value.
items:
type: object
metadata:
type: object
properties:
isBuyNow:
type: boolean
example: false
isCustomerDeleted:
type: boolean
description: |
A boolean indicating whether the customer has been deleted from the site.
example: false
isShippingRequired:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that require shipping.
example: false
hasDownloads:
type: boolean
description: |
A boolean indicating whether the order contains one or more purchased items that are downloadable.
example: false
paymentProcessor:
type: string
description: |
A string indicating the payment processor used for this order.
example: stripe
totals:
description: An object describing various pricing totals
properties:
subtotal:
description: The subtotal price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
extras:
type: array
description: An array of extra items, includes discounts, shipping, and taxes.
items:
description: Extra order items, includes discounts, shipping, and taxes.
example:
type: tax
name: State Taxes
description: CA Taxes (6.25%)
price:
unit: USD
value: 344
string: $3.44
properties:
type:
type: string
example: tax
description: The type of extra item this is.
enum:
- discount
- discount-shipping
- shipping
- tax
name:
type: string
description: A human-readable (but English) name for this extra charge.
example: shipping
description:
type: string
description: A human-readable (but English) description of this extra charge.
example: Flat Rate
price:
description: The price for the item
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
total:
description: The total price
properties:
unit:
description: The three-letter ISO currency code
type: string
example: USD
value:
description: The numeric value in the base unit of the currency
type: string
example: '5892'
string:
description: The user-facing string representation of the amount
type: string
example: $58.92
downloadFiles:
description: An array of downloadable file objects.
type: array
default: []
items:
properties:
id:
type: string
description: The unique identifier for the downloadable file
example: 5e9a5eba75e0ac242e1b6f64
name:
type: string
description: The user-facing name for the downloadable file
example: The modern web design process - Webflow Ebook.pdf
url:
type: string
format: uri
description: The hosted location for the downloadable file
example: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
example:
triggerType: ecomm_order_changed
payload:
orderId: fc7-128
status: refunded
comment: 'Customer requested gift wrapping and a personalized note saying: Happy Birthday, Ford! 🎉 Please ensure the item is packed with extra bubble wrap for safe transit.'
orderComment: Please gift wrap with a personal note saying "Happy Birthday, Ford! 🎉
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: '2024-03-29T21:29:21.555Z'
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: '2024-03-29T21:29:21.555Z'
disputeUpdatedOn: '2024-03-29T21:29:21.555Z'
disputeLastStatus: charge_refunded
customerPaid:
unit: USD
value: 11873
string: $ 118.73 USD
netAmount:
unit: USD
value: 11262
string: $ 112.62 USD
applicationFee:
unit: USD
value: 237
string: $ 2.37 USD
allAddresses:
- type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
- type: shipping
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingAddress:
type: shipping
japanType: kanji
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
shippingProvider: Shipping Company, Co.
shippingTracking: tr00000000001
shippingTrackingURL: https://www.shippingcompany.com/tracking/tr00000000001
customerInfo:
fullName: Arthur Dent
email: arthur.dent@example.com
purchasedItems:
- count: 1
rowTotal:
unit: USD
value: 5561
string: $ 55.61 USD
productId: 66072fb61b89448912e26791
productName: Luxurious Fresh Ball
productSlug: luxurious-fresh-ball
variantId: 66072fb71b89448912e2683f
variantName: 'Luxurious Fresh Ball Generic: Bronze, Practical: Plastic'
variantSlug: luxurious-fresh-ball-generic-bronze-practical-plastic
variantSKU: luxurious-fresh-ball-generic-bronze-practical-plastic
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2672c_image14.jpeg
file:
variantPrice:
unit: USD
value: 5561
string: $ 55.61 USD
weight: 11
height: 70
width: 82
length: 9
- count: 1
rowTotal:
unit: USD
value: 5344
string: $ 53.44 USD
productId: 66072fb61b89448912e26799
productName: Recycled Steel Gloves
productSlug: recycled-steel-gloves
variantId: 66072fb91b89448912e26ab9
variantName: 'Recycled Steel Gloves Electronic: Granite, Handcrafted: grey'
variantSlug: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantSKU: recycled-steel-gloves-electronic-granite-handcrafted-grey
variantImage:
url: https://dev-assets.website-files.com/66072f39417a2a35b2589cc7/66072fb51b89448912e2671e_image2.jpeg
file:
variantPrice:
unit: USD
value: 5344
string: $ 53.44 USD
weight: 38
height: 85
width: 76
length: 40
purchasedItemsCount: 2
stripeDetails:
customerId: cus_PpRsNHwWdUoRKR
paymentMethod: pm_1OzmzBJYFi4lcbXWHKNdXU7j
chargeId: ch_3OzmzDJYFi4lcbXW1ndkkrH2
disputeId:
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId:
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails:
customData:
- {}
metadata:
isBuyNow: false
hasDownloads: false
paymentProcessor: stripe
billingAddress:
type: billing
addressee: Arthur Dent
line1: 20 W 34th St
line2: Empire State Building
city: New York
state: New York
country: US
postalCode: '10118'
totals:
subtotal:
unit: USD
value: 10905
string: $ 109.05 USD
extras:
- type: tax
name: State Taxes
description: NY Taxes (4.00%)
price:
unit: USD
value: 436
string: $ 4.36 USD
- type: tax
name: City Taxes
description: NEW YORK Taxes (4.88%)
price:
unit: USD
value: 532
string: $ 5.32 USD
- type: shipping
name: Flat
description: ''
price:
unit: USD
value: 0
string: $ 0.00 USD
total:
unit: USD
value: 11873
string: $ 118.73 USD
isCustomerDeleted: false
isShippingRequired: true
downloadFiles:
- id: 5e9a5eba75e0ac242e1b6f64
name: New product guide
url: https://webflow.com/dashboard/download-digital-product?payload=5d93ba5e38c6b0160ab711d3;e7634a;5eb1aac72912ec06f561278c;5e9a5eba75e0ac242e1b6f63:ka2nehxy:4a1ee0a632feaab94294350087215ed89533f2f530903e3b933b638940e921aa
ecomm_inventory_changed:
post:
operationId: ecomm_inventory_changed
summary: Updated eComm Inventory
description: Information about updated ecommerce inventory values
tags:
- Inventory
requestBody:
description: The information about the inventory item that changed
content:
application/json:
schema:
type: object
properties:
triggerType:
type: string
enum:
- ecomm_inventory_changed
payload:
description: The availabile inventory for an item
properties:
id:
type: string
readOnly: true
format: objectid
description: Unique identifier for a SKU item
example: 5bfedb42bab0ad90fa7dad39
quantity:
type: number
description: Total quantity of items remaining in inventory (if inventoryType is finite)
example: 100
inventoryType:
type: string
description: infinite or finite
enum:
- infinite
- finite
example: finite
example:
id: 5bfedb42bab0ad90fa7dad39
quantity: 100
inventoryType: finite
examples:
WebhookInventoryChanged:
value:
triggerType: ecomm_inventory_changed
payload:
id: 5bfedb42bab0ad90fa7dad39
quantity: 100
inventoryType: finite
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
collection_item_created:
post:
operationId: collection_item_created
summary: Collection Item Created
description: Information about a new collection item
tags:
- Items
- Collections
requestBody:
description: The information about the collection item that was created
content:
application/json:
schema:
description: The Webhook payload for when a Collection Item is created
type: object
required:
- triggerType
- payload
properties:
triggerType:
description: The type of event that triggered the request
type: string
enum:
- collection_item_created
payload:
type: object
title: Collection Item without Locales
required:
- id
- workspaceId
- siteId
- collectionId
- fieldData
properties:
id:
type: string
format: uuid
description: Unique identifier for the Item
workspaceId:
type: string
format: uuid
description: Unique identifier of the workspace
siteId:
type: string
format: uuid
description: Unique identifier of the site
collectionId:
type: string
format: uuid
description: Unique identifier of the collection
cmsLocaleId:
type: string
format: uuid
description: Unique identifier of the CMS locale for this item
nullable: true
lastPublished:
type: string
format: date-time
nullable: true
lastUpdated:
type: string
format: date-time
createdOn:
type: string
format: date-time
isArchived:
type: boolean
isDraft:
type: boolean
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
slug:
type: string
additionalProperties: true
example:
id: 580e64008c9a982ac9b8b754
workspaceId: 625860a7a6c16d624927122f
siteId: 65427cf400e02b306eaa049c
collectionId: 664243617fcc8b464b23c4ee
cmsLocaleId: 681442a144bb80bd00480fda
lastPublished:
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
isArchived: false
isDraft: false
fieldData:
name: Pan-Galactic Gargle Blaster
slug: pan-galactic-gargle-blaster
example:
triggerType: collection_item_created
payload:
id: 580e64008c9a982ac9b8b754
workspaceId: 625860a7a6c16d624927122f
siteId: 65427cf400e02b306eaa049c
collectionId: 664243617fcc8b464b23c4ee
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
isArchived: false
isDraft: false
fieldData:
name: Pan-Galactic Gargle Blaster
slug: pan-galactic-gargle-blaster
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
collection_item_changed:
post:
operationId: collection_item_changed
summary: Collection Item Updated
description: Information about an updated collection item
tags:
- Items
- Collections
requestBody:
description: The information about the collection item that was changed
content:
application/json:
schema:
description: The Webhook payload for when a Collection Item is changed
type: object
required:
- triggerType
- payload
properties:
triggerType:
description: The type of event that triggered the request
type: string
enum:
- collection_item_changed
payload:
type: object
title: Collection Item without Locales
required:
- id
- workspaceId
- siteId
- collectionId
- fieldData
properties:
id:
type: string
format: uuid
description: Unique identifier for the Item
workspaceId:
type: string
format: uuid
description: Unique identifier of the workspace
siteId:
type: string
format: uuid
description: Unique identifier of the site
collectionId:
type: string
format: uuid
description: Unique identifier of the collection
cmsLocaleId:
type: string
format: uuid
description: Unique identifier of the CMS locale for this item
nullable: true
lastPublished:
type: string
format: date-time
nullable: true
lastUpdated:
type: string
format: date-time
createdOn:
type: string
format: date-time
isArchived:
type: boolean
isDraft:
type: boolean
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
slug:
type: string
additionalProperties: true
example:
id: 580e64008c9a982ac9b8b754
workspaceId: 625860a7a6c16d624927122f
siteId: 65427cf400e02b306eaa049c
collectionId: 664243617fcc8b464b23c4ee
cmsLocaleId: 681442a144bb80bd00480fda
lastPublished:
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
isArchived: false
isDraft: false
fieldData:
name: Pan-Galactic Gargle Blaster
slug: pan-galactic-gargle-blaster
example:
triggerType: collection_item_changed
payload:
triggerType: collection_item_created
payload:
id: 580e64008c9a982ac9b8b754
workspaceId: 625860a7a6c16d624927122f
siteId: 65427cf400e02b306eaa049c
collectionId: 664243617fcc8b464b23c4ee
lastPublished: '2023-03-17T18:47:35.560Z'
lastUpdated: '2023-03-17T18:47:35.560Z'
createdOn: '2023-03-17T18:47:35.560Z'
isArchived: false
isDraft: false
fieldData:
name: Pan-Galactic Gargle Blaster
slug: pan-galactic-gargle-blaster
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
collection_item_deleted:
post:
operationId: collection_item_deleted
summary: Collection Item Deleted
description: Information about a deleted collection item
tags:
- Items
- Collections
requestBody:
description: The results from deleting the collection item
content:
application/json:
schema:
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: collection_item_deleted
payload:
description: The payload of data sent from Webflow
type: object
properties:
id:
type: string
format: objectid
description: The ID of the collection item that was deleted
example: 6321ca84df3949bfc6752327
siteId:
type: string
format: objectid
description: The ID of the site
example: 65427cf400e02b306eaa049c
workspaceId:
type: string
format: objectid
description: The ID of the workspace
example: 625860a7a6c16d624927122f
collectionId:
type: string
format: objectid
description: The ID of the collection
example: 664243617fcc8b464b23c4ee
cmsLocaleId:
type: string
format: uuid
description: Unique identifier of the CMS locale for this item
example: 681442a144bb80bd00480fda
lastPublished:
type: string
format: date-time
nullable: true
lastUpdated:
type: string
format: date-time
createdOn:
type: string
format: date-time
isArchived:
type: boolean
isDraft:
type: boolean
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
slug:
type: string
additionalProperties: true
example:
triggerType: collection_item_deleted
payload:
id: 66424365e972c886137a1cf1
siteId: 65427cf400e02b306eaa049c
workspaceId: 625860a7a6c16d624927122f
collectionId: 664243617fcc8b464b23c4ee
cmsLocaleId: 681442a144bb80bd00480fda
lastPublished:
lastUpdated: '2025-05-28T04:44:33.216Z'
createdOn: '2025-05-28T04:27:12.667Z'
isArchived: false
isDraft: false
fieldData:
name: Earth
slug: earth
description: Mostly harmless
color: '#0000FF'
type: planet
galaxy: Milky Way
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
collection_item_published:
post:
operationId: collection_item_published
summary: Collection Item Published
description: Information about a collection item that was published
tags:
- Items
- Collections
requestBody:
description: The results from publishing the collection item
content:
application/json:
schema:
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: collection_item_published
payload:
description: The payload of data sent from Webflow
type: object
properties:
id:
type: string
format: objectid
description: The ID of the collection item that was unpublished
example: 6321ca84df3949bfc6752327
siteId:
type: string
format: objectid
description: The ID of the site
example: 65427cf400e02b306eaa049c
workspaceId:
type: string
format: objectid
description: The ID of the workspace
example: 625860a7a6c16d624927122f
collectionId:
type: string
format: objectid
description: The ID of the collection
example: 664243617fcc8b464b23c4ee
cmsLocaleId:
type: string
format: uuid
description: Unique identifier of the CMS locale for this item
example: 681442a144bb80bd00480fda
nullable: true
lastPublished:
type: string
format: date-time
nullable: true
lastUpdated:
type: string
format: date-time
createdOn:
type: string
format: date-time
isArchived:
type: boolean
isDraft:
type: boolean
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
slug:
type: string
additionalProperties: true
example:
triggerType: collection_item_published
payload:
id: 66424365e972c886137a1cf1
siteId: 65427cf400e02b306eaa049c
workspaceId: 625860a7a6c16d624927122f
collectionId: 664243617fcc8b464b23c4ee
cmsLocaleId: 681442a144bb80bd00480fda
lastPublished:
lastUpdated: '2025-05-28T04:44:33.216Z'
createdOn: '2025-05-28T04:27:12.667Z'
isArchived: false
isDraft: false
fieldData:
_locale: 681442a144bb80bd00480fda
_noSearch: false
name: Anna Gunn
slug: anna-gunn
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
collection_item_unpublished:
post:
operationId: collection_item_unpublished
summary: Collection Item Unpublished
description: Information about a collection item that was removed from the live site
tags:
- Items
- Collections
requestBody:
description: The results from unpublishing the collection item
content:
application/json:
schema:
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: collection_item_unpublished
payload:
description: The payload of data sent from Webflow
type: object
properties:
id:
type: string
format: objectid
description: The ID of the collection item that was unpublished
example: 6321ca84df3949bfc6752327
siteId:
type: string
format: objectid
description: The ID of the site
example: 65427cf400e02b306eaa049c
workspaceId:
type: string
format: objectid
description: The ID of the workspace
example: 625860a7a6c16d624927122f
collectionId:
type: string
format: objectid
description: The ID of the collection
example: 664243617fcc8b464b23c4ee
cmsLocaleId:
type: string
format: uuid
description: Unique identifier of the CMS locale for this item
example: 681442a144bb80bd00480fda
nullable: true
lastPublished:
type: string
format: date-time
nullable: true
lastUpdated:
type: string
format: date-time
createdOn:
type: string
format: date-time
isArchived:
type: boolean
isDraft:
type: boolean
fieldData:
type: object
required:
- name
- slug
properties:
name:
type: string
slug:
type: string
additionalProperties: true
example:
triggerType: collection_item_unpublished
payload:
id: 66424365e972c886137a1cf1
siteId: 65427cf400e02b306eaa049c
workspaceId: 625860a7a6c16d624927122f
collectionId: 664243617fcc8b464b23c4ee
cmsLocaleId: 681442a144bb80bd00480fda
lastPublished:
lastUpdated: '2025-05-28T04:44:33.216Z'
createdOn: '2025-05-28T04:27:12.667Z'
isArchived: false
isDraft: false
fieldData:
_locale: 681442a144bb80bd00480fda
_noSearch: false
name: Anna Gunn
slug: anna-gunn
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
page_created:
post:
operationId: page_created
summary: Page Created
description: Information about a new pages
tags:
- Pages
requestBody:
description: Details about the page that was created
content:
application/json:
schema:
description: The Webhook payload for when a Page is created
type: object
properties:
triggerType:
type: string
description: The type of event that triggered the request
example: page_created
payload:
type: object
description: The payload of data sent from Webflow
properties:
siteId:
type: string
format: objectid
example: 562ac0395358780a1f5e6fbd
pageId:
type: string
format: objectid
example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
pageTitle:
type: string
example: My New Page
createdOn:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
publishedPath:
type: string
example: /blog/my-new-page
example:
triggerType: page_created
payload:
siteId: 65427cf400e02b306eaa049c
pageId: 66a3cfb276641574f5d58311
pageTitle: Heart of Gold Specs
createdOn: '2024-07-26T16:32:50.903Z'
publishedPath: /blog/earth
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
page_metadata_updated:
post:
operationId: page_metadata_updated
summary: Page Metadata Updated
description: Information about a page's updated metadata and/or settings
tags:
- Pages
requestBody:
description: Details about the page that was updated
content:
application/json:
schema:
description: The Webhook payload for when a Page's metadata is updated
type: object
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: page_metadata_updated
payload:
description: The payload of data sent from Webflow
type: object
properties:
siteId:
type: string
format: objectid
example: 562ac0395358780a1f5e6fbd
pageId:
type: string
format: objectid
example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
pageTitle:
type: string
example: My New Page
lastUpdated:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
publishedPath:
type: string
example: /blog/earth
example:
triggerType: page_metadata_updated
payload:
siteId: 65427cf400e02b306eaa049c
pageId: 66a3cfb276641574f5d58311
pageTitle: Heart of Gold Specs
lastUpdated: '2024-07-26T16:32:50.903Z'
publishedPath: /blog/earth
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
page_deleted:
post:
operationId: page_deleted
summary: Page Deleted
description: Information about a page that was deleted
tags:
- Pages
requestBody:
description: Details about the page that was deleted
content:
application/json:
schema:
description: The Webhook payload for when a Page is deleted
type: object
properties:
triggerType:
description: The type of event that triggered the request
type: string
payload:
description: The payload of data sent from Webflow
type: object
properties:
siteId:
type: string
format: objectid
example: 562ac0395358780a1f5e6fbd
pageId:
type: string
format: objectid
example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6
pageTitle:
type: string
example: My New Page
deletedOn:
type: string
format: date-time
example: '2022-12-07T16:51:37.571Z'
publishedPath:
type: string
example: /blog/earth
example:
triggerType: page_deleted
payload:
siteId: 65427cf400e02b306eaa049c
pageId: 66a3cfb276641574f5d58311
pageTitle: Heart of Gold Specs
deletedOn: '2024-07-26T16:32:50.903Z'
publishedPath: /blog/earth
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
comment_created:
post:
operationId: comment_created
summary: New Comment Thread
description: |
Information about a new comment thread or reply
There may be a delay of up to 5 minutes before new comments appear in the system and trigger the webhook notification.
tags:
- Comments
requestBody:
description: The information about the new comment thread or reply
content:
application/json:
schema:
description: The Webhook payload for when a comment thread or reply is made on a Site
properties:
triggerType:
description: The type of event that triggered the request
type: string
example: comment_created
payload:
description: |
The comment webhook payload contains data for the thread and for replies. Check the type to determine if the payload is for a thread or a reply. The webhook payload may be delayed by up to 5 minutes.
type: object
required:
- threadId
- commentId
- type
- siteId
- pageId
- localeId
- itemId
- breakpoint
- url
- content
- isResolved
- author
- mentionedUsers
- createdOn
- lastUpdated
properties:
threadId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the comment thread
commentId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: Unique identifier for the comment reply
type:
type: string
readOnly: true
example: new_comment | reply
description: The type of comment payload
siteId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The site unique identifier
pageId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The page unique identifier
localeId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The locale unique identifier
nullable: true
itemId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The item unique identifier
nullable: true
breakpoint:
type: string
readOnly: true
example: main
description: The breakpoint the comment was left on
url:
type: string
readOnly: true
example: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ff8&pageId=679826b3b20b045e176bc4bc
description: The URL of the page the comment was left on
content:
type: string
example: This is a comment reply
description: The content of the comment reply
isResolved:
type: boolean
default: false
description: Boolean determining if the comment thread is resolved
author:
type: object
required:
- userId
- email
- name
properties:
userId:
type: string
description: The unique identifier of the author
email:
type: string
description: Email of the author
name:
type: string
description: Name of the author
example:
id: 6287ec36a841b25637c663df
email: email
name: name
mentionedUsers:
type: array
description: List of mentioned users. This is an empty array until email notifications are sent, which can take up to 5 minutes after the comment is created.
items:
type: object
required:
- userId
- email
- name
properties:
userId:
type: string
description: The unique identifier of the mentioned user
email:
type: string
description: Email of the user
name:
type: string
description: Name of the User
example:
userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was created
lastUpdated:
type: string
format: date-string
readOnly: true
example: '2023-03-17T18:47:35.560Z'
description: The date the item was last updated
example:
value:
triggerType: comment_created
payload:
threadId: 679d2ddb5196117ad04d1ffa
commentId: 679d2ddb5196117ad04d1ff8
type: new_comment
siteId: 679826b3b20b045e176bc4b5
pageId: 679826b3b20b045e176bc4bc
localeId: 67993753d910db250db64b3e
breakpoint: main
url: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ffa&pageId=679826b3b20b045e176bc4bc
content: 'This comment mentions another user [[6287ec36a841b25637c663df]] '
isResolved: false
author:
userId: 6287ec36a841b25637c663df
email: ford.prefect@heartofgold.spaceship
name: Ford Prefect
mentionedUsers:
- userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn: '2025-01-31T20:08:59.759Z'
lastUpdated: '2025-01-31T20:08:59.759Z'
example:
triggerType: comment_created
payload:
threadId: 679d2ddb5196117ad04d1ffa
commentId: 679d2ddb5196117ad04d1ff8
type: new_comment
siteId: 679826b3b20b045e176bc4b5
pageId: 679826b3b20b045e176bc4bc
localeId: 67993753d910db250db64b3e
breakpoint: main
url: https://webflow.com/design/site-slug-4ec832?workflow=comment&commentId=679d2ddb5196117ad04d1ffa&pageId=679826b3b20b045e176bc4bc
content: 'This comment mentions another user [[6287ec36a841b25637c663df]] '
isResolved: false
author:
userId: 6287ec36a841b25637c663df
email: ford.prefect@heartofgold.spaceship
name: Ford Prefect
mentionedUsers:
- userId: 6287ec36a841b25637c663df
email: arthur.dent@heartofgold.spaceship
name: Arthur Dent
createdOn: '2025-01-31T20:08:59.759Z'
lastUpdated: '2025-01-31T20:08:59.759Z'