Webflow API and Documentation Products & SKUs API

Products & SKUs are the products and SKUs in your Webflow e-commerce site.

OpenAPI Specification

webflow-api-and-documentation-webflow-products-skus-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Webflow Collections Asset Folders Products & SKUs API
  description: Webflow Data API v2 - Collections endpoints.
  version: 2.0.0
  contact:
    name: Webflow Developer Relations
    email: developers@webflow.com
    url: https://developers.webflow.com
  termsOfService: https://webflow.com/legal/terms
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
- url: https://api.webflow.com/v2
  description: Webflow API v2
  x-fern-server-name: Data API
security:
- OAuth2: []
- ApiKey: []
tags:
- name: Products & SKUs
  description: Products & SKUs are the products and SKUs in your Webflow e-commerce site.
paths:
  /sites/{site_id}/products:
    get:
      x-fern-sdk-group-name: products
      x-fern-sdk-method-name: list
      security:
      - OAuth2:
        - ecommerce:read
      operationId: list-products
      summary: Webflow List Products & SKUs
      description: 'Retrieve all products for a site.


        Use `limit` and `offset` to page through all products with subsequent requests. All SKUs for each product

        will also be fetched and returned. The `limit`, `offset` and `total` values represent Products only and do not include any SKUs.


        Required scope | `ecommerce:read`

        '
      tags:
      - Products & SKUs
      parameters:
      - name: site_id
        in: path
        description: Unique identifier for a Site
        example: 580e63e98c9a982ac9b8b741
        required: true
        schema:
          type: string
          format: objectid
          default: null
      - in: query
        example: 0
        allowEmptyValue: true
        name: offset
        description: Offset used for pagination if the results have more than limit records
        required: false
        schema:
          type: integer
      - in: query
        allowEmptyValue: true
        name: limit
        example: 100
        description: 'Maximum number of records to be returned (max limit: 100)'
        required: false
        schema:
          type: integer
      responses:
        '200':
          description: Request was successful
          content:
            application/json:
              schema:
                description: Results from product list
                type: object
                properties:
                  items:
                    type: array
                    description: List of Item objects within the Collection. Contains product and skus keys for each Item
                    items:
                      description: A product and its SKUs.
                      type: object
                      properties:
                        product:
                          description: The Product object
                          type: object
                          example:
                            id: 660eb7a486d1d6e0412292d7
                            cmsLocaleId: 653ad57de882f528b32e810e
                            lastPublished: '2024-04-04T14:24:19.467Z'
                            lastUpdated: '2024-04-04T14:30:19.282Z'
                            createdOn: '2024-04-04T14:22:28.547Z'
                            isArchived: false
                            isDraft: false
                            fieldData:
                              tax-category: standard-taxable
                              shippable: true
                              ec-product-type: b6ccc1830db4b1babeb06a9ac5f6dd76
                              sku-properties:
                              - id: 31b77fa66fa376c2c0abb458d5be39fb
                                name: Size
                                enum:
                                - id: 8d21a625d655ab260e9941c27180c75b
                                  name: Small
                                  slug: small
                                - id: ecdca17106ad86c0dfe3b5f3ac8be6c9
                                  name: Medium
                                  slug: medium
                                - id: ec7877d6137ecf7ec86f726c135b1812
                                  name: Large
                                  slug: large
                              - id: 74d3738e62c568d5634dd6989daec5ec
                                name: Color
                                enum:
                                - id: e539b0d6c3a609cd06ddb2da804f68f0
                                  name: Royal Blue
                                  slug: royal-blue
                                - id: 68d98f2fbafc0fd45651cddc44798dd0
                                  name: Crimson Red
                                  slug: crimson-red
                                - id: 996cd95c97fd5620d0a374c835b37205
                                  name: Forrest Green
                                  slug: forrest-green
                              name: T-Shirt
                              description: A plain t-shirt
                              slug: t-shirt
                              default-sku: 66072fb71b89448912e2681c
                          properties:
                            id:
                              type: string
                              readOnly: true
                              description: Unique identifier for the Product
                              example: 580e63fc8c9a982ac9b8b745
                            cmsLocaleId:
                              type: string
                              readOnly: true
                              example: 653ad57de882f528b32e810e
                              description: Identifier for the locale of the CMS item
                            lastPublished:
                              type: string
                              format: date-time
                              readOnly: true
                              description: The date the Product was last published
                              example: '2023-03-17T18:47:35.560Z'
                            lastUpdated:
                              type: string
                              format: date-time
                              readOnly: true
                              description: The date the Product was last updated
                              example: '2023-03-17T18:47:35.560Z'
                            createdOn:
                              type: string
                              format: date-time
                              readOnly: true
                              description: The date the Product was created
                              example: '2023-03-17T18:47:35.560Z'
                            isArchived:
                              type: boolean
                              default: false
                              description: Boolean determining if the Product is set to archived
                              example: false
                            isDraft:
                              type: boolean
                              default: false
                              description: Boolean determining if the Product is set to draft
                              example: false
                            fieldData:
                              description: Contains content-specific details for a product, covering both standard (e.g., title, description) and custom fields tailored to the product setup.
                              type: object
                              properties:
                                name:
                                  type: string
                                  description: Name of the Product
                                  example: T-Shirt
                                slug:
                                  type: string
                                  description: URL structure of the Product in your site.
                                  example: t-shirt
                                description:
                                  type: string
                                  description: A description of your product
                                  example: A plain cotton t-shirt.
                                shippable:
                                  type: boolean
                                  description: Boolean determining if the Product is shippable
                                  example: true
                                sku-properties:
                                  type: array
                                  description: Variant types to include in SKUs
                                  items:
                                    type: object
                                    description: A variant/option type for a SKU
                                    required:
                                    - id
                                    - name
                                    - enum
                                    properties:
                                      id:
                                        type: string
                                        description: Unique identifier for a collection of Product Variants
                                        default: null
                                        example: Color
                                      name:
                                        type: string
                                        description: Name of the collection of Product Variants
                                        example: Color
                                      enum:
                                        description: The individual Product variants that are contained within the collection
                                        type: array
                                        items:
                                          description: Enumerated Product variants/Options for the SKU
                                          type: object
                                          required:
                                          - id
                                          - name
                                          - slug
                                          properties:
                                            id:
                                              type: string
                                              description: Unique identifier for a Product variant/Option
                                              default: null
                                              examples:
                                              - royal-blue
                                              - crimson-red
                                              - forrest-green
                                            name:
                                              type: string
                                              description: Name of the Product variant/Option
                                              examples:
                                              - Royal Blue
                                              - Crimson Red
                                              - Forrest Green
                                            slug:
                                              type: string
                                              description: Slug for the Product variant/Option in the Site URL structure
                                              examples:
                                              - royal-blue
                                              - crimson-red
                                              - forrest-green
                                category:
                                  type: array
                                  description: The category your product belongs to.
                                  items:
                                    type: string
                                tax-category:
                                  type: string
                                  description: Product tax class
                                  enum:
                                  - standard-taxable
                                  - standard-exempt
                                  - books-religious
                                  - books-textbook
                                  - clothing
                                  - clothing-swimwear
                                  - digital-goods
                                  - digital-service
                                  - drugs-non-prescription
                                  - drugs-prescription
                                  - food-bottled-water
                                  - food-candy
                                  - food-groceries
                                  - food-prepared
                                  - food-soda
                                  - food-supplements
                                  - magazine-individual
                                  - magazine-subscription
                                  - service-admission
                                  - service-advertising
                                  - service-dry-cleaning
                                  - service-hairdressing
                                  - service-installation
                                  - service-miscellaneous
                                  - service-parking
                                  - service-printing
                                  - service-professional
                                  - service-repair
                                  - service-training
                                default-sku:
                                  type: string
                                  format: objectid
                                  description: The default SKU associated with this product.
                                ec-product-type:
                                  description: '<a href="https://university.webflow.com/lesson/add-and-manage-products-and-categories?topics=ecommerce#how-to-understand-product-types">Product types.</a> Enums reflect the following values in order: Physical, Digital, Service, Advanced"'
                                  type: string
                                  enum:
                                  - ff42fee0113744f693a764e3431a9cc2
                                  - f22027db68002190aef89a4a2b7ac8a1
                                  - c599e43b1a1c34d5a323aedf75d3adf6
                                  - b6ccc1830db4b1babeb06a9ac5f6dd76
                              additionalProperties:
                                type: string
                                description: Custom fields for your product.
                        skus:
                          description: A list of SKU Objects
                          type: array
                          items:
                            description: The SKU object
                            type: object
                            properties:
                              id:
                                type: string
                                readOnly: true
                                format: objectid
                                description: Unique identifier for the Product
                                example: 580e63fc8c9a982ac9b8b745
                              cmsLocaleId:
                                type: string
                                readOnly: true
                                example: 653ad57de882f528b32e810e
                                description: Identifier for the locale of the CMS item
                              lastPublished:
                                type: string
                                format: date-time
                                readOnly: true
                                description: The date the Product was last published
                                example: '2023-03-17T18:47:35.560Z'
                              lastUpdated:
                                type: string
                                format: date-time
                                readOnly: true
                                description: The date the Product was last updated
                                example: '2023-03-17T18:47:35.560Z'
                              createdOn:
                                type: string
                                format: date-time
                                readOnly: true
                                description: The date the Product was created
                                example: '2023-03-17T18:47:35.560Z'
                              fieldData:
                                description: Standard and Custom fields for a SKU
                                type: object
                                required:
                                - name
                                - slug
                                - price
                                properties:
                                  sku-values:
                                    type: object
                                    description: 'A mapping between SKU properties and their values, represented as key-value pairs. Each key represents a SKU Property ID (e.g. "color") and maps to its corresponding SKU Value ID (e.g. "blue"). This structure defines the specific variant combination for a SKU.

                                      '
                                    additionalProperties:
                                      type: string
                                    example:
                                      color: blue
                                      size: small
                                  name:
                                    type: string
                                    description: Name of the Product
                                    example: Blue T-shirt
                                  slug:
                                    type: string
                                    description: URL structure of the Product in your site.
                                    example: t-shirt-blue
                                  price:
                                    type: object
                                    description: price of SKU
                                    properties:
                                      value:
                                        description: Price of SKU
                                        isRequired: true
                                        type: number
                                        example: 2499
                                      unit:
                                        type: string
                                        isRequired: true
                                        description: Currency of Item
                                        example: USD
                                      currency:
                                        type: string
                                        description: Currency of Item (alternative representation)
                                        example: USD
                                  compare-at-price:
                                    type: object
                                    description: comparison price of SKU
                                    properties:
                                      value:
                                        description: Price of SKU
                                        type: number
                                        example: 100
                                      unit:
                                        type: string
                                        description: Currency of Item
                                        example: USD
                                  ec-sku-billing-method:
                                    description: '[Billing method](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#billing-methods)for the SKU'
                                    type: string
                                    enum:
                                    - one-time
                                    - subscription
                                  ec-sku-subscription-plan:
                                    description: '[Subscription plan](https://help.webflow.com/hc/en-us/articles/33961432087955-Add-and-manage-products-and-categories#subscription) for the SKU'
                                    type: object
                                    properties:
                                      interval:
                                        type: string
                                        description: Interval of subscription renewal
                                        enum:
                                        - day
                                        - week
                                        - month
                                        - year
                                      frequency:
                                        type: number
                                        description: Frequncy of billing within interval
                                        example: 1
                                      trial:
                                        type: number
                                        description: Number of days of a trial
                                        example: 7
                                      plans:
                                        readOnly: true
                                        type: array
                                        items:
                                          type: object
                                          properties:
                                            platform:
                                              type: string
                                              enum:
                                              - stripe
                                              description: The platform of the subscription plan
                                            id:
                                              type: string
                                              description: The unique identifier of the plan
                                            status:
                                              type: string
                                              enum:
                                              - active
                                              - inactive
                                              - canceled
                                              description: The status of the plan
                                  main-image:
                                    type: string
                                    description: The URL for the main image of the SKU
                                    example: https://www.example.com/image.jpg
                                  sku:
                                    type: string
                                    description: A unique identifier for the SKU
                                    example: '1234567890'
                                  sku-properties:
                                    type: array
                                    description: The properties of the SKU
                                    items:
                                      type: object
                                      description: A variant/option type for a SKU
                                      required:
                                      - id
                                      - name
                                      - enum
                                      properties:
                                        id:
                                          type: string
                                          description: Unique identifier for a collection of Product Variants
                                          default: null
                                          example: Color
                                        name:
                                          type: string
                                          description: Name of the collection of Product Variants
                                          example: Color
                                        enum:
                                          description: The individual Product variants that are contained within the collection
                                          type: array
                                          items:
                                            description: Enumerated Product variants/Options for the SKU
                                            type: object
                                            required:
                                            - id
                                            - name
                                            - slug
                                            properties:
                                              id:
                                                type: string
                                                description: Unique identifier for a Product variant/Option
                                                default: null
                                                examples:
                                                - royal-blue
                                                - crimson-red
                                                - forrest-green
                                              name:
                                                type: string
                                                description: Name of the Product variant/Option
                                                examples:
                                                - Royal Blue
                                                - Crimson Red
                                                - Forrest Green
                                              slug:
                                                type: string
                                                description: Slug for the Product variant/Option in the Site URL structure
                                                examples:
                                                - royal-blue
                                                - crimson-red
                                                - forrest-green
                                additionalProperties:
                                  type: string
                                  description: Custom fields for your SKU.
                            example:
                              id: 66072fb71b89448912e2681c
                              cmsLocaleId: 653ad57de882f528b32e810e
                              lastPublished: '2023-03-17T18:47:35.560Z'
                              lastUpdated: '2023-03-17T18:47:35.560Z'
                              createdOn: '2023-03-17T18:47:35.560Z'
                              fieldData:
                                name: Colorful T-shirt - Default
                                slug: colorful-t-shirt-default
                                price:
                                  value: 2499
                                  currency: USD
                                  unit: USD
                              sku-values:
                                color: red
                                size: small
                              main-image: https://rocketamp-sample-store.myshopify.com/cdn/shop/products/Gildan_2000_Antique_Cherry_Red_Front_1024x1024.jpg?v=1527232987
                  pagination:
                    description: Pagination object
                    type: object
                    required:
                    - limit
                    - offset
                    - total
                    properties:
                      limit:
                        type: integer
                        description: The limit used for pagination
                        example: 100
                        readOnly: true
                      offset:
                        type: integer
                        description: The offset used for pagination
                        example: 0
                        readOnly: true
                      total:
                        type: integer
                        description: The total number of records
                        example: 100
                        readOnly: true
        '400':
          description: Validation failure
          x-logErrorCode: 400
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
                    - not_enterprise_plan_workspace
                    - order_not_found
                    - resource_not_found
                    - too_many_requests
                    - unsupported_version
                    - unsupported_webhook_trigger_type
                    - user_limit_reached
                    - user_not_found
                    - users_not_enabled
                    - validation_error
                  message:
                    type: string
                    description: Error message
                    example: Request not authorized
                  externalReference:
                    type: string
                    description: Link to more information
                    example: ''
                  details:
                    type: array
                    description: Array of errors
                    items:
                    - type: string
                      example: Invalid email address
                      description: Error message
                    - type: object
                      example:
                        field: email
                        message: Invalid email address
                      description: Error message
                    example: []
              example:
                code: validation_error
                message: 'Validation Error: Provided ID is invalid'
                externalReference: null
                details: []
        '401':
          description: Provided access token is invalid or does not have access to requested resource
          x-logErrorCode: 401
          content:
            application/json:
              schema:
                type: object
                example:
                  code: not_authorized
                  message: Request not authorized
                  externalReference: null
                  details: []
                properties:
                  code:
                    type: string
                    description: Error code
                    example: not_authorized
                    enum:
                    - bad_request
                    - collection_not_found
                    - conflict
                    - duplicate_collection
                    - duplicate_user_email
                    - ecommerce_not_enabled
                    - forbidden
                    - forms_require_republish
                    - incompatible_webhook_filter
                    - internal_error
                    - invalid_auth_version
                    - invalid_credentials
                    - invalid_domain
                    - invalid_user_email
                    - item_not_found
                    - missing_scopes
                    - no_domains
                    - not_authorized
                    - not_enterprise_plan_site
              

# --- truncated at 32 KB (292 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/webflow-api-and-documentation-webflow/refs/heads/main/openapi/webflow-api-and-documentation-webflow-products-skus-api-openapi.yml