openapi: 3.1.0 info: version: 2.0.0-beta title: Data API (beta) description: Webflow's Data API v2 (beta) termsOfService: 'https://webflow.com/legal/terms' license: name: MIT url: 'https://opensource.org/licenses/MIT' servers: - url: 'https://api.webflow.com/beta' security: - OAuth2: [] - ApiKey: [] tags: - name: Meta - name: Sites - name: Assets - name: Forms - name: Pages - name: Collections - name: Items - name: Users - name: Products & SKUs - name: Orders - name: Inventory - name: Settings - name: Webhooks - name: Site Activity - name: Custom Code - name: Custom Code - Sites - name: Custom Code - Pages - name: App Subscriptions 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: 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 '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string 4XX: description: Request body was incorrectly formatted. Likely invalid JSON being sent up. 5XX: description: We had a problem with our server. Try again later. /token/introspect: get: x-fern-sdk-group-name: token x-fern-sdk-method-name: introspect operationId: introspect summary: Authorization Info description: | Information about the authorization token

Access to this endpoint requires a bearer token from a Data Client App. 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: Application: 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 4XX: description: Request body was incorrectly formatted. Likely invalid JSON being sent up. 5XX: description: We had a problem with our server. Try again later. /token/resolve: post: x-fern-sdk-group-name: id-token x-fern-sdk-method-name: resolve security: - OAuth2: - 'authorized_user:read' operationId: resolve summary: Resolve ID Token description: | Information about the authorized user derived from the resolved ID Token

Access to this endpoint requires a bearer token from a Data Client App. Required Scope | `authorized_user:read` tags: - Meta requestBody: content: application/json: schema: type: object properties: idToken: description: The ID token created using the Designer API type: string example: 589a331aa51e760df7ccb89d 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 '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string 4XX: description: Request body was incorrectly formatted. Likely invalid JSON being sent up. 5XX: description: We had a problem with our server. Try again later. /app_subscriptions: get: x-fern-sdk-group-name: app-subscriptions x-fern-sdk-method-name: app-subscriptions security: - OAuth2: - 'app_subscriptions:read' operationId: app_subscriptions summary: Get app subscriptions description: | Information about subscriptions for a specific authorization token

Access to this endpoint requires a bearer token from a Data Client App. Required Scope | `app_subscriptions:read` tags: - Meta - App Subscriptions responses: '200': description: Request was successful content: application/json: schema: description: List of subscriptions for a specific site properties: appSubscriptions: type: array items: type: object description: Subscription details for a site properties: appSubscriptions: type: object properties: appId: type: string format: objectId description: The unique ID of the App example: 65ae93df86d80c2f1fe3b2f8 price: type: object description: The price of the Subscription properties: value: type: number example: 1000 description: Price in cents unit: type: string description: Currency unit example: USD interval: type: string example: MONTHLY enum: - MONTHLY - YEARLY - ONE_TIME description: Interval of payment accessGrant: description: Information about the granted access for the subscription. type: object properties: id: description: The unique ID of the granted resource example: 65ea160a1a9368783da53862 type: string format: objectId type: description: The type of granted resource example: Site type: string status: type: string description: Status of the subscription enum: - active - cancelled - past due startsAt: description: Start time of the current billing period type: string format: date-time example: '2024-03-19T16:00:31.000Z' endsAt: description: End time of the current billing period type: string format: date-time example: '2024-04-19T16:00:31.000Z' example: value: appSubscriptions: - appId: 65ae93df86d80c2f1fe3b2f8 price: value: 4598 unit: USD interval: MONTHLY accessGrant: id: 65ea160a1a9368783da53862 type: Site status: cancelled startsAt: '2024-03-18T14:45:27.000Z' endsAt: '2024-04-18T14:45:27.000Z' - appId: 65ae93df86d80c2f1fe3b2f8 price: value: 4598 unit: USD interval: MONTHLY accessGrant: id: 65ea160a1a9368783da53862 type: Site status: cancelled startsAt: '2024-03-18T15:09:03.000Z' endsAt: '2024-04-18T15:09:03.000Z' - appId: 65ae93df86d80c2f1fe3b2f8 price: value: 4598 unit: USD interval: MONTHLY accessGrant: id: 65ea160a1a9368783da53862 type: Site status: active startsAt: '2024-03-19T16:00:31.000Z' endsAt: '2024-04-19T16:00:31.000Z' '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string 4XX: description: Request body was incorrectly formatted. Likely invalid JSON being sent up. 5XX: description: We had a problem with our server. Try again later. '/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: Super Cool Site description: The name of the site templateName: type: string example: Business Template description: The workspace or marketplace template to use parentFolderId: type: string nullable: true example: a9c420f9347c2139b248e913 description: The parent folder ID of the site responses: '200': description: Request was successful content: application/json: schema: example: id: 42e98c9a982ac9b8b742 workspaceId: 42e63e98c9a982ac9b8b742 displayName: The Hitchhiker's Guide to the Galaxy shortName: hitchhikers-guide previewUrl: 'https://screenshots.webflow.com/sites/6258612d1ee792848f805dcf/20231219211811_d5990556c743f33b7071300a03bf67e6.png' timeZone: Magrathea/FactoryFloor createdOn: '1979-10-12T12:00:00.000Z' lastUpdated: '2023-04-02T12:42:00.000Z' lastPublished: '2023-04-02T12:42:00.000Z' parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 customDomains: - id: 589a331aa51e760df7ccb89d url: hitchhikersguide.galaxy - id: 589a331aa51e760df7ccb89e url: heartofgold.spaceship locales: value: 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 required: - id readOnly: null 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://d1otoma47x30pg.cloudfront.net/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 readOnly: true url: type: string example: test-api-domain.com description: The registered Domain name example: id: 589a331aa51e760df7ccb89d url: test-api-domain.com 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. '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden request content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: Error response for non-enterprise plan workspaces. - properties: code: type: string description: Error code enum: - missing_scopes type: string '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. /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: Magrathea/FactoryFloor createdOn: '1979-10-12T12:00:00.000Z' lastUpdated: '2023-04-02T12:42:00.000Z' lastPublished: '2023-04-02T12:42:00.000Z' parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 customDomains: - id: 589a331aa51e760df7ccb89d url: hitchhikersguide.galaxy - id: 589a331aa51e760df7ccb89e url: heartofgold.spaceship locales: value: 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 required: - id readOnly: null 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://d1otoma47x30pg.cloudfront.net/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 readOnly: true url: type: string example: test-api-domain.com description: The registered Domain name example: id: 589a331aa51e760df7ccb89d url: test-api-domain.com 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. 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://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b741/197910121200.png' timeZone: DeepSpace/InfiniteImprobability parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 customDomains: - id: 589a331aa51e760df7ccb89e url: heartofgold.galaxy 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 - 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://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b742/198110121200.png' timeZone: DeepSpace/Depression parentFolderId: null customDomains: - id: 589a331aa51e760df7ccb89f url: marvin.blog 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 - 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://d1otoma47x30pg.cloudfront.net/42e63e98c9a982ac9b8b743/198210121200.png' timeZone: Vogsphere/PoetryHall parentFolderId: null customDomains: - id: 589a331aa51e760df7ccb8a0 url: vogonpoetry.galaxy 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 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 a site by site id

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: Magrathea/FactoryFloor createdOn: '1979-10-12T12:00:00.000Z' lastUpdated: '2023-04-02T12:42:00.000Z' lastPublished: '2023-04-02T12:42:00.000Z' parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 customDomains: - id: 589a331aa51e760df7ccb89d url: hitchhikersguide.galaxy - id: 589a331aa51e760df7ccb89e url: heartofgold.spaceship locales: value: 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 required: - id readOnly: null 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://d1otoma47x30pg.cloudfront.net/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 readOnly: true url: type: string example: test-api-domain.com description: The registered Domain name example: id: 589a331aa51e760df7ccb89d url: test-api-domain.com 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. '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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: Magrathea/FactoryFloor createdOn: '1979-10-12T12:00:00.000Z' lastUpdated: '2023-04-02T12:42:00.000Z' lastPublished: '2023-04-02T12:42:00.000Z' parentFolderId: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 customDomains: - id: 589a331aa51e760df7ccb89d url: hitchhikersguide.galaxy - id: 589a331aa51e760df7ccb89e url: heartofgold.spaceship locales: value: 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 required: - id readOnly: null 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://d1otoma47x30pg.cloudfront.net/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 readOnly: true url: type: string example: test-api-domain.com description: The registered Domain name example: id: 589a331aa51e760df7ccb89d url: test-api-domain.com 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. '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden request content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: Error response for non-enterprise plan sites. - properties: code: type: string description: Error code enum: - missing_scopes type: string '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden request content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: Error response for non-enterprise plan sites. - properties: code: type: string description: Error code enum: - missing_scopes type: string '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 readOnly: true url: type: string example: test-api-domain.com description: The registered Domain name example: id: 589a331aa51e760df7ccb89d url: test-api-domain.com example: customDomains: - id: 589a331aa51e760df7ccb89d url: hitchhikersguide.galaxy - id: 589a331aa51e760df7ccb89e url: heartofgold.spaceship '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: 'Publish a site to one more more domains.

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 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 readOnly: true url: type: string example: test-api-domain.com description: The registered Domain name example: id: 589a331aa51e760df7ccb89d url: test-api-domain.com publishToWebflowSubdomain: description: Flag for publishing to webflow.io subdomain type: boolean default: false '400': description: Bad Request content: application/json: schema: oneOf: - description: Requested an invalid Domain. Please send a valid custom domain URI schema: example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: You must pass at least one domain id to the publish endpoint schema: example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '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. 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 '/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. Requires Site to be on an Enterprise plan.

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: number - 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: number 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 resourceOperation: type: string enum: - CREATED - MODIFIED - PUBLISHED - UNPUBLISHED - DELETED 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 properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 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: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: Error response for non-enterprise plan sites. - properties: code: type: string description: Error code enum: - missing_scopes type: string '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: 580e63fc8c9a982ac9b8b745 displayName: Blog Posts singularName: Blog Post slug: post createdOn: '2016-10-24T19:41:48.349Z' lastUpdated: '2016-10-24T19:42:38.929Z' fields: - id: 23cc2d952d4e4631ffd4345d2743db4e isEditable: true isRequired: true type: PlainText slug: name displayName: Name helpText: null description: A collection object type: object required: - id - fields properties: id: type: string format: objectid description: Unique identifier for a Collection example: 562ac0395358780a1f5e6fbd readOnly: true 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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.

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 example: displayName: Blog Posts singularName: Blog Post slug: posts responses: '200': description: Request was successful content: application/json: schema: example: id: 580e63fc8c9a982ac9b8b745 displayName: Blog Posts singularName: Blog Post slug: post createdOn: '2016-10-24T19:41:48.349Z' lastUpdated: '2016-10-24T19:42:38.929Z' fields: - id: 23cc2d952d4e4631ffd4345d2743db4e isEditable: true isRequired: true type: PlainText slug: name displayName: Name helpText: null description: A collection object type: object required: - id - fields properties: id: type: string format: objectid description: Unique identifier for a Collection example: 562ac0395358780a1f5e6fbd readOnly: true 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 readOnly: true 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 type: object required: - id - type - isRequired - displayName properties: id: type: string format: objectid description: Unique identifier for a Field readOnly: true 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: - PlainText - RichText - Image - MultiImage - Video - Link - Email - Phone - Number - DateTime - Boolean - Color - ExtFileRef 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 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: 580e63fc8c9a982ac9b8b745 displayName: Blog Posts singularName: Blog Post slug: post createdOn: '2016-10-24T19:41:48.349Z' lastUpdated: '2016-10-24T19:42:38.929Z' fields: - id: 23cc2d952d4e4631ffd4345d2743db4e isEditable: true isRequired: true type: PlainText slug: name displayName: Name helpText: null description: A collection object type: object required: - id - fields properties: id: type: string format: objectid description: Unique identifier for a Collection example: 562ac0395358780a1f5e6fbd readOnly: true 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 readOnly: true 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 type: object required: - id - type - isRequired - displayName properties: id: type: string format: objectid description: Unique identifier for a Field readOnly: true 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: - PlainText - RichText - Image - MultiImage - Video - Link - Email - Phone - Number - DateTime - Boolean - Color - ExtFileRef 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 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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.

