openapi: 3.1.0
info:
version: 2.0.0
title: 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: Assets
description: Assets are files that are uploaded to your Webflow account.
- name: Custom Fonts
description: Custom fonts are font files that are uploaded to a Webflow site.
- name: Collections
description: Collections are CMS collections of items.
- 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: Settings
description: Settings are the e-commerce settings for your Webflow site.
- name: Sites
description: Sites are the sites in your Webflow workspace.
- name: Webhooks
description: Webhooks are the webhooks in your Webflow site.
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: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
/token/introspect:
get:
x-fern-sdk-group-name: token
x-fern-sdk-method-name: introspect
operationId: introspect
summary: Get Authorization Info
description: |
Information about the authorization token
Access to this endpoint requires a bearer token from a [Data Client App](/data/docs/data-clients/getting-started).
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: America/Los_Angeles
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: null
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId: null
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId: null
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: null
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: null
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: 'https://preview.mysite.com'
timeZone: America/Los_Angeles
createdOn: '2024-10-15T20:24:38.134Z'
lastUpdated: '2024-10-15T20:24:38.326Z'
lastPublished: '2024-11-15T20:24:38.326Z'
parentFolderId: 670ece123598db72d9648be1
customDomains: []
locales: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
/sites:
get:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: list
security:
- OAuth2:
- 'sites:read'
operationId: list-sites
summary: 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: America/Los_Angeles
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: null
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId: null
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId: null
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: null
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: null
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: America/Los_Angeles
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: America/Los_Angeles
parentFolderId: null
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: America/Los_Angeles
parentFolderId: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: America/Los_Angeles
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: null
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId: null
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId: null
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: null
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: null
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: America/Los_Angeles
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: null
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId: null
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: update
security:
- OAuth2:
- 'sites:write'
operationId: update-site
summary: 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: null
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: America/Los_Angeles
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: null
redirect: true
subdirectory: ''
tag: en-US
secondary:
- id: 653fd9af6a07fc9cfd7a5e56
cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d
enabled: true
displayName: French (France)
displayImageId: null
subdirectory: fr-fr
tag: fr-FR
- id: 654112a3a525b2739d97664c
cmsLocaleId: 654112a3a525b2739d97664f
enabled: true
displayName: Spanish (Mexico)
displayImageId: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name: sites
x-fern-sdk-method-name: delete
security:
- OAuth2:
- 'sites:write'
operationId: delete-site
summary: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: Publish Site
description: |
Publishes a site or an individual page to one or more domains.
If multiple individual pages are published to staging, publishing from staging to production publishes all staged changes.
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.
To publish an individual page instead of the entire site, provide the ID of the page in the `pageId` parameter.
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: null
requestBody:
content:
application/json:
schema:
type: object
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
pageId:
description: The ID of the page to publish
type: string
example: 64abc123def4567890abcde1
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
publishScope:
description: Whether the site or an individual page was published
type: string
enum:
- site
- page
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name:
- sites
- redirects
x-fern-sdk-method-name: create
security:
- OAuth2:
- 'sites:write'
operationId: create-redirect
summary: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: redirect_id
in: path
description: Unique identifier site redirect
example: 66c4cb9a20cac35ed19500e6
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name:
- sites
- redirects
x-fern-sdk-method-name: delete
security:
- OAuth2:
- 'sites:write'
operationId: delete-redirects
summary: 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: null
- name: redirect_id
in: path
description: Unique identifier site redirect
example: 66c4cb9a20cac35ed19500e6
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Sites
- Site Administration
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Sites
- Site Administration
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'/sites/{site_id}/integrations/google_tags':
get:
x-fern-sdk-group-name:
- sites
- google-tag
x-fern-sdk-method-name: list
security:
- OAuth2:
- 'sites:read'
operationId: list-google-tags
summary: List Google Tags
description: |
List all Google Tag IDs configured for a site, sorted by order.
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: null
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: A list of Google Tags configured for a site.
required:
- googleTagIds
properties:
googleTagIds:
type: array
description: 'List of Google Tags configured for a site, sorted by order.'
items:
type: object
description: A Google Tag associated with a site.
required:
- tagId
- displayName
properties:
order:
type: integer
description: Display order of the tag. Optional on input; always present on output. Auto-assigned for new tags and renormalized after deletion.
example: 1
displayName:
type: string
description: A human-readable label for the tag.
example: Main Analytics Tag
tagId:
type: string
description: 'The Google Tag ID. Accepts G-, GT-, AW-, and DC- prefixes. Rejects UA- prefixes.'
pattern: '^(?![Uu][Aa]-)[a-zA-Z]{1,3}-[a-zA-Z0-9]{3,}$'
example: G-XXXXXXXXXX
examples:
GoogleTagIds:
value:
googleTagIds:
- order: 0
displayName: Main Analytics Tag
tagId: G-1234567890
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name:
- sites
- google-tag
x-fern-sdk-method-name: upsert
security:
- OAuth2:
- 'sites:write'
operationId: upsert-google-tags
summary: Update Google Tag
description: |
Add or update Google Tag IDs for a site. Existing tags not referenced in the request are preserved. A site may have a maximum of 25 tags total.
`order` is optional on input — it is auto-assigned for new tags and returned on all tags in the response.
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: null
requestBody:
required: true
content:
application/json:
schema:
type: object
description: A list of Google Tags configured for a site.
required:
- googleTagIds
properties:
googleTagIds:
type: array
description: 'List of Google Tags configured for a site, sorted by order.'
items:
type: object
description: A Google Tag associated with a site.
required:
- tagId
- displayName
properties:
order:
type: integer
description: Display order of the tag. Optional on input; always present on output. Auto-assigned for new tags and renormalized after deletion.
example: 1
displayName:
type: string
description: A human-readable label for the tag.
example: Main Analytics Tag
tagId:
type: string
description: 'The Google Tag ID. Accepts G-, GT-, AW-, and DC- prefixes. Rejects UA- prefixes.'
pattern: '^(?![Uu][Aa]-)[a-zA-Z]{1,3}-[a-zA-Z0-9]{3,}$'
example: G-XXXXXXXXXX
examples:
GoogleTagIds:
value:
googleTagIds:
- order: 0
displayName: Main Analytics Tag
tagId: G-1234567890
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: A list of Google Tags configured for a site.
required:
- googleTagIds
properties:
googleTagIds:
type: array
description: 'List of Google Tags configured for a site, sorted by order.'
items:
type: object
description: A Google Tag associated with a site.
required:
- tagId
- displayName
properties:
order:
type: integer
description: Display order of the tag. Optional on input; always present on output. Auto-assigned for new tags and renormalized after deletion.
example: 1
displayName:
type: string
description: A human-readable label for the tag.
example: Main Analytics Tag
tagId:
type: string
description: 'The Google Tag ID. Accepts G-, GT-, AW-, and DC- prefixes. Rejects UA- prefixes.'
pattern: '^(?![Uu][Aa]-)[a-zA-Z]{1,3}-[a-zA-Z0-9]{3,}$'
example: G-XXXXXXXXXX
examples:
GoogleTagIds:
value:
googleTagIds:
- order: 0
displayName: Main Analytics Tag
tagId: G-1234567890
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name:
- sites
- google-tag
x-fern-sdk-method-name: deleteAll
security:
- OAuth2:
- 'sites:write'
operationId: delete-google-tags
summary: Delete Google Tags
description: |
Delete all Google Tag IDs from a site.
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'/sites/{site_id}/integrations/google_tags/{tag_id}':
delete:
x-fern-sdk-group-name:
- sites
- google-tag
x-fern-sdk-method-name: delete
security:
- OAuth2:
- 'sites:write'
operationId: delete-google-tag
summary: Delete Google Tag
description: |
Delete a single Google Tag ID from a site. The `order` values of the remaining tags are renormalized after deletion.
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: null
- name: tag_id
in: path
description: The Google Tag ID (e.g. G-XXXXXXXXXX)
example: G-XXXXXXXXXX
required: true
schema:
type: string
default: null
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
description: A list of Google Tags configured for a site.
required:
- googleTagIds
properties:
googleTagIds:
type: array
description: 'List of Google Tags configured for a site, sorted by order.'
items:
type: object
description: A Google Tag associated with a site.
required:
- tagId
- displayName
properties:
order:
type: integer
description: Display order of the tag. Optional on input; always present on output. Auto-assigned for new tags and renormalized after deletion.
example: 1
displayName:
type: string
description: A human-readable label for the tag.
example: Main Analytics Tag
tagId:
type: string
description: 'The Google Tag ID. Accepts G-, GT-, AW-, and DC- prefixes. Rejects UA- prefixes.'
pattern: '^(?![Uu][Aa]-)[a-zA-Z]{1,3}-[a-zA-Z0-9]{3,}$'
example: G-XXXXXXXXXX
examples:
GoogleTagIds:
value:
googleTagIds:
- order: 0
displayName: Main Analytics Tag
tagId: G-1234567890
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'/sites/{site_id}/activity_logs':
get:
x-fern-sdk-group-name:
- sites
- activity-logs
x-fern-sdk-method-name: list
summary: 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: null
- 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: null
previousValue: null
payload: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
- id: 5e2a1b3c4d5e6f7890a1b2c4
isEditable: true
isRequired: true
type: PlainText
slug: slug
displayName: Slug
helpText: Slug of the entry.
validations: null
- id: 6f7e8d9c0b1a2e3d4c5b6a7f
isEditable: true
isRequired: false
type: PlainText
slug: summary
displayName: Summary
helpText: A short summary of the entry.
validations: null
- id: 1a2b3c4d5e6f7a8b9c0d1e2f
isEditable: true
isRequired: false
type: RichText
slug: entry-html
displayName: Entry HTML
helpText: The HTML content of the entry.
validations: null
- id: 7e8d9c0b1a2e3d4c5b6a7f8e
isEditable: true
isRequired: false
type: Image
slug: illustration-image
displayName: Illustration Image
helpText: An image of the entry.
validations: null
- id: 2f3e4d5c6b7a8e9d0c1b2a3f
isEditable: true
isRequired: false
type: VideoLink
slug: demonstration-video
displayName: Demonstration Video
helpText: A video of the entry.
validations: null
- 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: null
- 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: null
- id: 4f5e6d7c8b9a0e1d2c3b4a5f
isEditable: true
isRequired: false
type: DateTime
slug: first-mentioned
displayName: First Mentioned
helpText: Date of the first mention of the subject.
validations: null
- id: 0e1d2c3b4a5f6e7d8c9b0a1e
isEditable: true
isRequired: false
type: Color
slug: towel-color
displayName: Towel Color
helpText: The color of the towel.
validations: null
- 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: null
validations: null
- id: 7f8e9d0c1b2a3f4e5d6c8b9e
isEditable: true
isRequired: false
type: Email
slug: contributor-email
displayName: Contributor Email
helpText: null
validations: null
- id: 3a4f5e6d7c8b9a0e1d2c4b5f
isEditable: true
isRequired: false
type: Phone
slug: emergency-contact
displayName: Emergency Contact
helpText: null
validations: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name: collections
x-fern-sdk-method-name: create
security:
- OAuth2:
- 'cms:write'
operationId: create-collection
summary: 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: null
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: null
- id: 5e2a1b3c4d5e6f7890a1b2c4
isEditable: true
isRequired: true
type: PlainText
slug: slug
displayName: Slug
helpText: Slug of the entry.
validations: null
- id: 6f7e8d9c0b1a2e3d4c5b6a7f
isEditable: true
isRequired: false
type: PlainText
slug: summary
displayName: Summary
helpText: A short summary of the entry.
validations: null
- id: 1a2b3c4d5e6f7a8b9c0d1e2f
isEditable: true
isRequired: false
type: RichText
slug: entry-html
displayName: Entry HTML
helpText: The HTML content of the entry.
validations: null
- id: 7e8d9c0b1a2e3d4c5b6a7f8e
isEditable: true
isRequired: false
type: Image
slug: illustration-image
displayName: Illustration Image
helpText: An image of the entry.
validations: null
- id: 2f3e4d5c6b7a8e9d0c1b2a3f
isEditable: true
isRequired: false
type: VideoLink
slug: demonstration-video
displayName: Demonstration Video
helpText: A video of the entry.
validations: null
- 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: null
- 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: null
- id: 4f5e6d7c8b9a0e1d2c3b4a5f
isEditable: true
isRequired: false
type: DateTime
slug: first-mentioned
displayName: First Mentioned
helpText: Date of the first mention of the subject.
validations: null
- id: 0e1d2c3b4a5f6e7d8c9b0a1e
isEditable: true
isRequired: false
type: Color
slug: towel-color
displayName: Towel Color
helpText: The color of the towel.
validations: null
- 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: null
validations: null
- id: 7f8e9d0c1b2a3f4e5d6c8b9e
isEditable: true
isRequired: false
type: Email
slug: contributor-email
displayName: Contributor Email
helpText: null
validations: null
- id: 3a4f5e6d7c8b9a0e1d2c4b5f
isEditable: true
isRequired: false
type: Phone
slug: emergency-contact
displayName: Emergency Contact
helpText: null
validations: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'409':
description: Collection already exists
x-logErrorCode: 409
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- id: 5e2a1b3c4d5e6f7890a1b2c4
isEditable: true
isRequired: true
type: PlainText
slug: slug
displayName: Slug
helpText: Slug of the entry.
validations: null
- id: 6f7e8d9c0b1a2e3d4c5b6a7f
isEditable: true
isRequired: false
type: PlainText
slug: summary
displayName: Summary
helpText: A short summary of the entry.
validations: null
- id: 1a2b3c4d5e6f7a8b9c0d1e2f
isEditable: true
isRequired: false
type: RichText
slug: entry-html
displayName: Entry HTML
helpText: The HTML content of the entry.
validations: null
- id: 7e8d9c0b1a2e3d4c5b6a7f8e
isEditable: true
isRequired: false
type: Image
slug: illustration-image
displayName: Illustration Image
helpText: An image of the entry.
validations: null
- id: 2f3e4d5c6b7a8e9d0c1b2a3f
isEditable: true
isRequired: false
type: VideoLink
slug: demonstration-video
displayName: Demonstration Video
helpText: A video of the entry.
validations: null
- 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: null
- 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: null
- id: 4f5e6d7c8b9a0e1d2c3b4a5f
isEditable: true
isRequired: false
type: DateTime
slug: first-mentioned
displayName: First Mentioned
helpText: Date of the first mention of the subject.
validations: null
- id: 0e1d2c3b4a5f6e7d8c9b0a1e
isEditable: true
isRequired: false
type: Color
slug: towel-color
displayName: Towel Color
helpText: The color of the towel.
validations: null
- 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: null
validations: null
- id: 7f8e9d0c1b2a3f4e5d6c8b9e
isEditable: true
isRequired: false
type: Email
slug: contributor-email
displayName: Contributor Email
helpText: null
validations: null
- id: 3a4f5e6d7c8b9a0e1d2c4b5f
isEditable: true
isRequired: false
type: Phone
slug: emergency-contact
displayName: Emergency Contact
helpText: null
validations: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name: collections
x-fern-sdk-method-name: delete
security:
- OAuth2:
- 'cms:write'
operationId: delete-collection
summary: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'409':
description: Collection already exists
x-logErrorCode: 409
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name:
- collections
- fields
x-fern-sdk-method-name: delete
security:
- OAuth2:
- 'cms:write'
operationId: delete-field
summary: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: List Collection Items
description: |
List of all Items within a Collection.
Required scope | `CMS:read`
tags:
- Items
- Collections
- 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: createdOn
in: query
allowEmptyValue: true
description: Filter by the creation 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 created before this date
gte:
type: string
format: date-time
example: '2024-04-19T16:00:31.000Z'
description: Filter items created after this date
style: deepObject
explode: true
required: false
- 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: lastUpdated
in: query
allowEmptyValue: true
description: Filter by the last updated 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 updated before this date
gte:
type: string
format: date-time
example: '2024-04-19T16:00:31.000Z'
description: Filter items last updated 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:
- createdOn
- lastPublished
- lastUpdated
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: create-item
security:
- OAuth2:
- 'cms:write'
operationId: create-item
summary: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: update-items
security:
- OAuth2:
- 'cms:write'
operationId: update-items
summary: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: delete-items
security:
- OAuth2:
- 'cms:write'
operationId: delete-items
summary: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Items
- Collections
- 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: createdOn
in: query
allowEmptyValue: true
description: Filter by the creation 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 created before this date
gte:
type: string
format: date-time
example: '2024-04-19T16:00:31.000Z'
description: Filter items created after this date
style: deepObject
explode: true
required: false
- 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: lastUpdated
in: query
allowEmptyValue: true
description: Filter by the last updated 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 updated before this date
gte:
type: string
format: date-time
example: '2024-04-19T16:00:31.000Z'
description: Filter items last updated 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:
- createdOn
- lastPublished
- lastUpdated
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Items
- Collections
- 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 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
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: null
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: null
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: null
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: Get Collection Item
description: |
Get details of a selected Collection Item.
Required scope | `CMS:read`
tags:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: update-item
security:
- OAuth2:
- 'cms:write'
operationId: update-item
summary: Update Collection Item
description: |
Update a selected Item in a Collection.
Required scope | `CMS:write`
tags:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name:
- collections
- items
x-fern-sdk-method-name: delete-item
security:
- OAuth2:
- 'cms:write'
operationId: delete-item
summary: Delete Collection Item
description: |
Delete an item from a collection.
Required scope | `CMS:write`
tags:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: Publish Collection Item
description: |
Publish an item or multiple items.
Required scope | `cms:write`
tags:
- Items
- Collections
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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.
[Learn 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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.
[Learn 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: null
collectionId: null
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: null
collectionId: null
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: null
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: null
collectionId: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: null
collectionId: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
put:
security:
- OAuth2:
- 'page:write'
description: |
Update Page-level metadata, including SEO and Open Graph fields.
Required scope | `pages:write`
summary: 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: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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:** The slug field is ignored in the following cases — all other fields in the same request still apply:
- The site's home page, collection template pages, and utility pages (e.g. 404, password, search).
- For secondary locales, updating the slug requires an Advanced or Enterprise localization add-on plan.
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: null
collectionId: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: null
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: e3410077-d7db-43e6-8889-0d7f61184424
propertyOverrides:
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad633
type: Plain Text
label: Catchphrase
text:
html: null
text: Don't Panic!
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad635
type: Rich Text
label: Tagline
text:
html: Always know where your towel is.
text: null
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: null
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:
type: object
oneOf:
- title: Component Property Text
description: |
A text-based component property containing raw text and HTML representation.
type: object
required:
- propertyId
- type
- label
- text
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: null
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: e3410077-d7db-43e6-8889-0d7f61184424
propertyOverrides:
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad633
type: Plain Text
label: Catchphrase
text:
html: null
text: Don't Panic!
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad635
type: Rich Text
label: Tagline
text:
html: Always know where your towel is.
text: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
security:
- OAuth2:
- 'page:write'
summary: 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: null
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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: null
description: null
- id: 68a2b1d1ee792848f805dcf
name: Nav
group: null
description: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: component_id
in: path
description: Unique identifier for a Component
example: 8505ba55-ef72-629e-f85c-33e4b703d48b
required: true
schema:
type: string
default: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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-4fbb-8bfe-5f6535b50001
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: null
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: 6258612d-1ee7-4284-8f80-5dcf12345678
propertyOverrides:
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad633
type: Plain Text
text:
html: null
text: Don't Panic!
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad635
type: Rich Text
text:
html: Always know where your towel is.
text: null
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: null
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:
type: object
oneOf:
- title: Component Property Text
description: |
A text-based component property containing raw text and HTML representation.
type: object
required:
- propertyId
- type
- label
- text
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: null
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: e3410077-d7db-43e6-8889-0d7f61184424
propertyOverrides:
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad633
type: Plain Text
label: Catchphrase
text:
html: null
text: Don't Panic!
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad635
type: Rich Text
label: Tagline
text:
html: Always know where your towel is.
text: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name: components
x-fern-sdk-method-name: update-content
security:
- OAuth2:
- 'components:write'
summary: 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: null
- name: component_id
in: path
description: Unique identifier for a Component
example: 8505ba55-ef72-629e-f85c-33e4b703d48b
required: true
schema:
type: string
default: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: component_id
in: path
description: Unique identifier for a Component
example: 8505ba55-ef72-629e-f85c-33e4b703d48b
required: true
schema:
type: string
default: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: 658205da-a3e8-4206-a523-b5ad4fabcdef
properties:
- propertyId: a245c12d-995b-55ee-5ec7-aa36a6cad623
label: Title
type: Plain Text
text:
html: null
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: null
pagination:
limit: 2
offset: 0
total: 2
properties:
componentId:
type: string
description: Component ID
readOnly: true
properties:
type: array
items:
type: object
oneOf:
- title: Component Property Text
description: |
A text-based component property containing raw text and HTML representation.
type: object
required:
- propertyId
- type
- label
- text
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name: components
x-fern-sdk-method-name: update-properties
security:
- OAuth2:
- 'components:write'
operationId: update-component-properties
summary: 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: null
- name: component_id
in: path
description: Unique identifier for a Component
example: 8505ba55-ef72-629e-f85c-33e4b703d48b
required: true
schema:
type: string
default: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: Get Custom Code
description: |
Get all scripts applied to a page.
Access to this endpoint requires a bearer token obtained from an [OAuth Code Grant Flow](/data/reference/oauth-app).
Required scope | `custom_code:read`
tags:
- Custom Code - Pages
- Custom Code
- Sites
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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 - Pages
- Custom Code
- Sites
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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.
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 - Pages
- Custom Code
- Sites
parameters:
- name: page_id
in: path
description: Unique identifier for a Page
example: 63c720f9347c2139b248e552
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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.
Access to this endpoint requires a bearer token obtained from an [OAuth Code Grant Flow](/data/reference/oauth-app).
Required scope | `custom_code:read`
tags:
- Custom Code - Sites
- Custom Code
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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 - Sites
- Custom Code
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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.
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 - Sites
- Custom Code
- Sites
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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.
Access to this endpoint requires a bearer token obtained from an [OAuth Code Grant Flow](/data/reference/oauth-app).
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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.
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
- Registered Scripts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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.
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
- Registered Scripts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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.
Access to this endpoint requires a bearer token obtained from an [OAuth Code Grant Flow](/data/reference/oauth-app).
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: null
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: folderId
in: query
allowEmptyValue: true
description: |
Filter assets to those in the specified folder and all descendant folders.
Must be a 24-character hex ObjectId.
required: false
schema:
type: string
format: objectid
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: null
quality: 100
error: null
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
folderId:
type: string
format: objectid
example: 6390c49774a71f99f21a08eb
nullable: true
description: |
The ID of the folder the asset belongs to, or `null` if the asset is at the site root.
This field is present only in list responses (`GET /sites/{site_id}/assets`).
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: null
quality: 100
error: null
altText: A single candy wrapper
folderId: 6390c49774a71f99f21a08eb
- 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: null
quality: 100
error: null
altText: A single gum wrapper
folderId: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: create
security:
- OAuth2:
- 'assets:write'
operationId: create-asset
summary: 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: null
requestBody:
description: Information about the asset to create
required: true
content:
application/json:
schema:
description: The request to create an asset
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn 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: 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: null
quality: 100
error: null
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
folderId:
type: string
format: objectid
example: 6390c49774a71f99f21a08eb
nullable: true
description: |
The ID of the folder the asset belongs to, or `null` if the asset is at the site root.
This field is present only in list responses (`GET /sites/{site_id}/assets`).
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: update
security:
- OAuth2:
- 'assets:write'
operationId: patch-asset
summary: 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
- name: localeId
in: query
allowEmptyValue: true
example: 65427cf400e02b306eaa04a0
description: |
Unique identifier for a specific Locale.
[Learn more about localization.](/data/v2.0.0/docs/working-with-localization)
schema:
type: string
requestBody:
description: Information about the asset to update
required: true
content:
application/json:
schema:
description: The request to update an asset
properties:
displayName:
type: string
example: dog.png
description: A human readable name for the asset. This value is not localizable.
altText:
type: string
example: A golden retriever playing with a red ball in the park
description: Alternate text describing the image
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: null
quality: 100
error: null
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
folderId:
type: string
format: objectid
example: 6390c49774a71f99f21a08eb
nullable: true
description: |
The ID of the folder the asset belongs to, or `null` if the asset is at the site root.
This field is present only in list responses (`GET /sites/{site_id}/assets`).
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: delete
security:
- OAuth2:
- 'assets:write'
operationId: delete-asset
summary: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name: assets
x-fern-sdk-method-name: create-folder
security:
- OAuth2:
- 'assets:write'
operationId: create-asset-folder
summary: 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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'/sites/{site_id}/custom_fonts':
get:
x-fern-sdk-group-name: custom_fonts
x-fern-sdk-method-name: list
security:
- OAuth2:
- 'sites:read'
operationId: list-custom-fonts
summary: List custom fonts
description: |
List the custom fonts uploaded to a site.
Required scope | `sites:read`
tags:
- Custom Fonts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
- 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:
type: object
description: A list of custom fonts
required:
- customFonts
- pagination
properties:
customFonts:
type: array
items:
description: A custom font uploaded to a Webflow site
required:
- id
- fontFamily
- format
- fileName
- weight
- italic
- fontDisplay
- axes
- hostedUrl
properties:
id:
type: string
format: objectid
example: 66f3a1b2c4d5e6f7a8b9c0d1
description: Unique identifier for the custom font
readOnly: true
fontFamily:
type: string
example: Acme Sans
description: The CSS font-family name. Commas are stripped server-side.
format:
type: string
enum:
- woff2
- woff
- truetype
- opentype
- embedded-opentype
- svg
example: woff2
description: 'The font file format, derived from the file extension. The value `svg` represents read-only legacy data; new SVG font uploads are not accepted.'
readOnly: true
fileName:
type: string
example: AcmeSans-Regular.woff2
description: The file name supplied at upload time
readOnly: true
weight:
type: integer
minimum: 1
maximum: 1000
example: 400
description: The CSS font-weight value (1–1000)
italic:
type: boolean
example: false
description: Whether the font is italic
fontDisplay:
type: string
enum:
- auto
- block
- swap
- fallback
- optional
example: swap
description: The CSS font-display value
axes:
type: array
items:
description: A variable font axis definition
required:
- tag
- min
- max
- defaultValue
properties:
tag:
type: string
minLength: 4
maxLength: 4
pattern: '^[\x20-\x7E]{4}$'
example: wght
description: 'The four-character OpenType axis tag, consisting of exactly 4 printable ASCII characters (for example, `wght`, `opsz`, `slnt`, `wdth`)'
name:
type: string
maxLength: 64
example: Weight
description: Optional human-readable label for the axis
min:
type: number
example: 100
description: Minimum value for the axis
max:
type: number
example: 900
description: Maximum value for the axis
defaultValue:
type: number
example: 400
description: Default value for the axis. Must be between `min` and `max` (inclusive). Violating this constraint returns `400 BadArgument` with an error prefixed `fontMetadata.axes`.
description: Variable font axes. An empty array indicates a static font.
hostedUrl:
type: string
format: uri
example: 'https://uploads-ssl.webflow.com/6437e21619d24aff35b2e4f2/66f3a1b2-AcmeSans-Regular.woff2'
description: CDN URL for the font binary
readOnly: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name: custom_fonts
x-fern-sdk-method-name: create
security:
- OAuth2:
- 'sites:write'
operationId: create-custom-font
summary: Create custom font
description: |
Register a custom font on a site and get a presigned S3 URL to upload the font binary.
The response includes a `customFont` object and an `upload` object. Use the `upload.url` and `upload.fields`
to POST the font binary directly to S3 as `multipart/form-data`. The binary must go in a field named `file`
and must be the last field in the form (an AWS S3 requirement). S3 returns `201 Created` on a successful upload.
To learn more, see [Custom fonts](/data/docs/custom-fonts).
Required scope | `sites:write`
tags:
- Custom Fonts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Information about the custom font to create
additionalProperties: false
required:
- fileName
- fileHash
- fontFamily
- weight
- italic
- fontDisplay
properties:
fileName:
type: string
example: AcmeSans-Regular.woff2
description: 'File name including extension. Accepted extensions are `.woff2`, `.woff`, `.ttf`, `.otf`, and `.eot`. Maximum 256 characters.'
fileHash:
type: string
example: 3c7d87c9575702bc3b1e991f4d3c638e
description: Lowercase hex MD5 hash of the font binary (exactly 32 characters)
fontFamily:
type: string
example: Acme Sans
description: The CSS font-family name (1-256 characters). Commas are stripped server-side.
weight:
type: integer
minimum: 1
maximum: 1000
example: 400
description: CSS font-weight value (1-1000)
italic:
type: boolean
example: false
description: Whether the font is italic
fontDisplay:
type: string
enum:
- auto
- block
- swap
- fallback
- optional
example: swap
description: CSS font-display value
axes:
type: array
maxItems: 16
items:
description: A variable font axis definition
required:
- tag
- min
- max
- defaultValue
properties:
tag:
type: string
minLength: 4
maxLength: 4
pattern: '^[\x20-\x7E]{4}$'
example: wght
description: 'The four-character OpenType axis tag, consisting of exactly 4 printable ASCII characters (for example, `wght`, `opsz`, `slnt`, `wdth`)'
name:
type: string
maxLength: 64
example: Weight
description: Optional human-readable label for the axis
min:
type: number
example: 100
description: Minimum value for the axis
max:
type: number
example: 900
description: Maximum value for the axis
defaultValue:
type: number
example: 400
description: Default value for the axis. Must be between `min` and `max` (inclusive). Violating this constraint returns `400 BadArgument` with an error prefixed `fontMetadata.axes`.
description: Variable font axes. Omit or pass an empty array for static fonts.
responses:
'202':
description: Font registered. Upload the binary to the presigned S3 URL in `upload` to complete the process.
headers:
Location:
schema:
type: string
description: URL of the created custom font resource
content:
application/json:
schema:
type: object
description: The response to a successful custom font creation or file replacement request
required:
- customFont
- upload
properties:
customFont:
description: A custom font uploaded to a Webflow site
required:
- id
- fontFamily
- format
- fileName
- weight
- italic
- fontDisplay
- axes
- hostedUrl
properties:
id:
type: string
format: objectid
example: 66f3a1b2c4d5e6f7a8b9c0d1
description: Unique identifier for the custom font
readOnly: true
fontFamily:
type: string
example: Acme Sans
description: The CSS font-family name. Commas are stripped server-side.
format:
type: string
enum:
- woff2
- woff
- truetype
- opentype
- embedded-opentype
- svg
example: woff2
description: 'The font file format, derived from the file extension. The value `svg` represents read-only legacy data; new SVG font uploads are not accepted.'
readOnly: true
fileName:
type: string
example: AcmeSans-Regular.woff2
description: The file name supplied at upload time
readOnly: true
weight:
type: integer
minimum: 1
maximum: 1000
example: 400
description: The CSS font-weight value (1–1000)
italic:
type: boolean
example: false
description: Whether the font is italic
fontDisplay:
type: string
enum:
- auto
- block
- swap
- fallback
- optional
example: swap
description: The CSS font-display value
axes:
type: array
items:
description: A variable font axis definition
required:
- tag
- min
- max
- defaultValue
properties:
tag:
type: string
minLength: 4
maxLength: 4
pattern: '^[\x20-\x7E]{4}$'
example: wght
description: 'The four-character OpenType axis tag, consisting of exactly 4 printable ASCII characters (for example, `wght`, `opsz`, `slnt`, `wdth`)'
name:
type: string
maxLength: 64
example: Weight
description: Optional human-readable label for the axis
min:
type: number
example: 100
description: Minimum value for the axis
max:
type: number
example: 900
description: Maximum value for the axis
defaultValue:
type: number
example: 400
description: Default value for the axis. Must be between `min` and `max` (inclusive). Violating this constraint returns `400 BadArgument` with an error prefixed `fontMetadata.axes`.
description: Variable font axes. An empty array indicates a static font.
hostedUrl:
type: string
format: uri
example: 'https://uploads-ssl.webflow.com/6437e21619d24aff35b2e4f2/66f3a1b2-AcmeSans-Regular.woff2'
description: CDN URL for the font binary
readOnly: true
upload:
type: object
description: 'Presigned S3 upload details. Post the font binary to `url` as `multipart/form-data`, including every key from `fields` plus the binary itself in a field named `file`. The `file` field must be the last field in the form.'
required:
- url
- fields
- expiresAt
properties:
url:
type: string
format: uri
example: 'https://webflow-prod-assets.s3.amazonaws.com/'
description: The S3 endpoint to POST the font binary to
fields:
type: object
description: Form fields to include in the S3 multipart POST. Every key must be sent as a form field before the `file` field.
required:
- bucket
- key
- Policy
- X-Amz-Algorithm
- X-Amz-Credential
- X-Amz-Date
- X-Amz-Signature
- Content-MD5
- acl
- Cache-Control
- Content-Type
- success_action_status
properties:
bucket:
type: string
description: The S3 bucket name
key:
type: string
example: 6437e21619d24aff35b2e4f2/fonts/66f3a1b2c4d5e6f7a8b9c0d1-AcmeSans-Regular.woff2
description: The S3 object key
Policy:
type: string
description: Base64-encoded S3 policy document
X-Amz-Algorithm:
type: string
example: AWS4-HMAC-SHA256
description: AWS Signature Version 4 algorithm identifier
X-Amz-Credential:
type: string
description: AWS credential string
X-Amz-Date:
type: string
description: Request date in ISO 8601 basic format
X-Amz-Signature:
type: string
description: AWS Signature Version 4 signature
X-Amz-Security-Token:
type: string
description: AWS security token (included when temporary credentials are used)
Content-MD5:
type: string
description: 'Base64-encoded MD5 hash of the file binary, derived from the `fileHash` you supplied'
acl:
type: string
example: public-read
description: 'S3 ACL. Always `public-read`, which makes the uploaded font accessible to the Webflow CDN.'
Cache-Control:
type: string
example: max-age=31536000
description: Cache-Control header value applied to the S3 object
Content-Type:
type: string
example: font/woff2
description: MIME type matched to the file extension
success_action_status:
type: string
example: '201'
description: S3 returns this HTTP status code on a successful upload
expiresAt:
type: string
format: date-time
example: '2026-05-06T12:15:00.000Z'
description: ISO 8601 timestamp after which the presigned URL expires (approximately 15 minutes from issuance)
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'409':
description: Resource conflict
x-logErrorCode: 409
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'503':
description: Service temporarily unavailable. Please try again later.
x-logErrorCode: 503
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- type: string
example: Invalid email address
description: Error message
- type: object
example:
field: email
message: Invalid email address
description: Error message
example: []
example:
code: service_unavailable
message: Service temporarily unavailable. Please try again later.
externalReference: null
details: []
'/sites/{site_id}/custom_fonts/{font_id}':
get:
x-fern-sdk-group-name: custom_fonts
x-fern-sdk-method-name: get
security:
- OAuth2:
- 'sites:read'
operationId: get-custom-font
summary: Get custom font
description: |
Get details about a custom font on a site.
Required scope | `sites:read`
tags:
- Custom Fonts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
- name: font_id
in: path
description: Unique identifier for a custom font on a site
example: 66f3a1b2c4d5e6f7a8b9c0d1
required: true
schema:
type: string
format: objectid
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
required:
- customFont
properties:
customFont:
description: A custom font uploaded to a Webflow site
required:
- id
- fontFamily
- format
- fileName
- weight
- italic
- fontDisplay
- axes
- hostedUrl
properties:
id:
type: string
format: objectid
example: 66f3a1b2c4d5e6f7a8b9c0d1
description: Unique identifier for the custom font
readOnly: true
fontFamily:
type: string
example: Acme Sans
description: The CSS font-family name. Commas are stripped server-side.
format:
type: string
enum:
- woff2
- woff
- truetype
- opentype
- embedded-opentype
- svg
example: woff2
description: 'The font file format, derived from the file extension. The value `svg` represents read-only legacy data; new SVG font uploads are not accepted.'
readOnly: true
fileName:
type: string
example: AcmeSans-Regular.woff2
description: The file name supplied at upload time
readOnly: true
weight:
type: integer
minimum: 1
maximum: 1000
example: 400
description: The CSS font-weight value (1–1000)
italic:
type: boolean
example: false
description: Whether the font is italic
fontDisplay:
type: string
enum:
- auto
- block
- swap
- fallback
- optional
example: swap
description: The CSS font-display value
axes:
type: array
items:
description: A variable font axis definition
required:
- tag
- min
- max
- defaultValue
properties:
tag:
type: string
minLength: 4
maxLength: 4
pattern: '^[\x20-\x7E]{4}$'
example: wght
description: 'The four-character OpenType axis tag, consisting of exactly 4 printable ASCII characters (for example, `wght`, `opsz`, `slnt`, `wdth`)'
name:
type: string
maxLength: 64
example: Weight
description: Optional human-readable label for the axis
min:
type: number
example: 100
description: Minimum value for the axis
max:
type: number
example: 900
description: Maximum value for the axis
defaultValue:
type: number
example: 400
description: Default value for the axis. Must be between `min` and `max` (inclusive). Violating this constraint returns `400 BadArgument` with an error prefixed `fontMetadata.axes`.
description: Variable font axes. An empty array indicates a static font.
hostedUrl:
type: string
format: uri
example: 'https://uploads-ssl.webflow.com/6437e21619d24aff35b2e4f2/66f3a1b2-AcmeSans-Regular.woff2'
description: CDN URL for the font binary
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name: custom_fonts
x-fern-sdk-method-name: update
security:
- OAuth2:
- 'sites:write'
operationId: update-custom-font
summary: Update custom font
description: |
Update the metadata of a custom font. The font binary is not changed by this endpoint.
To replace the binary, use [Replace custom font file](#operation/replace-custom-font-file).
The request body must include at least one of `fontFamily`, `weight`, `italic`, or `fontDisplay`.
Required scope | `sites:write`
tags:
- Custom Fonts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
- name: font_id
in: path
description: Unique identifier for a custom font on a site
example: 66f3a1b2c4d5e6f7a8b9c0d1
required: true
schema:
type: string
format: objectid
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Metadata fields to update. At least one field is required.
additionalProperties: false
minProperties: 1
properties:
fontFamily:
type: string
example: Acme Sans
description: The CSS font-family name (1-256 characters)
weight:
type: integer
minimum: 1
maximum: 1000
example: 400
description: CSS font-weight value (1-1000)
italic:
type: boolean
example: false
description: Whether the font is italic
fontDisplay:
type: string
enum:
- auto
- block
- swap
- fallback
- optional
example: swap
description: CSS font-display value
responses:
'200':
description: Request was successful
content:
application/json:
schema:
type: object
required:
- customFont
properties:
customFont:
description: A custom font uploaded to a Webflow site
required:
- id
- fontFamily
- format
- fileName
- weight
- italic
- fontDisplay
- axes
- hostedUrl
properties:
id:
type: string
format: objectid
example: 66f3a1b2c4d5e6f7a8b9c0d1
description: Unique identifier for the custom font
readOnly: true
fontFamily:
type: string
example: Acme Sans
description: The CSS font-family name. Commas are stripped server-side.
format:
type: string
enum:
- woff2
- woff
- truetype
- opentype
- embedded-opentype
- svg
example: woff2
description: 'The font file format, derived from the file extension. The value `svg` represents read-only legacy data; new SVG font uploads are not accepted.'
readOnly: true
fileName:
type: string
example: AcmeSans-Regular.woff2
description: The file name supplied at upload time
readOnly: true
weight:
type: integer
minimum: 1
maximum: 1000
example: 400
description: The CSS font-weight value (1–1000)
italic:
type: boolean
example: false
description: Whether the font is italic
fontDisplay:
type: string
enum:
- auto
- block
- swap
- fallback
- optional
example: swap
description: The CSS font-display value
axes:
type: array
items:
description: A variable font axis definition
required:
- tag
- min
- max
- defaultValue
properties:
tag:
type: string
minLength: 4
maxLength: 4
pattern: '^[\x20-\x7E]{4}$'
example: wght
description: 'The four-character OpenType axis tag, consisting of exactly 4 printable ASCII characters (for example, `wght`, `opsz`, `slnt`, `wdth`)'
name:
type: string
maxLength: 64
example: Weight
description: Optional human-readable label for the axis
min:
type: number
example: 100
description: Minimum value for the axis
max:
type: number
example: 900
description: Maximum value for the axis
defaultValue:
type: number
example: 400
description: Default value for the axis. Must be between `min` and `max` (inclusive). Violating this constraint returns `400 BadArgument` with an error prefixed `fontMetadata.axes`.
description: Variable font axes. An empty array indicates a static font.
hostedUrl:
type: string
format: uri
example: 'https://uploads-ssl.webflow.com/6437e21619d24aff35b2e4f2/66f3a1b2-AcmeSans-Regular.woff2'
description: CDN URL for the font binary
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name: custom_fonts
x-fern-sdk-method-name: delete
security:
- OAuth2:
- 'sites:write'
operationId: delete-custom-font
summary: Delete custom font
description: |
Delete a custom font from a site.
Required scope | `sites:write`
tags:
- Custom Fonts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
- name: font_id
in: path
description: Unique identifier for a custom font on a site
example: 66f3a1b2c4d5e6f7a8b9c0d1
required: true
schema:
type: string
format: objectid
responses:
'204':
description: 'Request was successful, no content 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'/sites/{site_id}/custom_fonts/{font_id}/file':
put:
x-fern-sdk-group-name: custom_fonts
x-fern-sdk-method-name: replaceFile
security:
- OAuth2:
- 'sites:write'
operationId: replace-custom-font-file
summary: Replace custom font file
description: |
Replace the binary of an existing custom font while preserving its ID and any references to it.
The upload handshake is identical to [Create custom font](#operation/create-custom-font).
If the existing font has a non-empty `axes` array (a variable font), you must include an `axes` field
in the request. Send `axes: []` to declare that the new binary is a static font, or send the new variable
axes to declare it is still variable. Omitting `axes` when the existing font is variable returns `400`.
Required scope | `sites:write`
tags:
- Custom Fonts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
- name: font_id
in: path
description: Unique identifier for a custom font on a site
example: 66f3a1b2c4d5e6f7a8b9c0d1
required: true
schema:
type: string
format: objectid
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Information about the replacement font binary
additionalProperties: false
required:
- fileName
- fileHash
properties:
fileName:
type: string
example: AcmeSans-Regular-v2.woff2
description: 'File name including extension. Accepted extensions are `.woff2`, `.woff`, `.ttf`, `.otf`, and `.eot`. Maximum 256 characters.'
fileHash:
type: string
example: 3c7d87c9575702bc3b1e991f4d3c638e
description: Lowercase hex MD5 hash of the font binary (exactly 32 characters)
axes:
type: array
maxItems: 16
items:
description: A variable font axis definition
required:
- tag
- min
- max
- defaultValue
properties:
tag:
type: string
minLength: 4
maxLength: 4
pattern: '^[\x20-\x7E]{4}$'
example: wght
description: 'The four-character OpenType axis tag, consisting of exactly 4 printable ASCII characters (for example, `wght`, `opsz`, `slnt`, `wdth`)'
name:
type: string
maxLength: 64
example: Weight
description: Optional human-readable label for the axis
min:
type: number
example: 100
description: Minimum value for the axis
max:
type: number
example: 900
description: Maximum value for the axis
defaultValue:
type: number
example: 400
description: Default value for the axis. Must be between `min` and `max` (inclusive). Violating this constraint returns `400 BadArgument` with an error prefixed `fontMetadata.axes`.
description: Variable font axes for the replacement binary. Required when the existing font has a non-empty `axes` array.
responses:
'202':
description: File replacement initiated. Upload the binary to the presigned S3 URL in `upload` to complete the process.
headers:
Location:
schema:
type: string
description: URL of the custom font resource
content:
application/json:
schema:
type: object
description: The response to a successful custom font creation or file replacement request
required:
- customFont
- upload
properties:
customFont:
description: A custom font uploaded to a Webflow site
required:
- id
- fontFamily
- format
- fileName
- weight
- italic
- fontDisplay
- axes
- hostedUrl
properties:
id:
type: string
format: objectid
example: 66f3a1b2c4d5e6f7a8b9c0d1
description: Unique identifier for the custom font
readOnly: true
fontFamily:
type: string
example: Acme Sans
description: The CSS font-family name. Commas are stripped server-side.
format:
type: string
enum:
- woff2
- woff
- truetype
- opentype
- embedded-opentype
- svg
example: woff2
description: 'The font file format, derived from the file extension. The value `svg` represents read-only legacy data; new SVG font uploads are not accepted.'
readOnly: true
fileName:
type: string
example: AcmeSans-Regular.woff2
description: The file name supplied at upload time
readOnly: true
weight:
type: integer
minimum: 1
maximum: 1000
example: 400
description: The CSS font-weight value (1–1000)
italic:
type: boolean
example: false
description: Whether the font is italic
fontDisplay:
type: string
enum:
- auto
- block
- swap
- fallback
- optional
example: swap
description: The CSS font-display value
axes:
type: array
items:
description: A variable font axis definition
required:
- tag
- min
- max
- defaultValue
properties:
tag:
type: string
minLength: 4
maxLength: 4
pattern: '^[\x20-\x7E]{4}$'
example: wght
description: 'The four-character OpenType axis tag, consisting of exactly 4 printable ASCII characters (for example, `wght`, `opsz`, `slnt`, `wdth`)'
name:
type: string
maxLength: 64
example: Weight
description: Optional human-readable label for the axis
min:
type: number
example: 100
description: Minimum value for the axis
max:
type: number
example: 900
description: Maximum value for the axis
defaultValue:
type: number
example: 400
description: Default value for the axis. Must be between `min` and `max` (inclusive). Violating this constraint returns `400 BadArgument` with an error prefixed `fontMetadata.axes`.
description: Variable font axes. An empty array indicates a static font.
hostedUrl:
type: string
format: uri
example: 'https://uploads-ssl.webflow.com/6437e21619d24aff35b2e4f2/66f3a1b2-AcmeSans-Regular.woff2'
description: CDN URL for the font binary
readOnly: true
upload:
type: object
description: 'Presigned S3 upload details. Post the font binary to `url` as `multipart/form-data`, including every key from `fields` plus the binary itself in a field named `file`. The `file` field must be the last field in the form.'
required:
- url
- fields
- expiresAt
properties:
url:
type: string
format: uri
example: 'https://webflow-prod-assets.s3.amazonaws.com/'
description: The S3 endpoint to POST the font binary to
fields:
type: object
description: Form fields to include in the S3 multipart POST. Every key must be sent as a form field before the `file` field.
required:
- bucket
- key
- Policy
- X-Amz-Algorithm
- X-Amz-Credential
- X-Amz-Date
- X-Amz-Signature
- Content-MD5
- acl
- Cache-Control
- Content-Type
- success_action_status
properties:
bucket:
type: string
description: The S3 bucket name
key:
type: string
example: 6437e21619d24aff35b2e4f2/fonts/66f3a1b2c4d5e6f7a8b9c0d1-AcmeSans-Regular.woff2
description: The S3 object key
Policy:
type: string
description: Base64-encoded S3 policy document
X-Amz-Algorithm:
type: string
example: AWS4-HMAC-SHA256
description: AWS Signature Version 4 algorithm identifier
X-Amz-Credential:
type: string
description: AWS credential string
X-Amz-Date:
type: string
description: Request date in ISO 8601 basic format
X-Amz-Signature:
type: string
description: AWS Signature Version 4 signature
X-Amz-Security-Token:
type: string
description: AWS security token (included when temporary credentials are used)
Content-MD5:
type: string
description: 'Base64-encoded MD5 hash of the file binary, derived from the `fileHash` you supplied'
acl:
type: string
example: public-read
description: 'S3 ACL. Always `public-read`, which makes the uploaded font accessible to the Webflow CDN.'
Cache-Control:
type: string
example: max-age=31536000
description: Cache-Control header value applied to the S3 object
Content-Type:
type: string
example: font/woff2
description: MIME type matched to the file extension
success_action_status:
type: string
example: '201'
description: S3 returns this HTTP status code on a successful upload
expiresAt:
type: string
format: date-time
example: '2026-05-06T12:15:00.000Z'
description: ISO 8601 timestamp after which the presigned URL expires (approximately 15 minutes from issuance)
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'/sites/{site_id}/custom_fonts/batchDelete':
post:
x-fern-sdk-group-name: custom_fonts
x-fern-sdk-method-name: batchDelete
security:
- OAuth2:
- 'sites:write'
operationId: batch-delete-custom-fonts
summary: Batch delete custom fonts
description: |
Delete 1-100 custom fonts in a single request. The response is always `200 OK` for a valid request body.
Per-font results are reported in the `deleted` and `failed` arrays.
The endpoint is idempotent: fonts that do not exist appear in `failed` with `name: "NotFound"` rather than
failing the entire request. You can safely retry a partial failure by re-sending only the IDs that did not
appear in `deleted`.
Required scope | `sites:write`
tags:
- Custom Fonts
parameters:
- name: site_id
in: path
description: Unique identifier for a Site
example: 580e63e98c9a982ac9b8b741
required: true
schema:
type: string
format: objectid
default: null
requestBody:
required: true
content:
application/json:
schema:
type: object
description: Request body for bulk-deleting custom fonts
additionalProperties: false
required:
- items
properties:
items:
type: array
minItems: 1
maxItems: 100
items:
type: object
additionalProperties: false
required:
- id
properties:
id:
type: string
format: objectid
example: 66f3a1b2c4d5e6f7a8b9c0d1
description: The ID of the custom font to delete
responses:
'200':
description: Request was successful. Check `deleted` and `failed` arrays for per-item results.
content:
application/json:
schema:
type: object
description: Per-item result of a bulk-delete operation
required:
- deleted
- failed
properties:
deleted:
type: array
items:
type: object
required:
- id
properties:
id:
type: string
format: objectid
example: 66f3a1b2c4d5e6f7a8b9c0d1
description: The ID of a successfully deleted custom font
failed:
type: array
items:
type: object
required:
- id
- name
- msg
properties:
id:
type: string
format: objectid
example: 00000000000000000000abcd
description: The ID of a custom font that could not be deleted
name:
type: string
example: NotFound
description: Error name
msg:
type: string
example: Font not found
description: Human-readable error message
'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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'/sites/{site_id}/webhooks':
get:
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: list
operationId: list-webhooks
summary: 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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: create
operationId: create-webhook
summary: 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/data-clients/getting-started).
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'/webhooks/{webhook_id}':
get:
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: get
operationId: get-webhook
summary: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name: webhooks
x-fern-sdk-method-name: delete
operationId: remove-webhook
summary: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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: null
userVisible: true
- 589a331aa51e760df7ccb89d:
displayName: Email
type: Email
placeholder: Enter your email
userVisible: true
responseSettings:
redirectUrl: 'https://example.com'
redirectMethod: GET
redirectAction: null
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: null
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: null
userVisible: true
589a331aa51e760df7ccb89d:
displayName: Email
type: Email
placeholder: Enter your email
userVisible: true
responseSettings:
redirectUrl: 'https://example.com'
redirectMethod: GET
redirectAction: null
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: null
userVisible: true
- 589a331aa51e760df7ccb89d:
displayName: Email
type: Email
placeholder: Enter your email
userVisible: true
responseSettings:
redirectUrl: 'https://example.com'
redirectMethod: GET
redirectAction: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
userVisible: true
589a331aa51e760df7ccb89d:
displayName: Email
type: Email
placeholder: Enter your email
userVisible: true
responseSettings:
redirectUrl: 'https://example.com'
redirectMethod: GET
redirectAction: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
- 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'
localeId: null
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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
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
localeId:
type: string
format: objectid
nullable: true
description: The ID of the locale the form was submitted from. `null` for primary-locale submissions or sites without localization.
example: 6a0cb90f3ecc9d3d47ca8b5b
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
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
localeId:
type: string
format: objectid
nullable: true
description: The ID of the locale the form was submitted from. `null` for primary-locale submissions or sites without localization.
example: 6a0cb90f3ecc9d3d47ca8b5b
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name: forms
x-fern-sdk-method-name: update-submission
security:
- OAuth2:
- 'forms:write'
operationId: modify-form-submission
summary: 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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
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
localeId:
type: string
format: objectid
nullable: true
description: The ID of the locale the form was submitted from. `null` for primary-locale submissions or sites without localization.
example: 6a0cb90f3ecc9d3d47ca8b5b
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
delete:
x-fern-sdk-group-name: forms
x-fern-sdk-method-name: delete-submission
security:
- OAuth2:
- 'forms:write'
operationId: delete-form-submission
summary: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- name: elementId
in: query
allowEmptyValue: true
description: Identifier for an element
example: 18259716-3e5a-646a-5f41-5dc4b9405aa0
required: false
schema:
type: string
default: null
- 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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
- 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'
localeId: null
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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
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
localeId:
type: string
format: objectid
nullable: true
description: The ID of the locale the form was submitted from. `null` for primary-locale submissions or sites without localization.
example: 6a0cb90f3ecc9d3d47ca8b5b
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
- 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'
localeId: null
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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
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
localeId:
type: string
format: objectid
nullable: true
description: The ID of the locale the form was submitted from. `null` for primary-locale submissions or sites without localization.
example: 6a0cb90f3ecc9d3d47ca8b5b
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
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
localeId:
type: string
format: objectid
nullable: true
description: The ID of the locale the form was submitted from. `null` for primary-locale submissions or sites without localization.
example: 6a0cb90f3ecc9d3d47ca8b5b
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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'
localeId: 6a0cb90f3ecc9d3d47ca8b5b
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
localeId:
type: string
format: objectid
nullable: true
description: The ID of the locale the form was submitted from. `null` for primary-locale submissions or sites without localization.
example: 6a0cb90f3ecc9d3d47ca8b5b
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
'403':
description: Forbidden
x-logErrorCode: 403
content:
application/json:
schema:
type: object
example:
code: not_authorized
message: Request not authorized
externalReference: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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: null
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
post:
x-fern-sdk-group-name: products
x-fern-sdk-method-name: create
security:
- OAuth2:
- 'ecommerce:write'
operationId: create-product
summary: 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: null
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: null
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: null
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: null
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: null
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: null
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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: null
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name: products
x-fern-sdk-method-name: update
security:
- OAuth2:
- 'ecommerce:write'
operationId: update-product
summary: 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: null
- 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: null
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: null
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: null
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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: null
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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: null
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: null
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: null
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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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! \U0001F389 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! \U0001F389"
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: null
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: null
nullable: true
description: 'The physical weight of the variant if provided, or null'
width:
type: number
example: 4
nullable: true
default: null
description: 'The physical width of the variant if provided, or null'
height:
type: number
example: 7
nullable: true
default: null
description: 'The physical height of the variant if provided, or null'
length:
type: number
example: 2
nullable: true
default: null
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: null
nullable: true
refundId:
type: string
format: objectid
description: 'Stripe-generated refund identifier, or null'
example: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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! \U0001F389 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! \U0001F389"
acceptedOn: '2024-04-10T13:16:21.976Z'
fulfilledOn: null
refundedOn: null
disputedOn: null
disputeUpdatedOn: null
disputeLastStatus: null
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: null
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: null
variantPrice:
unit: USD
value: '8309'
string: $ 83.09 USD
weight: null
height: 72
width: 19
length: 18
purchasedItemsCount: 3
stripeDetails:
customerId: cus_Ptod8KJBiiPgnH
paymentMethod: pm_1P410gJYFi4lcbXWbeKghqjK
chargeId: ch_3P410iJYFi4lcbXW0DxUkzCH
disputeId: null
paymentIntentId: pi_3P410iJYFi4lcbXW0EKKgcVg
subscriptionId: null
refundId: null
refundReason: null
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2025
paypalDetails: null
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: null
refundedOn: '2024-04-08T18:25:04.238Z'
disputedOn: null
disputeUpdatedOn: null
disputeLastStatus: null
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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! \U0001F389 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! \U0001F389"
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: null
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: null
nullable: true
description: 'The physical weight of the variant if provided, or null'
width:
type: number
example: 4
nullable: true
default: null
description: 'The physical width of the variant if provided, or null'
height:
type: number
example: 7
nullable: true
default: null
description: 'The physical height of the variant if provided, or null'
length:
type: number
example: 2
nullable: true
default: null
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: null
nullable: true
refundId:
type: string
format: objectid
description: 'Stripe-generated refund identifier, or null'
example: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name: orders
x-fern-sdk-method-name: update
security:
- OAuth2:
- 'ecommerce:write'
operationId: update-order
summary: 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: null
- 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! \U0001F389 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! \U0001F389"
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: null
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: null
nullable: true
description: 'The physical weight of the variant if provided, or null'
width:
type: number
example: 4
nullable: true
default: null
description: 'The physical width of the variant if provided, or null'
height:
type: number
example: 7
nullable: true
default: null
description: 'The physical height of the variant if provided, or null'
length:
type: number
example: 2
nullable: true
default: null
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: null
nullable: true
refundId:
type: string
format: objectid
description: 'Stripe-generated refund identifier, or null'
example: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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! \U0001F389 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! \U0001F389"
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: null
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: null
nullable: true
description: 'The physical weight of the variant if provided, or null'
width:
type: number
example: 4
nullable: true
default: null
description: 'The physical width of the variant if provided, or null'
height:
type: number
example: 7
nullable: true
default: null
description: 'The physical height of the variant if provided, or null'
length:
type: number
example: 2
nullable: true
default: null
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: null
nullable: true
refundId:
type: string
format: objectid
description: 'Stripe-generated refund identifier, or null'
example: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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! \U0001F389 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! \U0001F389"
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: null
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: null
nullable: true
description: 'The physical weight of the variant if provided, or null'
width:
type: number
example: 4
nullable: true
default: null
description: 'The physical width of the variant if provided, or null'
height:
type: number
example: 7
nullable: true
default: null
description: 'The physical height of the variant if provided, or null'
length:
type: number
example: 2
nullable: true
default: null
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: null
nullable: true
refundId:
type: string
format: objectid
description: 'Stripe-generated refund identifier, or null'
example: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
- 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! \U0001F389 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! \U0001F389"
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: null
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: null
nullable: true
description: 'The physical weight of the variant if provided, or null'
width:
type: number
example: 4
nullable: true
default: null
description: 'The physical width of the variant if provided, or null'
height:
type: number
example: 7
nullable: true
default: null
description: 'The physical height of the variant if provided, or null'
length:
type: number
example: 2
nullable: true
default: null
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: null
nullable: true
refundId:
type: string
format: objectid
description: 'Stripe-generated refund identifier, or null'
example: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
details: []
patch:
x-fern-sdk-group-name: inventory
x-fern-sdk-method-name: update
security:
- OAuth2:
- 'ecommerce:write'
operationId: update-inventory
summary: 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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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: null
details: []
properties:
code:
type: string
description: Error code
example: not_authorized
enum:
- bad_request
- collection_not_found
- conflict
- duplicate_collection
- duplicate_user_email
- ecommerce_not_enabled
- forbidden
- forms_require_republish
- incompatible_webhook_filter
- internal_error
- invalid_auth_version
- invalid_credentials
- invalid_domain
- invalid_user_email
- item_not_found
- missing_scopes
- no_domains
- not_authorized
- not_enterprise_plan_site
- not_enterprise_plan_workspace
- order_not_found
- resource_not_found
- service_unavailable
- too_many_requests
- unsupported_version
- unsupported_webhook_trigger_type
- user_limit_reached
- user_not_found
- users_not_enabled
- validation_error
message:
type: string
description: Error message
example: Request not authorized
externalReference:
type: string
description: Link to more information
example: ''
details:
type: array
description: Array of errors
items:
- 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: null
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
localeId:
type: string
format: objectid
nullable: true
description: The ID of the locale the form was submitted from. `null` for primary-locale submissions or sites without localization.
example: 6a0cb90f3ecc9d3d47ca8b5b
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
localeId: 6a0cb90f3ecc9d3d47ca8b5b
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 and ID of the user who published the site
example:
displayName: Zaphod BeebleBrox
publishScope:
description: Whether the entire site or an individual page was published
type: string
enum:
- page
- site
pageId:
description: The ID of the page that was published
type: string
example: 64abc123def4567890abcde1
example:
triggerType: site_publish
payload:
site: 62749158efef318abc8d5a0f
publishTime: '2024-07-26T16:43:20.440Z'
domains:
- heartofgold.webflow.io
publishedBy:
displayName: Zaphod BeebleBrox
publishScope: site
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! \U0001F389 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! \U0001F389"
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: null
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: null
nullable: true
description: 'The physical weight of the variant if provided, or null'
width:
type: number
example: 4
nullable: true
default: null
description: 'The physical width of the variant if provided, or null'
height:
type: number
example: 7
nullable: true
default: null
description: 'The physical height of the variant if provided, or null'
length:
type: number
example: 2
nullable: true
default: null
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: null
nullable: true
refundId:
type: string
format: objectid
description: 'Stripe-generated refund identifier, or null'
example: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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! \U0001F389 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! \U0001F389"
acceptedOn: '2024-03-29T21:29:21.555Z'
fulfilledOn: null
refundedOn: null
disputedOn: null
disputeUpdatedOn: null
disputeLastStatus: null
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
nullable: true
description: 'The physical weight of the variant if provided, or null'
width:
type: number
example: 4
nullable: true
default: null
description: 'The physical width of the variant if provided, or null'
height:
type: number
example: 7
nullable: true
default: null
description: 'The physical height of the variant if provided, or null'
length:
type: number
example: 2
nullable: true
default: null
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: null
nullable: true
refundId:
type: string
format: objectid
description: 'Stripe-generated refund identifier, or null'
example: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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! \U0001F389 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! \U0001F389"
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: null
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: null
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: null
paymentIntentId: pi_3OzmzDJYFi4lcbXW1hTBW6ft
subscriptionId: null
refundId: re_3OzmzDJYFi4lcbXW1kFAmlBk
refundReason: fraudulent
stripeCard:
last4: '4242'
brand: Visa
ownerName: Arthur Dent
expires:
month: 4
year: 2024
paypalDetails: null
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: null
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: null
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: null
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: null
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: null
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 page
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
pageName:
type: string
nullable: true
description: 'The display name of the page, or null if not set'
example: My New Page
archived:
type: boolean
description: Whether the page is archived
example: false
draft:
type: boolean
description: Whether the page is a draft
example: false
isBranch:
type: boolean
description: Whether the page belongs to a branch
example: false
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
pageName: Heart of Gold Specs
archived: false
draft: false
isBranch: false
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
pageName:
type: string
nullable: true
description: 'The display name of the page, or null if not set'
example: My New Page
archived:
type: boolean
description: Whether the page is archived
example: false
draft:
type: boolean
description: Whether the page is a draft
example: false
isBranch:
type: boolean
description: Whether the page belongs to a branch
example: false
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
pageName: Heart of Gold Specs
archived: false
draft: false
isBranch: false
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
pageName:
type: string
nullable: true
description: 'The display name of the page, or null if not set'
example: My New Page
archived:
type: boolean
description: Whether the page is archived
example: false
draft:
type: boolean
description: Whether the page is a draft
example: false
isBranch:
type: boolean
description: Whether the page belongs to a branch
example: false
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
pageName: Heart of Gold Specs
archived: false
draft: false
isBranch: false
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
- 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, or for CMS item comments, the template page ID'
localeId:
type: string
readOnly: true
example: 580e64008c9a982ac9b8b754
description: The locale 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'