Slugs must be all lowercase letters without spaces. If you pass a string with uppercase letters and/or spaces to the "Slug" property, Webflow will convert the slug to lowercase and replace spaces with "-."

Only some field types can be created through the API. This endpoint does not currently support bulk creation.

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 example: type: RichText isRequired: false displayName: Post Body helpText: Add the body of your post here type: object required: - type - displayName properties: isRequired: type: boolean description: define whether a field is required in a collection type: type: string enum: - PlainText - RichText - Image - MultiImage - Video - Link - Email - Phone - Number - DateTime - Boolean - Color - File 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 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: 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 type: object required: - id - type - isRequired - displayName properties: id: type: string format: objectid description: Unique identifier for a Field readOnly: true 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: - PlainText - RichText - Image - MultiImage - Video - Link - Email - Phone - Number - DateTime - Boolean - Color - ExtFileRef 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 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 type: object required: - id - type - isRequired - displayName properties: id: type: string format: objectid description: Unique identifier for a Field readOnly: true 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: - PlainText - RichText - Image - MultiImage - Video - Link - Email - Phone - Number - DateTime - Boolean - Color - ExtFileRef 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 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. delete: x-fern-sdk-group-name: collections 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: number - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: number - name: name in: query allowEmptyValue: true description: The name of the item(s) schema: type: string - name: slug in: query allowEmptyValue: true description: The slug of the item schema: type: string - name: lastPublished in: query allowEmptyValue: true description: 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' gte: type: string format: date-time example: '2024-04-19T16:00:31.000Z' style: deepObject explode: true - name: sortBy in: query allowEmptyValue: true description: Sort results by the provided value required: false schema: type: string enum: - lastPublished - name - slug - name: sortOrder in: query allowEmptyValue: true description: Sorts the results by asc or desc required: false schema: type: string enum: - asc - desc responses: '200': description: Request was successful content: application/json: schema: 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' isArchived: false isDraft: false fieldData: url: 'https://boards.greenhouse.io/webflow/jobs/26567701' name: Senior Data Analyst department: Data slug: senior-data-analyst pagination: limit: 25 offset: 0 total: 2 properties: items: type: array description: List of Items within the collection 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 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' pagination: type: object properties: limit: type: number default: 100 description: The limit specified in the request offset: type: number default: 0 description: The offset specified for pagination total: type: number description: Total number of items in the collection '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/collections/{collection_id}/items/live': get: x-fern-sdk-group-name: - collections - items x-fern-sdk-method-name: list-items-live security: - OAuth2: - 'CMS:read' operationId: list-collection-items-live summary: List Collection Items (Live) description: 'List of all live 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: number - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: number - name: name in: query allowEmptyValue: true description: The name of the item(s) schema: type: string - name: slug in: query allowEmptyValue: true description: The slug of the item schema: type: string - name: lastPublished in: query allowEmptyValue: true description: 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' gte: type: string format: date-time example: '2024-04-19T16:00:31.000Z' style: deepObject explode: true - name: sortBy in: query allowEmptyValue: true description: Sort results by the provided value required: false schema: type: string enum: - lastPublished - name - slug - name: sortOrder in: query allowEmptyValue: true description: Sorts the results by asc or desc required: false schema: type: string enum: - asc - desc responses: '200': description: Request was successful content: application/json: schema: 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' isArchived: false isDraft: false fieldData: url: 'https://boards.greenhouse.io/webflow/jobs/26567701' name: Senior Data Analyst department: Data slug: senior-data-analyst pagination: limit: 25 offset: 0 total: 2 properties: items: type: array description: List of Items within the collection 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 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' pagination: type: object properties: limit: type: number default: 100 description: The limit specified in the request offset: type: number default: 0 description: The offset specified for pagination total: type: number description: Total number of items in the collection '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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 Collection Item (Live) description: 'Create live Item in a Collection. This Item will be published to the live site.

To create items across multiple locales, please use this endpoint.

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 item to create 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 required: - id 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' responses: '202': description: Request was successful 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 required: - id 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/collections/{collection_id}/items/bulk': post: x-fern-sdk-group-name: - collections - items x-fern-sdk-method-name: create-item-for-multiple-locales security: - OAuth2: - 'cms:write' operationId: create-item-for-multiple-locales summary: Create item for multiple locales description: 'Create single Item in a Collection with multiple corresponding locales.

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 item to create 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 required: - id properties: id: type: string readOnly: true 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: 65df88b3d9706dfafead9117 cmsLocaleId: 653ad57de882f528b32e810e lastPublished: null lastUpdated: '2024-02-28T19:25:39.942Z' createdOn: '2024-02-28T19:25:39.942Z' isArchived: false isDraft: false fieldData: name: My New Item slug: my-new-item - id: 65df88b3d9706dfafead9117 cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d lastPublished: null lastUpdated: '2024-02-28T19:25:39.942Z' createdOn: '2024-02-28T19:25:39.942Z' isArchived: false isDraft: false fieldData: name: My New Item slug: my-new-item responses: '202': description: Request was successful 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 required: - id properties: id: type: string readOnly: true 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: 65df88b3d9706dfafead9117 cmsLocaleId: 653ad57de882f528b32e810e lastPublished: null lastUpdated: '2024-02-28T19:25:39.942Z' createdOn: '2024-02-28T19:25:39.942Z' isArchived: false isDraft: false fieldData: name: My New Item slug: my-new-item - id: 65df88b3d9706dfafead9117 cmsLocaleId: 653fd9af6a07fc9cfd7a5e5d lastPublished: null lastUpdated: '2024-02-28T19:25:39.942Z' createdOn: '2024-02-28T19:25:39.942Z' isArchived: false isDraft: false fieldData: name: My New Item slug: my-new-item '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: 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 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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 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 required: - id 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' responses: '200': description: Request was successful 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 required: - id 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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. This endpoint does not currently support bulk deletion.

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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/collections/{collection_id}/items/{item_id}/live': get: x-fern-sdk-group-name: - collections - items x-fern-sdk-method-name: get-item-live security: - OAuth2: - 'CMS:read' operationId: get-item-live summary: Get Collection Item (Live) description: 'Get details of a selected Collection live 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: 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 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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 Collection Item (Live) 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 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 required: - id 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' responses: '200': description: Request was successful 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 required: - id 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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: Delete Collection Item (Live) description: 'Delete a live Item from a Collection. The Item will be unpublished from the live site. This endpoint does not currently support bulk deletion.

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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 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: type: object required: - itemIds properties: itemIds: type: array items: type: string format: objectid example: itemIds: - 643fd856d66b6528195ee2ca - 643fd856d66b6528195ee2cb - 643fd856d66b6528195ee2cc 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: locale in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific locale. Applicable, when using 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: number - 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: number 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: true 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 - 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 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 pagination: limit: 20 offset: 0 total: 2 properties: pages: type: array items: description: The Page object type: object required: - pageId 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: true 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: id: type: string format: objectid readOnly: true 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)' readOnly: true default: false example: false isMembersOnly: type: boolean description: 'Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)' readOnly: true default: false example: false 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 pagination: description: Pagination object type: object properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/pages/{page_id}': 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: locale in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific locale. Applicable, when using localization.' schema: type: string requestBody: content: application/json: schema: description: The Page object type: object required: - pageId 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: true 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: id: type: string format: objectid readOnly: true 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)' readOnly: true default: false example: false isMembersOnly: type: boolean description: 'Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)' readOnly: true default: false example: false 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 responses: '200': description: Request was successful content: application/json: schema: description: The Page object type: object required: - pageId example: id: 6390c49774a71f0e3c1a08ee siteId: 6390c49674a71f84b51a08d8 title: Blog Categories Template slug: detail_blog-category collectionId: 6390c49774a71f12831a08e3 createdOn: '2018-10-14T21:55:49.063Z' lastUpdated: '2022-12-07T16:51:37.571Z' archived: false draft: false canBranch: true isMembersOnly: false seo: title: CoffeeStyle eCommerce - Webflow HTML website template description: This Webflow template offers a quick start into an e-commerce / memberships site openGraph: title: CoffeeStyle eCommerce - Webflow HTML website template titleCopied: true description: This Webflow template offers a quick start into an e-commerce / memberships site descriptionCopied: true localeId: 653fd9af6a07fc9cfd7a5e57 publishedPath: /heart-of-gold properties: id: type: string format: objectid readOnly: true 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)' readOnly: true default: false example: false isMembersOnly: type: boolean description: 'Indicates whether the Page is restricted by [Memberships Controls](https://university.webflow.com/lesson/webflow-memberships-overview#how-to-manage-page-restrictions)' readOnly: true default: false example: false 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 example: 653fd9af6a07fc9cfd7a5e57 publishedPath: description: Relative path of the published page URL type: string example: /heart-of-gold '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/pages/{page_id}/dom': get: x-fern-sdk-group-name: pages x-fern-sdk-method-name: get-content security: - OAuth2: - 'page:read' summary: Get Page Content description: 'Get static content from a static page.
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 | `pages:read`' operationId: get-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: locale in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific locale. Applicable, when using 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: number - 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: number 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. It captures various content nodes, such as text and images, along with their associated attributes. Each node has a unique identifier and can be of different types like text or image. 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: {} - id: a245c12d-995b-55ee-5ec7-aa36a6cad629 type: image image: alt: 'Marvin, the Paranoid Android' assetId: 659595234426a9fcbad57043 attributes: {} pagination: limit: 3 offset: 0 total: 3 properties: pageId: type: string description: Page 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: id: type: string description: Node UUID readOnly: true type: type: string enum: - text - image text: description: | Represents textual content within the DOM. It contains both the raw text and its HTML representation, allowing for flexibility in rendering and processing. Additional attributes can be associated with the text for styling or other purposes. type: object properties: html: type: string text: type: string nullable: true image: 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 properties: alt: type: string nullable: true assetId: type: string attributes: type: object description: The custom attributes of the node additionalProperties: type: string pagination: description: Pagination object type: object properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. post: security: - OAuth2: - 'page:write' summary: Update Page Content description: 'Update static content on a static page. This endpoint supports sending 1000 nodes per request.

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: locale in: query required: true description: The locale identifier. schema: type: string requestBody: content: application/json: schema: description: | The DOM (Document Object Model) schema represents the content structure of a web page. It captures various content nodes, such as text and images, along with their associated attributes. Each node has a unique identifier and can be of different types like text or image. The schema also provides pagination details for scenarios where the content nodes are too many to be fetched in a single request. type: object properties: nodes: type: array items: type: object 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 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-aa36a6cad629 text: '' 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 registered scripts that have been applied to a specific Page.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.

Access to this endpoint requires a bearer token from a Data Client 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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: | Delete the custom code block that an app has created for a page

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.

Access to this endpoint requires a bearer token from a Data Client 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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: | Add a registered script to a Page.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.

Access to this endpoint requires a bearer token from a Data Client 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 registered scripts that have been applied to a specific Site.

Access to this endpoint requires a bearer token from a Data Client 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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: | Delete the custom code block that an app created for a Site

Access to this endpoint requires a bearer token from a Data Client 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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: | Add a registered script to a Site.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.

Access to this endpoint requires a bearer token from a Data Client 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: | List of scripts registered to a Site.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints. Additionally, Scripts can be remotely hosted, or registered as inline snippets. Access to this endpoint requires a bearer token from a Data Client 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' 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 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: | Add a script to a Site's Custom Code registry.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints. Additionally, Scripts can be remotely hosted, or registered as inline snippets. Access to this endpoint requires a bearer token from a Data Client 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: | Add a script to a Site's Custom Code registry. Inline scripts can be between 1 and 2000 characters.

In order to use the Custom Code APIs for Sites and Pages, Custom Code Scripts must first be registered to a Site via the `registered_scripts` endpoints, and then applied to a Site or Page using the appropriate `custom_code` endpoints.

Access to this endpoint requires a bearer token from a Data Client 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' '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 all instances of Custom Code applied to a Site or Pages.

Access to this endpoint requires a bearer token from a Data Client 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: number - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: number 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 properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 assets for a given 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: locale in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific locale. Applicable, when using localization.' schema: type: string responses: '200': description: Request was successful content: application/json: schema: description: A list of assets type: array 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 items: properties: id: type: string format: objectid example: 55131cd036c09f7d07883dfc description: Unique identifier for this asset originalFileName: type: string example: image.png description: Original file name at the time of upload displayName: type: string example: example-image-123.png description: Display name of the asset contentType: type: string example: image/png format: mime-type description: File format type size: type: integer description: size in bytes example: 1500 siteId: type: string format: objectid example: 62749158efef318abc8d5a0f description: Unique identifier for the site that hosts this asset 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 hostedUrl: type: string format: uri example: example.com/hostedimage.png description: Link to the asset variants: type: array items: 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 quality: type: integer description: Value between 0 and 100 representing the image quality error: type: string description: Any associated validation errors '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. post: x-fern-sdk-group-name: assets x-fern-sdk-method-name: create security: - OAuth2: - 'assets:write' operationId: create-asset summary: Create Asset Metadata description: | Create a new asset entry.

This endpoint generates a response with the following information: `uploadUrl` and `uploadDetails`. You can use these two properties to [upload the file to Amazon s3 by making a POST](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOST.html) request to the `uploadUrl` with the `uploadDetails` object as your header information in the request.

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 a webhook required: - fileName - fileHash properties: fileName: type: string example: file.png description: file name including file extension 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://d1otoma47x30pg.cloudfront.net/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 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: locale in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific locale. Applicable, when using localization.' schema: type: string responses: '200': description: Request was successful content: application/json: schema: properties: id: type: string format: objectid example: 55131cd036c09f7d07883dfc description: Unique identifier for this asset originalFileName: type: string example: image.png description: Original file name at the time of upload displayName: type: string example: example-image-123.png description: Display name of the asset contentType: type: string example: image/png format: mime-type description: File format type size: type: integer description: size in bytes example: 1500 siteId: type: string format: objectid example: 62749158efef318abc8d5a0f description: Unique identifier for the site that hosts this asset 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 hostedUrl: type: string format: uri example: example.com/hostedimage.png description: Link to the asset variants: type: array items: 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 quality: type: integer description: Value between 0 and 100 representing the image quality error: type: string description: Any associated validation errors '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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 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: locale in: query allowEmptyValue: true example: 65427cf400e02b306eaa04a0 description: 'Unique identifier for a specific locale. Applicable, when using 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 required: - displayName properties: displayName: type: string example: bulldoze.png description: file name including file extension altText: type: string example: Arthur Dent's House Before Bulldozed for a Bypass description: Alternate text describing the file responses: '200': description: Request was successful content: application/json: schema: properties: id: type: string format: objectid example: 55131cd036c09f7d07883dfc description: Unique identifier for this asset originalFileName: type: string example: image.png description: Original file name at the time of upload displayName: type: string example: example-image-123.png description: Display name of the asset contentType: type: string example: image/png format: mime-type description: File format type size: type: integer description: size in bytes example: 1500 siteId: type: string format: objectid example: 62749158efef318abc8d5a0f description: Unique identifier for the site that hosts this asset 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 hostedUrl: type: string format: uri example: example.com/hostedimage.png description: Link to the asset variants: type: array items: 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 quality: type: integer description: Value between 0 and 100 representing the image quality error: type: string description: Any associated validation errors '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: pagination: description: Pagination object type: object properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 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: type: string format: objectid example: 57ca0a9e418c504a6e1acbb6 description: Unique identifier for the Webhook registration workspaceId: type: string format: objectid example: 580e63e98c9a982ac9b8b741 description: Unique identifier for the Workspace the Webhook is registered in siteId: type: string format: objectid example: 562ac0395358780a1f5e6fbd description: Unique identifier for the Site the Webhook is registered in triggerType: type: string example: form_submission description: | * `form_submission` - Sends the [form_submission](#form_submission) event * `site_publish` - Sends a [site_publish](#site_publish) event * `page_created` - Send the [page_created](#page_created) event * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event * `page_deleted` - Sends the [page_deleted](#page_deleted) event * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event * `user_account_added` - Sends the [user_account_added](#user_account_added) event * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event enum: - form_submission - site_publish - page_created - page_metadata_updated - page_deleted - ecomm_new_order - ecomm_order_changed - ecomm_inventory_changed - user_account_added - user_account_updated - user_account_deleted - collection_item_created - collection_item_changed - collection_item_deleted - collection_item_unpublished filter: description: Filter for selecting which events you want Webhooks to be sent for. Only supported for form_submission trigger types. type: object lastTriggered: type: string format: date-time example: '2016-09-06T21:12:22.148Z' description: Date the Webhook instance was last triggered createdOn: type: string format: date-time example: '2016-09-02T23:26:22.241Z' description: Date the Webhook registration was created url: type: string example: 'https://example.com/webhook' description: URL to send the Webhook payload to '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. post: x-fern-sdk-group-name: webhooks x-fern-sdk-method-name: create operationId: create-webhook summary: Create Webhook description: | Create a new Webhook, to be notified when Webflow resources change. Limit of 75 registrations per `triggerType`, per site.

Access to this endpoint requires a bearer token from a Data Client App. The only exceptions are for creating webhooks with `site_publish` or `form_submission` triggers, which can be done with Site Tokens
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: description: The request to create a Webhook required: - triggerType - url properties: triggerType: type: string example: form_submission description: | * `form_submission` - Sends the [form_submission](#form_submission) event * `site_publish` - Sends a [site_publish](#site_publish) event * `page_created` - Send the [page_created](#page_created) event * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event * `page_deleted` - Sends the [page_deleted](#page_deleted) event * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event * `user_account_added` - Sends the [user_account_added](#user_account_added) event * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event enum: - form_submission - site_publish - page_created - page_metadata_updated - page_deleted - ecomm_new_order - ecomm_order_changed - ecomm_inventory_changed - user_account_added - user_account_updated - user_account_deleted - collection_item_created - collection_item_changed - collection_item_deleted - collection_item_unpublished url: type: string format: uri example: 'https://api.mydomain.com/webhook' description: | The server URI that Webflow will call when your Webhook is triggered filter: type: object example: name: Email Form description: | Filter for selecting which events you want Webhooks to be triggered for. ** Only available for `form_submission` trigger types. ** 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: type: string format: objectid example: 57ca0a9e418c504a6e1acbb6 description: Unique identifier for the Webhook registration workspaceId: type: string format: objectid example: 580e63e98c9a982ac9b8b741 description: Unique identifier for the Workspace the Webhook is registered in siteId: type: string format: objectid example: 562ac0395358780a1f5e6fbd description: Unique identifier for the Site the Webhook is registered in triggerType: type: string example: form_submission description: | * `form_submission` - Sends the [form_submission](#form_submission) event * `site_publish` - Sends a [site_publish](#site_publish) event * `page_created` - Send the [page_created](#page_created) event * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event * `page_deleted` - Sends the [page_deleted](#page_deleted) event * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event * `user_account_added` - Sends the [user_account_added](#user_account_added) event * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event enum: - form_submission - site_publish - page_created - page_metadata_updated - page_deleted - ecomm_new_order - ecomm_order_changed - ecomm_inventory_changed - user_account_added - user_account_updated - user_account_deleted - collection_item_created - collection_item_changed - collection_item_deleted - collection_item_unpublished filter: description: Filter for selecting which events you want Webhooks to be sent for. Only supported for form_submission trigger types. type: object lastTriggered: type: string format: date-time example: '2016-09-06T21:12:22.148Z' description: Date the Webhook instance was last triggered createdOn: type: string format: date-time example: '2016-09-02T23:26:22.241Z' description: Date the Webhook registration was created url: type: string example: 'https://example.com/webhook' description: URL to send the Webhook payload to '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 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: type: string format: objectid example: 57ca0a9e418c504a6e1acbb6 description: Unique identifier for the Webhook registration workspaceId: type: string format: objectid example: 580e63e98c9a982ac9b8b741 description: Unique identifier for the Workspace the Webhook is registered in siteId: type: string format: objectid example: 562ac0395358780a1f5e6fbd description: Unique identifier for the Site the Webhook is registered in triggerType: type: string example: form_submission description: | * `form_submission` - Sends the [form_submission](#form_submission) event * `site_publish` - Sends a [site_publish](#site_publish) event * `page_created` - Send the [page_created](#page_created) event * `page_metadata_updated` - Sends the [page_metadata_updated](#page_metadata_updated) event * `page_deleted` - Sends the [page_deleted](#page_deleted) event * `ecomm_new_order` - Sends the new [ecomm_new_order](#ecomm_new_order) event * `ecomm_order_changed` - Sends the [ecomm_order_changed](#ecomm_order_changed) event * `ecomm_inventory_changed` - Sends the [ecomm_inventory_changed](#ecomm_inventory_changed) event * `user_account_added` - Sends the [user_account_added](#user_account_added) event * `user_account_updated` - Sends the [user_account_updated](#user_account_updated) event * `user_account_deleted` - Sends the [user_account_deleted](#user_account_deleted) event * `collection_item_created` - Sends the [collection_item_created](#collection_item_created) event * `collection_item_changed` - Sends the [collection_item_changed](#collection_item_changed) event * `collection_item_deleted` - Sends the [collection_item_deleted](#collection_item_deleted) event * `collection_item_unpublished` - Sends the [collection_item_unpublished](#collection_item_unpublished) event enum: - form_submission - site_publish - page_created - page_metadata_updated - page_deleted - ecomm_new_order - ecomm_order_changed - ecomm_inventory_changed - user_account_added - user_account_updated - user_account_deleted - collection_item_created - collection_item_changed - collection_item_deleted - collection_item_unpublished filter: description: Filter for selecting which events you want Webhooks to be sent for. Only supported for form_submission trigger types. type: object lastTriggered: type: string format: date-time example: '2016-09-06T21:12:22.148Z' description: Date the Webhook instance was last triggered createdOn: type: string format: date-time example: '2016-09-02T23:26:22.241Z' description: Date the Webhook registration was created url: type: string example: 'https://example.com/webhook' description: URL to send the Webhook payload to '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. delete: x-fern-sdk-group-name: webhooks x-fern-sdk-method-name: delete operationId: remove-webhook summary: Remove Webhook description: Remove a Webhook 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: number - 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: number responses: '200': description: Request was successful content: application/json: schema: 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 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: null 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 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 list of form fields type: array items: type: object description: A collection of form fields with additional properties. 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 workspaceId: type: string format: objectid description: The unique id of the Workspace the Site belongs to example: 580e63fc8c9a982ac9b8b744 pagination: description: Pagination object type: object properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '409': description: 'To access this feature, the site needs to be republished.' '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. 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 '500': description: We had a problem with our server. Try again later. '/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: description: A form and its corresponding metadata example: displayName: Email Form createdOn: '2016-10-24T19:41:29.156Z' lastUpdated: '2016-10-24T19:43:17.271Z' fields: - 660d5bcc9c0772150459dfb1: null 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 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 list of form fields type: array items: type: object description: A collection of form fields with additional properties. 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 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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

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: description: A list of form submissions example: formSubmissions: - id: 6321ca84df3949bfc6752327 formId: 6321ca84df3949bfc6752327 displayName: Sample Form siteId: 62749158efef318abc8d5a0f workspaceId: 62749158efef318abc8d5a0f formResponse: First Name: Arthur Last Name: Dent dateSubmitted: '2022-09-14T12:35:16.117Z' - id: 660d64fabf6e0a0d4edab981 formId: 6321ca84df3949bfc6752327 displayName: Sample Form siteId: 62749158efef318abc8d5a0f workspaceId: 62749158efef318abc8d5a0f formResponse: First Name: Ford Last Name: Prefect dateSubmitted: '2022-09-14T12:35:16.117Z' pagination: limit: 25 offset: 0 total: 2 properties: submissions: type: array items: example: id: 6321ca84df3949bfc6752327 formId: 6321ca84df3949bfc6752327 displayName: Sample Form siteId: 62749158efef318abc8d5a0f workspaceId: 62749158efef318abc8d5a0f formResponse: First Name: Arthur Last Name: Dent dateSubmitted: '2022-09-14T12:35:16.117Z' properties: id: type: string format: objectid description: The unique id of the Form submission example: 545bbecb7bdd6769632504a7 displayName: type: string description: The Form name displayed on the site example: someone@email.com siteId: type: string format: objectid description: The unique id of the Site the Form belongs to example: 545bbecb7bdd6769632504a7 workspaceId: type: string format: objectid description: The unique id of the Workspace the Site belongs to example: 580e63fc8c9a982ac9b8b744 dateSubmitted: type: string format: date-time description: Date that the Form was submitted on example: '2018-10-04T15:21:02.042Z' formResponse: type: object description: The data submitted in the Form example: name: Arthur Dent email: arthur.dent@mostlyharmless.com pagination: description: Pagination object type: object properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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 submission

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: description: A form submission example: id: 6321ca84df3949bfc6752327 formId: 6321ca84df3949bfc6752327 displayName: Sample Form siteId: 62749158efef318abc8d5a0f workspaceId: 62749158efef318abc8d5a0f formResponse: First Name: Arthur Last Name: Dent dateSubmitted: '2022-09-14T12:35:16.117Z' properties: id: type: string format: objectid description: The unique id of the Form submission example: 545bbecb7bdd6769632504a7 displayName: type: string description: The Form name displayed on the site example: someone@email.com siteId: type: string format: objectid description: The unique id of the Site the Form belongs to example: 545bbecb7bdd6769632504a7 workspaceId: type: string format: objectid description: The unique id of the Workspace the Site belongs to example: 580e63fc8c9a982ac9b8b744 dateSubmitted: type: string format: date-time description: Date that the Form was submitted on example: '2018-10-04T15:21:02.042Z' formResponse: type: object description: The data submitted in the Form example: name: Arthur Dent email: arthur.dent@mostlyharmless.com '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. 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: description: A form submission example: id: 6321ca84df3949bfc6752327 formId: 6321ca84df3949bfc6752327 displayName: Sample Form siteId: 62749158efef318abc8d5a0f workspaceId: 62749158efef318abc8d5a0f formResponse: First Name: Arthur Last Name: Dent dateSubmitted: '2022-09-14T12:35:16.117Z' properties: id: type: string format: objectid description: The unique id of the Form submission example: 545bbecb7bdd6769632504a7 displayName: type: string description: The Form name displayed on the site example: someone@email.com siteId: type: string format: objectid description: The unique id of the Site the Form belongs to example: 545bbecb7bdd6769632504a7 workspaceId: type: string format: objectid description: The unique id of the Workspace the Site belongs to example: 580e63fc8c9a982ac9b8b744 dateSubmitted: type: string format: date-time description: Date that the Form was submitted on example: '2018-10-04T15:21:02.042Z' formResponse: type: object description: The data submitted in the Form example: name: Arthur Dent email: arthur.dent@mostlyharmless.com '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Provided access token does not have access rights to this content. '404': description: Requested resource not found '409': description: 'To access this feature, the site needs to be republished.' '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. 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 '500': description: We had a problem with our server. Try again later. '/sites/{site_id}/users': get: x-fern-sdk-group-name: users x-fern-sdk-method-name: list security: - OAuth2: - 'users:read' operationId: list-users summary: List Users description: 'Get a list of users for a site

Required scope | `users:read`' tags: - User Accounts 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: number - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: number - name: sort in: query allowEmptyValue: true description: | Sort string to use when ordering users Example(`CreatedOn`, `Email`, `Status`, `LastLogin`, `UpdatedOn`). Can be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`) schema: type: string enum: - CreatedOn - '-CreatedOn' - Email - '-Email' - Status - '-Status' - LastLogin - '-LastLogin' - UpdatedOn - '-UpdatedOn' x-fern-enum: CreatedOn: name: CreatedOnAscending description: Sorts users in ascending order based on their created date '-CreatedOn': name: CreatedOnDescending description: Sorts users in descending order based on their created date Email: name: EmailAscending description: Sorts users in ascending order based on their email '-Email': name: EmailDescending description: Sorts users in descending order based on their email Status: name: StatusAscending description: Sorts users in ascending order based on their status '-Status': name: StatusDescending description: Sorts users in descending order based on their status LastLogin: name: LastLoginAscending description: Sorts users in ascending order based on their last login date '-LastLogin': name: LastLoginDescending description: Sorts users in descending order based on their last login date UpdatedOn: name: UpdatedOnAscending description: Sorts users in ascending order based on their update date '-UpdatedOn': name: UpdatedOnDescending description: Sorts users in descending order based on their update date example: CreatedOn required: false responses: '200': description: Request was successful content: application/json: schema: type: object description: The list users results properties: count: type: number description: Number of users returned limit: type: number default: 10 description: The limit specified in the request offset: type: number default: 0 description: The offset specified for pagination total: type: number description: Total number of users in the collection users: type: array description: List of Users for a Site 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 example: id: 6287ec36a841b25637c663df isEmailVerified: true lastUpdated: '2022-05-20T13:46:12.093Z' invitedOn: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' lastLogin: '2022-05-20T13:46:12.093Z' status: verified accessGroups: - slug: webflowers type: admin data: name: Arthur Dent email: arthur.dent@mostlyharmless.com accept-privacy: true accept-communications: true favoriteDrink: Tea currentPlanet: Somewhere in the vicinity of Betelgeuse properties: id: readOnly: true type: string format: objectid example: 6287ec36a841b25637c663df description: Unique identifier for the User isEmailVerified: readOnly: true type: boolean description: Shows whether the user has verified their email address lastUpdated: readOnly: true type: string format: date-time description: The timestamp the user was updated example: '2016-10-24T19:41:29.156Z' invitedOn: readOnly: true type: string format: date-time description: The timestamp the user was invited example: '2016-10-24T19:41:29.156Z' createdOn: readOnly: true type: string format: date-time description: The timestamp the user was created example: '2016-10-24T19:41:29.156Z' lastLogin: readOnly: true type: string format: date-time description: The timestamp the user was logged in example: '2016-10-24T19:41:29.156Z' status: readOnly: true type: string description: The status of the user enum: - invited - verified - unverified accessGroups: type: array description: Access groups the user belongs to example: - slug: webflowers type: admin - slug: platinum type: ecommerce items: type: object description: Access group slugs and types properties: slug: type: string description: Access group identifier for APIs type: type: string enum: - admin - ecommerce description: | The type of access group based on how it was assigned to the user. * `admin` - Assigned to the user via API or in the designer * `ecommerce` - Assigned to the user via an ecommerce purchase data: type: object description: An object containing the User's basic info and custom fields properties: data: type: object properties: name: type: string description: | The name of the user email: type: string description: | The email address of the user accept-privacy: type: boolean description: | Boolean indicating if the user has accepted the privacy policy accept-communications: type: boolean description: | Boolean indicating if the user has accepted to receive communications additionalProperties: description: Custom user attributes type: string example: users: - id: 6287ec36a841b25637c663df isEmailVerified: false lastUpdated: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' status: unverified accessGroups: - slug: vogon-construction-crew type: admin data: accept-privacy: false accept-communications: false email: zaphod.beeblebrox@heart-of-gold.com name: Zaphod Beeblebrox - id: 6287ec36a841b25637c663f0 isEmailVerified: false lastUpdated: '2022-05-19T05:32:04.581Z' createdOn: '2022-05-19T05:32:04.581Z' status: unverified accessGroups: - slug: improbability-drive-test-subjects type: admin data: accept-privacy: false accept-communications: false email: ford.prefect@hitchhikers-guide.com name: Ford Prefect - id: 6287ec36a841b25637c663d9 isEmailVerified: true lastUpdated: '2022-05-17T03:34:06.720Z' createdOn: '2022-05-17T03:34:06.720Z' status: verified accessGroups: - slug: heart-of-gold-crew type: admin data: accept-privacy: false accept-communications: false email: arthur.dent@earthling.com name: Arthur Dent - id: 6287ec37a841b25637c6641b isEmailVerified: false lastUpdated: '2022-05-15T03:46:09.748Z' createdOn: '2022-05-15T03:46:09.748Z' status: unverified accessGroups: - slug: hitchhikers-guide-research-team type: admin data: accept-privacy: false accept-communications: false email: marvin@paranoid-android.com name: Marvin the Paranoid Android - id: 6287ec37a841b25637c66449 isEmailVerified: true lastUpdated: '2022-05-15T02:55:38.786Z' createdOn: '2022-05-15T02:55:38.786Z' status: verified accessGroups: - slug: milliways-reservationists type: admin data: accept-privacy: false accept-communications: false email: trillian@trillian-alternative.com name: Trillian count: 5 limit: 5 offset: 0 total: 201 example: users: - id: 6287ec36a841b25637c663df isEmailVerified: false lastUpdated: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' status: unverified accessGroups: - slug: vogon-construction-crew type: admin data: accept-privacy: false accept-communications: false email: zaphod.beeblebrox@heart-of-gold.com name: Zaphod Beeblebrox - id: 6287ec36a841b25637c663f0 isEmailVerified: false lastUpdated: '2022-05-19T05:32:04.581Z' createdOn: '2022-05-19T05:32:04.581Z' status: unverified accessGroups: - slug: improbability-drive-test-subjects type: admin data: accept-privacy: false accept-communications: false email: ford.prefect@hitchhikers-guide.com name: Ford Prefect - id: 6287ec36a841b25637c663d9 isEmailVerified: true lastUpdated: '2022-05-17T03:34:06.720Z' createdOn: '2022-05-17T03:34:06.720Z' status: verified accessGroups: - slug: heart-of-gold-crew type: admin data: accept-privacy: false accept-communications: false email: arthur.dent@earthling.com name: Arthur Dent - id: 6287ec37a841b25637c6641b isEmailVerified: false lastUpdated: '2022-05-15T03:46:09.748Z' createdOn: '2022-05-15T03:46:09.748Z' status: unverified accessGroups: - slug: hitchhikers-guide-research-team type: admin data: accept-privacy: false accept-communications: false email: marvin@paranoid-android.com name: Marvin the Paranoid Android - id: 6287ec37a841b25637c66449 isEmailVerified: true lastUpdated: '2022-05-15T02:55:38.786Z' createdOn: '2022-05-15T02:55:38.786Z' status: verified accessGroups: - slug: milliways-reservationists type: admin data: accept-privacy: false accept-communications: false email: trillian@trillian-alternative.com name: Trillian count: 5 limit: 5 offset: 0 total: 201 '400': description: Validation failure '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The site does not have Users enabled. - properties: code: type: string description: Error code enum: - users_not_enabled - null '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/sites/{site_id}/users/{user_id}': get: x-fern-sdk-group-name: users x-fern-sdk-method-name: get security: - OAuth2: - 'users:read' operationId: get-user summary: Get User description: 'Get a User by ID

Required scope | `users:read`' tags: - User Accounts parameters: - name: site_id in: path description: Unique identifier for a Site example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid default: null - name: user_id in: path description: Unique identifier for a User example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid responses: '200': description: Request was successful 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 example: id: 6287ec36a841b25637c663df isEmailVerified: true lastUpdated: '2022-05-20T13:46:12.093Z' invitedOn: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' lastLogin: '2022-05-20T13:46:12.093Z' status: verified accessGroups: - slug: webflowers type: admin data: name: Arthur Dent email: arthur.dent@mostlyharmless.com accept-privacy: true accept-communications: true favoriteDrink: Tea currentPlanet: Somewhere in the vicinity of Betelgeuse properties: id: readOnly: true type: string format: objectid example: 6287ec36a841b25637c663df description: Unique identifier for the User isEmailVerified: readOnly: true type: boolean description: Shows whether the user has verified their email address lastUpdated: readOnly: true type: string format: date-time description: The timestamp the user was updated example: '2016-10-24T19:41:29.156Z' invitedOn: readOnly: true type: string format: date-time description: The timestamp the user was invited example: '2016-10-24T19:41:29.156Z' createdOn: readOnly: true type: string format: date-time description: The timestamp the user was created example: '2016-10-24T19:41:29.156Z' lastLogin: readOnly: true type: string format: date-time description: The timestamp the user was logged in example: '2016-10-24T19:41:29.156Z' status: readOnly: true type: string description: The status of the user enum: - invited - verified - unverified accessGroups: type: array description: Access groups the user belongs to example: - slug: webflowers type: admin - slug: platinum type: ecommerce items: type: object description: Access group slugs and types properties: slug: type: string description: Access group identifier for APIs type: type: string enum: - admin - ecommerce description: | The type of access group based on how it was assigned to the user. * `admin` - Assigned to the user via API or in the designer * `ecommerce` - Assigned to the user via an ecommerce purchase data: type: object description: An object containing the User's basic info and custom fields properties: data: type: object properties: name: type: string description: | The name of the user email: type: string description: | The email address of the user accept-privacy: type: boolean description: | Boolean indicating if the user has accepted the privacy policy accept-communications: type: boolean description: | Boolean indicating if the user has accepted to receive communications additionalProperties: description: Custom user attributes type: string '400': description: Validation failure '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The site does not have Users enabled. - properties: code: type: string description: Error code enum: - users_not_enabled - null '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. patch: x-fern-sdk-group-name: users x-fern-sdk-method-name: update security: - OAuth2: - 'users:write' operationId: update-user summary: Update User description: | Update a User by ID

Required scope | `users:write` tags: - User Accounts - Access Groups parameters: - name: site_id in: path description: Unique identifier for a Site example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid default: null - name: user_id in: path description: Unique identifier for a User example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid requestBody: content: application/json: schema: type: object properties: data: type: object properties: name: type: string description: | The name of the user accept-privacy: type: boolean description: | Boolean indicating if the user has accepted the privacy policy accept-communications: type: boolean description: | Boolean indicating if the user has accepted to receive communications additionalProperties: description: Custom user attributes type: string accessGroups: type: array description: | An array of access group slugs. Access groups are assigned to the user as type `admin` and the user remains in the group until removed. items: type: string example: data: name: Some One accept-privacy: false accept-communications: false accessGroups: - webflowers - platinum - free-tier responses: '200': description: Request was successful 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 example: id: 6287ec36a841b25637c663df isEmailVerified: true lastUpdated: '2022-05-20T13:46:12.093Z' invitedOn: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' lastLogin: '2022-05-20T13:46:12.093Z' status: verified accessGroups: - slug: webflowers type: admin data: name: Arthur Dent email: arthur.dent@mostlyharmless.com accept-privacy: true accept-communications: true favoriteDrink: Tea currentPlanet: Somewhere in the vicinity of Betelgeuse properties: id: readOnly: true type: string format: objectid example: 6287ec36a841b25637c663df description: Unique identifier for the User isEmailVerified: readOnly: true type: boolean description: Shows whether the user has verified their email address lastUpdated: readOnly: true type: string format: date-time description: The timestamp the user was updated example: '2016-10-24T19:41:29.156Z' invitedOn: readOnly: true type: string format: date-time description: The timestamp the user was invited example: '2016-10-24T19:41:29.156Z' createdOn: readOnly: true type: string format: date-time description: The timestamp the user was created example: '2016-10-24T19:41:29.156Z' lastLogin: readOnly: true type: string format: date-time description: The timestamp the user was logged in example: '2016-10-24T19:41:29.156Z' status: readOnly: true type: string description: The status of the user enum: - invited - verified - unverified accessGroups: type: array description: Access groups the user belongs to example: - slug: webflowers type: admin - slug: platinum type: ecommerce items: type: object description: Access group slugs and types properties: slug: type: string description: Access group identifier for APIs type: type: string enum: - admin - ecommerce description: | The type of access group based on how it was assigned to the user. * `admin` - Assigned to the user via API or in the designer * `ecommerce` - Assigned to the user via an ecommerce purchase data: type: object description: An object containing the User's basic info and custom fields properties: data: type: object properties: name: type: string description: | The name of the user email: type: string description: | The email address of the user accept-privacy: type: boolean description: | Boolean indicating if the user has accepted the privacy policy accept-communications: type: boolean description: | Boolean indicating if the user has accepted to receive communications additionalProperties: description: Custom user attributes type: string '400': description: Validation failure '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The site does not have Users enabled. - properties: code: type: string description: Error code enum: - users_not_enabled - null '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. delete: x-fern-sdk-group-name: users x-fern-sdk-method-name: delete security: - OAuth2: - 'users:write' operationId: delete-user summary: Delete User description: 'Delete a User by ID

Required scope | `users:write`' tags: - User Accounts parameters: - name: site_id in: path description: Unique identifier for a Site example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid default: null - name: user_id in: path description: Unique identifier for a User example: 580e63e98c9a982ac9b8b741 required: true schema: type: string format: objectid responses: '204': description: Request was successful. No Content is returned. '400': description: Validation failure '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The site does not have Users enabled. - properties: code: type: string description: Error code enum: - users_not_enabled - null '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/sites/{site_id}/users/invite': post: x-fern-sdk-group-name: users x-fern-sdk-method-name: invite security: - OAuth2: - 'users:write' operationId: invite-user summary: Create and Invite a User description: 'Create and invite a user with an email address. The user will be sent and invite via email, which they will need to accept in order to join paid Access Groups.

Required scope | `users:write`' tags: - User Accounts - Access Groups 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: - email example: email: some.one@home.com accessGroups: - webflowers properties: email: type: string format: email example: some.one@home.com description: Email address of user to send invite to accessGroups: type: array description: | An array of access group slugs. Access groups are assigned to the user as type `admin` and the user remains in the group until removed. items: type: string responses: '200': description: Request was successful 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 example: id: 6287ec36a841b25637c663df isEmailVerified: true lastUpdated: '2022-05-20T13:46:12.093Z' invitedOn: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' lastLogin: '2022-05-20T13:46:12.093Z' status: verified accessGroups: - slug: webflowers type: admin data: name: Arthur Dent email: arthur.dent@mostlyharmless.com accept-privacy: true accept-communications: true favoriteDrink: Tea currentPlanet: Somewhere in the vicinity of Betelgeuse properties: id: readOnly: true type: string format: objectid example: 6287ec36a841b25637c663df description: Unique identifier for the User isEmailVerified: readOnly: true type: boolean description: Shows whether the user has verified their email address lastUpdated: readOnly: true type: string format: date-time description: The timestamp the user was updated example: '2016-10-24T19:41:29.156Z' invitedOn: readOnly: true type: string format: date-time description: The timestamp the user was invited example: '2016-10-24T19:41:29.156Z' createdOn: readOnly: true type: string format: date-time description: The timestamp the user was created example: '2016-10-24T19:41:29.156Z' lastLogin: readOnly: true type: string format: date-time description: The timestamp the user was logged in example: '2016-10-24T19:41:29.156Z' status: readOnly: true type: string description: The status of the user enum: - invited - verified - unverified accessGroups: type: array description: Access groups the user belongs to example: - slug: webflowers type: admin - slug: platinum type: ecommerce items: type: object description: Access group slugs and types properties: slug: type: string description: Access group identifier for APIs type: type: string enum: - admin - ecommerce description: | The type of access group based on how it was assigned to the user. * `admin` - Assigned to the user via API or in the designer * `ecommerce` - Assigned to the user via an ecommerce purchase data: type: object description: An object containing the User's basic info and custom fields properties: data: type: object properties: name: type: string description: | The name of the user email: type: string description: | The email address of the user accept-privacy: type: boolean description: | Boolean indicating if the user has accepted the privacy policy accept-communications: type: boolean description: | Boolean indicating if the user has accepted to receive communications additionalProperties: description: Custom user attributes type: string '400': description: Validation failure '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The site does not have Users enabled. - properties: code: type: string description: Error code enum: - users_not_enabled - null '404': description: Requested resource not found '409': description: Conflict content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The email address provided is already in use by another user. - properties: code: type: string description: Error code enum: - duplicate_user_email - null - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The site has reached the maximum number of users allowed. - properties: code: type: string description: Error code enum: - user_limit_reached - null '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. 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 '500': description: We had a problem with our server. Try again later. '/sites/{site_id}/accessgroups': get: x-fern-sdk-group-name: access-groups x-fern-sdk-method-name: list security: - OAuth2: - 'users:read' operationId: list-access-groups summary: List Access Groups description: 'Get a list of access groups for a site

Required scope | `users:read`' tags: - Access Groups 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: number - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: number - name: sort in: query allowEmptyValue: true description: | Sort string to use when ordering access groups Can be prefixed with a `-` to reverse the sort (ex. `-CreatedOn`) schema: type: string enum: - CreatedOn - '-CreatedOn' x-fern-enum: CreatedOn: name: CreatedOnAscending description: Sorts users in ascending order based on their created date '-CreatedOn': name: CreatedOnDescending description: Sorts users in descending order based on their created date example: CreatedOn required: false responses: '200': description: Request was successful content: application/json: schema: type: object description: The list access groups results properties: count: type: number description: Number of access groups returned limit: type: number default: 10 description: The limit specified in the request offset: type: number default: 0 description: The offset specified for pagination total: type: number description: Total number of access groups in the collection accessGroups: type: array description: List of Site Access Groups items: example: id: 62be58d404be8a6cc900c081 name: Webflowers shortId: wf slug: webflowers createdOn: '2022-08-01T19:41:48.349Z' properties: id: type: string format: objectid example: 62be58d404be8a6cc900c081 description: Unique identifier for the Access Group name: type: string example: Webflowers description: Name of the the Access Group shortId: type: string example: jo description: 'Shortened unique identifier based on name, optimized for its use in the user’s JWT' slug: type: string example: webflowers description: 'Shortened unique identifier based on name, optimized for human readability and public API use' createdOn: type: string format: date-time description: The date the Access Group was created example: '2022-08-01T19:41:48.349Z' example: accessGroups: - id: 62be58d404be8a6cc900c081 name: Research Team shortId: rt slug: hitchhikers-guide-research-team createdOn: '2022-08-01T19:41:48.349Z' - id: 65a96161991e77bbb4a6c573 name: Admin shortId: ad slug: admin createdOn: '2022-08-01T19:41:48.349Z' count: 1 limit: 10 offset: 0 total: 1 '400': description: Validation failure '401': description: Provided access token is invalid or does not have access to requested resource '403': description: Forbidden content: application/json: schema: oneOf: - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The request is missing the required scopes. - properties: code: type: string description: Error code enum: - missing_scopes type: string - allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - description: The site does not have Users enabled. - properties: code: type: string description: Error code enum: - users_not_enabled - null '404': description: Requested resource not found '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. 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 '500': description: We had a problem with our server. Try again later. '/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: number - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: number responses: '200': description: Request was successful content: application/json: schema: description: Results from product list 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 example: - 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 - null categories: type: array description: The categories 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 - standard-exempt - standard-taxable 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your SKU. pagination: description: Pagination object type: object properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 '400': description: Validation failure '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. 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: |- Creating a new Product involves creating both a Product and a SKU, since a Product Item has to have, at minimum, a single SKU. In order to create a Product with multiple SKUs - for example a T-shirt in sizes small, medium and large - you'll need to create `sku-properties`. In our T-shirt example, a single `sku-property` would be Color. Within that property, we'll need to list out the various colors a T-shirt could be as an array of `enum` values: `royal-blue`, `crimson-red`, and `forrest-green`. Once, you've created a Product and its `sku-properties` with `enum` values, you can create your default SKU, which will automatically be a combination of the first `sku-properties` you've created. In our example, the default SKU will be a Royal Blue T-Shirt, because our first `enum` of our Color `sku-property` is Royal Blue. After you've created your product, you can create additional SKUs using the Create SKU endpoint Upon creation, the default product type will be `Advanced`. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. 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: 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: allOf: - 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 example: - 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 - null categories: type: array description: The categories 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 - standard-exempt - standard-taxable 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. - required: - name - slug 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 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your 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 example: - 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 - null categories: type: array description: The categories 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 - standard-exempt - standard-taxable 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your SKU. '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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 example: - 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 - null categories: type: array description: The categories 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 - standard-exempt - standard-taxable 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your SKU. '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. patch: x-fern-sdk-group-name: products x-fern-sdk-method-name: update security: - OAuth2: - 'ecommerce:write' operationId: update-product summary: Update Product description: | Updating an existing Product will set the product type to `Advanced`. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. 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 example: - 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 - null categories: type: array description: The categories 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 - standard-exempt - standard-taxable 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your SKU. 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 example: - 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 - null categories: type: array description: The categories 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 - standard-exempt - standard-taxable 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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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 SKU description: | Create additional SKUs to cover every variant of your Product. The Default SKU already counts as one of the variants. Creating additional SKUs will set the product type to `Advanced` for the product associated with the SKUs. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your SKU. responses: '200': description: Request was successful content: application/json: schema: type: object 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your SKU. '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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: | Updating an existing SKU will set the product type to `Advanced` for the product associated with the SKU. The product type is used to determine which Product and SKU fields are shown to users in the `Designer` and the `Editor`. Setting it to `Advanced` ensures that all Product and SKU fields will be shown. The product type can be edited in the `Designer` or the `Editor`. 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your SKU. 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 dictionary that maps a SKU property to a SKU value. The key of the dictionary is the SKU property ID, and the value is the SKU value ID. additionalProperties: type: string example: ff42fee0113744f693a764e3431a9cc2: 64a74715c456e36762fc39a1 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: 100 unit: type: string isRequired: true description: Currency of Item 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: type: string enum: - one-time - subscription ec-sku-subscription-plan: 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 track-inventory: type: boolean description: A boolean indicating whether inventory for this product should be tracked. default: false quantity: type: number description: Quantity of SKU that will be tracked as items are ordered. example: 10 additionalProperties: type: string description: Custom fields for your SKU. '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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: number - in: query allowEmptyValue: true name: limit example: 100 description: 'Maximum number of records to be returned (max limit: 100)' required: false schema: type: number 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 example: type: shipping japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 billingAddress: description: The billing address example: type: billing japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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 properties: limit: type: number description: The limit used for pagination example: 100 offset: type: number description: The offset used for pagination example: 0 total: type: number description: The total number of records example: 100 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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 example: type: shipping japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 billingAddress: description: The billing address example: type: billing japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. 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 example: type: shipping japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 billingAddress: description: The billing address example: type: billing japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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 example: type: shipping japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 billingAddress: description: The billing address example: type: billing japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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 example: type: shipping japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 billingAddress: description: The billing address example: type: billing japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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 example: type: shipping japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 billingAddress: description: The billing address example: type: billing japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/collections/{collection_id}/items/{item_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: 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 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 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. 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: 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 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 '400': description: Request body was incorrectly formatted. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. '/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. Likely invalid JSON being sent up. '401': description: Provided access token is invalid or does not have access to requested resource '403': description: 'Provided access token is valid, but is missing the required scopes.' content: application/json: schema: type: object properties: status: type: integer example: 403 message: type: string publicErrorCode: type: string externalReference: type: string nullable: true details: type: array items: type: string '404': description: Requested resource not found '409': description: The site does not have ecommerce enabled. content: application/json: schema: allOf: - example: code: not_authorized message: Request not authorized externalReference: null details: [] properties: code: type: string description: Error code example: not_authorized message: type: string description: Error message example: Request not authorized externalReference: type: string description: Link to more information details: type: array description: Array of errors items: type: - string - object - properties: code: type: string description: Error code enum: - ecommerce_not_enabled '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. 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 '500': description: We had a problem with our server. Try again later. 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 '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 '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 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: properties: triggerType: type: string description: The type of event that triggered the request 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 submittedAt: type: string description: The timestamp the form was submitted example: '2022-09-14T12:35:16.117Z' formId: type: string format: objectid description: The id of the form submission example: 6321ca84df3949bfc6752327 example: name: Sample Form site: 62749158efef318abc8d5a0f data: name: Some One email: some.one@home.com d: '2022-09-14T12:35:16.117Z' id: 6321ca84df3949bfc6752327 site_publish: post: operationId: site_publish summary: Site Publish tags: - Sites requestBody: description: The information about the site(s) published content: application/json: schema: properties: payload: type: object description: The payload of data sent from Webflow properties: site: description: The site id that was published type: string format: objectid example: 62749158efef318abc8d5a0f publishTime: description: The timestamp of the publish event type: string format: date-time example: 1653619272801 domains: description: The domains that were published type: array items: type: string example: - my-website.webflow.io publishedBy: type: object description: The name and id of the user who published the site example: triggerType: site_publish payload: site: 62749158efef318abc8d5a0f publishTime: 1653619272801 domains: - my-website.webflow.io publishedBy: name: Some One id: 123460a7b6c16def4527122d 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 tags: - Orders requestBody: description: The information about the new order 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 example: type: shipping japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 billingAddress: description: The billing address example: type: billing japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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' responses: '200': description: Return a 200 status to indicate that the data was received successfully ecomm_order_changed: post: operationId: ecomm_order_changed summary: Updated eComm Order tags: - Orders requestBody: description: The information about the order that changed 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 example: type: shipping japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 billingAddress: description: The billing address example: type: billing japanType: kanji addressee: Custmerio Namen line1: 123 Example Road line2: Unit 3 city: Examplesville state: CA country: US postalCode: 90012 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 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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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://d1otoma47x30pg.cloudfront.net/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' responses: '200': description: Return a 200 status to indicate that the data was received successfully ecomm_inventory_changed: post: operationId: ecomm_inventory_changed summary: Updated eComm Inventory tags: - Inventory requestBody: description: The information about the inventory item that changed 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 responses: '200': description: Return a 200 status to indicate that the data was received successfully user_account_added: post: operationId: user_account_added summary: New User Added tags: - Users requestBody: description: The information about the user account that was added content: application/json: schema: properties: triggerType: type: string description: The type of event that triggered the request enum: - user_account_added - user_account_updated - user_account_deleted payload: 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 example: id: 6287ec36a841b25637c663df isEmailVerified: true lastUpdated: '2022-05-20T13:46:12.093Z' invitedOn: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' lastLogin: '2022-05-20T13:46:12.093Z' status: verified accessGroups: - slug: webflowers type: admin data: name: Arthur Dent email: arthur.dent@mostlyharmless.com accept-privacy: true accept-communications: true favoriteDrink: Tea currentPlanet: Somewhere in the vicinity of Betelgeuse properties: id: readOnly: true type: string format: objectid example: 6287ec36a841b25637c663df description: Unique identifier for the User isEmailVerified: readOnly: true type: boolean description: Shows whether the user has verified their email address lastUpdated: readOnly: true type: string format: date-time description: The timestamp the user was updated example: '2016-10-24T19:41:29.156Z' invitedOn: readOnly: true type: string format: date-time description: The timestamp the user was invited example: '2016-10-24T19:41:29.156Z' createdOn: readOnly: true type: string format: date-time description: The timestamp the user was created example: '2016-10-24T19:41:29.156Z' lastLogin: readOnly: true type: string format: date-time description: The timestamp the user was logged in example: '2016-10-24T19:41:29.156Z' status: readOnly: true type: string description: The status of the user enum: - invited - verified - unverified accessGroups: type: array description: Access groups the user belongs to example: - slug: webflowers type: admin - slug: platinum type: ecommerce items: type: object description: Access group slugs and types properties: slug: type: string description: Access group identifier for APIs type: type: string enum: - admin - ecommerce description: | The type of access group based on how it was assigned to the user. * `admin` - Assigned to the user via API or in the designer * `ecommerce` - Assigned to the user via an ecommerce purchase data: type: object description: An object containing the User's basic info and custom fields properties: data: type: object properties: name: type: string description: | The name of the user email: type: string description: | The email address of the user accept-privacy: type: boolean description: | Boolean indicating if the user has accepted the privacy policy accept-communications: type: boolean description: | Boolean indicating if the user has accepted to receive communications additionalProperties: description: Custom user attributes type: string responses: '200': description: Return a 200 status to indicate that the data was received successfully user_account_updated: post: operationId: user_account_updated summary: Account Updated tags: - Users requestBody: description: The information about the user account that was updated content: application/json: schema: properties: triggerType: type: string description: The type of event that triggered the request enum: - user_account_added - user_account_updated - user_account_deleted payload: 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 example: id: 6287ec36a841b25637c663df isEmailVerified: true lastUpdated: '2022-05-20T13:46:12.093Z' invitedOn: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' lastLogin: '2022-05-20T13:46:12.093Z' status: verified accessGroups: - slug: webflowers type: admin data: name: Arthur Dent email: arthur.dent@mostlyharmless.com accept-privacy: true accept-communications: true favoriteDrink: Tea currentPlanet: Somewhere in the vicinity of Betelgeuse properties: id: readOnly: true type: string format: objectid example: 6287ec36a841b25637c663df description: Unique identifier for the User isEmailVerified: readOnly: true type: boolean description: Shows whether the user has verified their email address lastUpdated: readOnly: true type: string format: date-time description: The timestamp the user was updated example: '2016-10-24T19:41:29.156Z' invitedOn: readOnly: true type: string format: date-time description: The timestamp the user was invited example: '2016-10-24T19:41:29.156Z' createdOn: readOnly: true type: string format: date-time description: The timestamp the user was created example: '2016-10-24T19:41:29.156Z' lastLogin: readOnly: true type: string format: date-time description: The timestamp the user was logged in example: '2016-10-24T19:41:29.156Z' status: readOnly: true type: string description: The status of the user enum: - invited - verified - unverified accessGroups: type: array description: Access groups the user belongs to example: - slug: webflowers type: admin - slug: platinum type: ecommerce items: type: object description: Access group slugs and types properties: slug: type: string description: Access group identifier for APIs type: type: string enum: - admin - ecommerce description: | The type of access group based on how it was assigned to the user. * `admin` - Assigned to the user via API or in the designer * `ecommerce` - Assigned to the user via an ecommerce purchase data: type: object description: An object containing the User's basic info and custom fields properties: data: type: object properties: name: type: string description: | The name of the user email: type: string description: | The email address of the user accept-privacy: type: boolean description: | Boolean indicating if the user has accepted the privacy policy accept-communications: type: boolean description: | Boolean indicating if the user has accepted to receive communications additionalProperties: description: Custom user attributes type: string responses: '200': description: Return a 200 status to indicate that the data was received successfully user_account_deleted: post: operationId: user_account_deleted summary: Account Deleted tags: - Users requestBody: description: The information about the user account that was deleted content: application/json: schema: properties: triggerType: type: string description: The type of event that triggered the request enum: - user_account_added - user_account_updated - user_account_deleted payload: 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 example: id: 6287ec36a841b25637c663df isEmailVerified: true lastUpdated: '2022-05-20T13:46:12.093Z' invitedOn: '2022-05-20T13:46:12.093Z' createdOn: '2022-05-20T13:46:12.093Z' lastLogin: '2022-05-20T13:46:12.093Z' status: verified accessGroups: - slug: webflowers type: admin data: name: Arthur Dent email: arthur.dent@mostlyharmless.com accept-privacy: true accept-communications: true favoriteDrink: Tea currentPlanet: Somewhere in the vicinity of Betelgeuse properties: id: readOnly: true type: string format: objectid example: 6287ec36a841b25637c663df description: Unique identifier for the User isEmailVerified: readOnly: true type: boolean description: Shows whether the user has verified their email address lastUpdated: readOnly: true type: string format: date-time description: The timestamp the user was updated example: '2016-10-24T19:41:29.156Z' invitedOn: readOnly: true type: string format: date-time description: The timestamp the user was invited example: '2016-10-24T19:41:29.156Z' createdOn: readOnly: true type: string format: date-time description: The timestamp the user was created example: '2016-10-24T19:41:29.156Z' lastLogin: readOnly: true type: string format: date-time description: The timestamp the user was logged in example: '2016-10-24T19:41:29.156Z' status: readOnly: true type: string description: The status of the user enum: - invited - verified - unverified accessGroups: type: array description: Access groups the user belongs to example: - slug: webflowers type: admin - slug: platinum type: ecommerce items: type: object description: Access group slugs and types properties: slug: type: string description: Access group identifier for APIs type: type: string enum: - admin - ecommerce description: | The type of access group based on how it was assigned to the user. * `admin` - Assigned to the user via API or in the designer * `ecommerce` - Assigned to the user via an ecommerce purchase data: type: object description: An object containing the User's basic info and custom fields properties: data: type: object properties: name: type: string description: | The name of the user email: type: string description: | The email address of the user accept-privacy: type: boolean description: | Boolean indicating if the user has accepted the privacy policy accept-communications: type: boolean description: | Boolean indicating if the user has accepted to receive communications additionalProperties: description: Custom user attributes type: string responses: '200': description: Return a 200 status to indicate that the data was received successfully collection_item_created: post: operationId: collection_item_created summary: Item Created tags: - Items - Collections requestBody: description: The information about the collection item that was created 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 required: - id 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' responses: '200': description: Return a 200 status to indicate that the data was received successfully collection_item_changed: post: operationId: collection_item_changed summary: Item Updated tags: - Items - Collections requestBody: description: The information about the collection item that was changed 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 required: - id 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 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: date: '2022-11-18T00:00:00.000Z' featured: true name: Pan Galactic Gargle Blaster Recipe slug: pan-galactic-gargle-blaster color: '#db4b68' responses: '200': description: Return a 200 status to indicate that the data was received successfully collection_item_deleted: post: operationId: collection_item_deleted summary: Item Deleted tags: - Items - Collections requestBody: description: The results from deleting the collection item content: application/json: schema: properties: deleted: type: number description: The number of items deleted example: 1 itemId: type: string format: objectid description: The id of the collection item that was deleted example: 6321ca84df3949bfc6752327 example: deleted: 1 itemId: 6321ca84df3949bfc6752327 responses: '200': description: Return a 200 status to indicate that the data was received successfully collection_item_unpublished: post: operationId: collection_item_unpublished summary: Item Unpublished tags: - Items - Collections requestBody: description: The results from unpublishing the collection item content: application/json: schema: properties: deleted: type: number description: The number of items deleted example: 1 itemId: type: string format: objectid description: The id of the collection item that was deleted example: 6321ca84df3949bfc6752327 example: deleted: 1 itemId: 6321ca84df3949bfc6752327 responses: '200': description: Return a 200 status to indicate that the data was received successfully page_created: post: operationId: page_created summary: Page Created 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: siteId: type: string format: objectid example: 562ac0395358780a1f5e6fbd pageId: type: string format: objectid example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 pageTitle: type: string example: My New Page createdAt: type: string format: date-time example: '2022-12-07T16:51:37.571Z' 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 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: siteId: type: string format: objectid example: 562ac0395358780a1f5e6fbd pageId: type: string format: objectid example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 pageTitle: type: string example: My New Page lastUpdated: type: string format: date-time example: '2022-12-07T16:51:37.571Z' responses: '200': description: Return a 200 status to indicate that the data was received successfully page_deleted: post: operationId: page_deleted summary: Page 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: siteId: type: string format: objectid example: 562ac0395358780a1f5e6fbd pageId: type: string format: objectid example: 1as2d3f4g5h6j7k8l9z0x1c2v3b4n5m6 pageTitle: type: string example: My New Page deletedAt: type: string format: date-time example: '2022-12-07T16:51:37.571Z' responses: '200': description: Return a 200 status to indicate that the data was received successfully