BigCommerce Listings API

The Listings API from BigCommerce — 2 operation(s) for listings.

Documentation

📖
Documentation
https://developer.bigcommerce.com/
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/abandoned-carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/brands
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/categories
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/category-trees
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-modifiers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variant-options
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variants
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/products
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/store-content
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/currencies
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/email-templates
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/geography
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/pages
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/tokens
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/methods-deprecated
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/processing
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/settings
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/shipping-v2
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels/site
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/store-information
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/subscriptions
📖
APIReference
https://developer.bigcommerce.com/docs/integrations/webhooks
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/widgets

Specifications

Other Resources

OpenAPI Specification

bigcommerce-listings-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: BigCommerce Abandoned Cart Emails Listings API
  version: 3.0.0
  termsOfService: https://www.bigcommerce.com/terms
  description: Abandoned Cart Emails V3 API managing Handlebars-based emails.
  contact:
    name: BigCommerce
    url: https://www.bigcommerce.com
    email: support@bigcommerce.com
servers:
- url: https://api.bigcommerce.com/stores/{store_hash}/v3
  variables:
    store_hash:
      default: store_hash
      description: Permanent ID of the BigCommerce store.
  description: BigCommerce API Gateway
security:
- X-Auth-Token: []
tags:
- name: Listings
paths:
  /channels/{channel_id}/listings:
    parameters:
    - $ref: '#/components/parameters/Accept'
    - $ref: '#/components/parameters/channel_id_path_param'
    get:
      tags:
      - Listings
      summary: BigCommerce Get Channel Listings
      operationId: getChannelListings
      description: Returns a list of all *Channel Listings* for a specific channel. Note that if the *Channel* is not found or there is no listing associated to the *Channel*, it will return a 200 response with empty data.
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/after'
      - $ref: '#/components/parameters/product_id_in'
      - $ref: '#/components/parameters/date_created'
      - $ref: '#/components/parameters/date_created_min'
      - $ref: '#/components/parameters/date_created_max'
      - $ref: '#/components/parameters/date_modified'
      - $ref: '#/components/parameters/date_modified_min'
      - $ref: '#/components/parameters/date_modified_max'
      responses:
        '200':
          $ref: '#/components/responses/single_and_multiple_listings_resp'
        '400':
          $ref: '#/components/responses/invalid_channel_id_resp'
        '422':
          $ref: '#/components/responses/invalid_filters_resp'
    post:
      tags:
      - Listings
      summary: BigCommerce Create Channel Listings
      parameters:
      - $ref: '#/components/parameters/ContentType'
      operationId: createChannelListings
      description: Creates one or more *Channel Listings* for a specific channel.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMultipleListingsReq'
            examples:
              Create Single Listing:
                $ref: '#/components/examples/create_single_listing_req_example'
              Create Multiple Listings:
                $ref: '#/components/examples/create_multiple_listings_req_example'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/single_and_multiple_listings_resp'
        '422':
          $ref: '#/components/responses/missing_or_invalid_multiple_listings_data_for_post_resp'
    put:
      tags:
      - Listings
      summary: BigCommerce Update Channel Listings
      parameters:
      - $ref: '#/components/parameters/ContentType'
      operationId: updateChannelListings
      description: 'Updates one or more *Channel Listings* for a specific channel.


        > #### Note

        > * Partial updates are supported. In most cases, if a field that *cannot* be updated is passed in, the API **will not** respond with an error. It returns a 200 response with the object, in which you will see the field(s) were not updated.

        > * If a new variant is provided, the API will append the variant to the list. If a variant already exists, the API will update the existing variant. Other variants that are not provided in the payload remains unchanged.

        > * If `listing_id` does not exist, the API will return a 200 response with empty data.

        > * `listing_id` is required and cannot be less than or equal to zero.

        > * `product_id` cannot be updated after a channel listing is created.

        > * `product_id` of a variant must match the `product_id` of the channel listing.'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMultipleListingsReq'
            examples:
              Update Single Listing:
                $ref: '#/components/examples/update_single_listing_req_example'
              Update Multiple Listings:
                $ref: '#/components/examples/update_multiple_listings_req_example'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/single_and_multiple_listings_resp'
        '422':
          $ref: '#/components/responses/missing_or_invalid_multiple_listings_data_for_put_resp'
  /channels/{channel_id}/listings/{listing_id}:
    parameters:
    - $ref: '#/components/parameters/Accept'
    - $ref: '#/components/parameters/channel_id_path_param'
    - $ref: '#/components/parameters/listing_id_path_param'
    get:
      tags:
      - Listings
      summary: BigCommerce Get a Channel Listing
      operationId: getChannelListing
      description: Returns a *Channel Listing* for a specific channel.
      responses:
        '200':
          $ref: '#/components/responses/single_listing_resp'
        '404':
          $ref: '#/components/responses/listing_not_found_resp'
components:
  parameters:
    date_modified:
      name: date_modified
      description: Filter items by date_modified. For example, `date_modified=2019-09-04T00:00:00`, `date_modified=2019-09-04`, or `date_modified=1567573200`
      in: query
      required: false
      schema:
        type: string
    date_created_min:
      name: date_created:min
      description: Filter items by minimum date_created. For example, `date_created:min=2019-09-04T00:00:00`, `date_created:min=2019-09-04`, or `date_created:min=1567573200`
      in: query
      required: false
      schema:
        type: string
    product_id_in:
      name: product_id:in
      description: Filter items by a comma-separated list of product IDs.
      in: query
      required: false
      style: form
      explode: false
      schema:
        type: array
        items:
          type: integer
          format: int64
    listing_id_path_param:
      name: listing_id
      description: The ID of a channel listing.
      in: path
      required: true
      schema:
        type: integer
        format: int64
    date_modified_min:
      name: date_modified:min
      description: Filter items by minimum date_modified. For example, `date_modified:min=2019-09-04T00:00:00`, `date_modified:min=2019-09-04`, or `date_modified:min=1567573200`
      in: query
      required: false
      schema:
        type: string
    date_created:
      name: date_created
      description: Filter items by date_created. For example, `date_created=2019-09-04T00:00:00`, `date_created=2019-09-04`, or `date_created=1567573200`
      in: query
      required: false
      schema:
        type: string
    Accept:
      name: Accept
      in: header
      required: true
      description: The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.
      schema:
        type: string
        default: application/json
    after:
      name: after
      description: Specifies the prior listing ID in a limited (paginated) list of listings.
      in: query
      required: false
      schema:
        type: integer
    date_created_max:
      name: date_created:max
      description: Filter items by maximum date_created. For example, `date_created:max=2019-09-04T00:00:00`, `date_created:max=2019-09-04`, or `date_created:max=1567573200`
      in: query
      required: false
      schema:
        type: string
    channel_id_path_param:
      name: channel_id
      description: The ID of a channel.
      in: path
      required: true
      schema:
        type: integer
        format: int64
    ContentType:
      name: Content-Type
      in: header
      required: true
      description: The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body.
      schema:
        type: string
        default: application/json
    limit:
      name: limit
      description: Controls the number of items per page for paginated responses.
      in: query
      required: false
      schema:
        type: integer
    date_modified_max:
      name: date_modified:max
      description: Filter items by maximum date_modified. For example, `date_modified:max=2019-09-04T00:00:00`, `date_modified:max=2019-09-04`, or `date_modified:max=1567573200`
      in: query
      required: false
      schema:
        type: string
  responses:
    single_and_multiple_listings_resp:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/Listing'
              meta:
                $ref: '#/components/schemas/MetaWithPartialPagination'
          examples:
            Single Listing:
              $ref: '#/components/examples/single_listing_resp_example'
            Multiple Listings:
              $ref: '#/components/examples/multiple_listings_resp_example'
    missing_or_invalid_multiple_listings_data_for_post_resp:
      description: The request is missing one or more required fields or invalid data is submitted.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            Product ID Mismatch:
              $ref: '#/components/examples/error_422_product_id_mismatch_resp_example'
            Missing Required Fields For Channel Listing:
              $ref: '#/components/examples/error_422_missing_listing_required_fields_resp_example'
            Missing Required Fields For Variants:
              $ref: '#/components/examples/error_422_missing_listing_variants_required_fields_resp_example'
            Invalid Channel ID:
              $ref: '#/components/examples/error_422_invalid_channel_id_v2_resp_example'
    listing_not_found_resp:
      description: A *Channel Listing* with the provided channel ID and listing ID was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            Listing Not Found:
              $ref: '#/components/examples/error_404_listing_not_found_resp_example'
    invalid_filters_resp:
      description: When an invalid value or invalid query parameter is submitted, a 422 response will be sent.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            Invalid Filters:
              $ref: '#/components/examples/error_422_invalid_filters_resp_example'
            Invalid Filter Value:
              $ref: '#/components/examples/error_422_invalid_filter_value_resp_example'
    single_listing_resp:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                $ref: '#/components/schemas/Listing'
              meta:
                $ref: '#/components/schemas/EmptyMeta'
          examples:
            response:
              $ref: '#/components/examples/single_listing_with_empty_meta_resp_example'
    invalid_channel_id_resp:
      description: Invalid channel ID is provided.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            Invalid Channel ID:
              $ref: '#/components/examples/error_400_resp_example'
    missing_or_invalid_multiple_listings_data_for_put_resp:
      description: The request is missing one or more required fields or invalid data is submitted. Note that the `group_id` in the Invalid Listing ID example refers to `listing_id`. Please use `listing_id` instead of `group_id` in the request payload.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            Product ID Mismatch:
              $ref: '#/components/examples/error_422_product_id_mismatch_resp_example'
            Missing Required Fields For Channel Listing:
              $ref: '#/components/examples/error_422_missing_listing_required_fields_resp_example'
            Missing Required Fields For Variants:
              $ref: '#/components/examples/error_422_missing_listing_variants_required_fields_resp_example'
            Invalid Channel ID:
              $ref: '#/components/examples/error_422_invalid_channel_id_v2_resp_example'
            Invalid Listing ID:
              $ref: '#/components/examples/error_422_invalid_listing_id_resp_example'
  schemas:
    ErrorDetail:
      type: object
      description: 'Error detail response payload for the BigCommerce API.

        '
      example:
        '1': Unauthorized to delete
        '2': Metafield does not exist
    ChannelProductVariantName:
      type: string
      description: Name of the product variant for this channel listing specifically. This is an optional field that can be used to override the name of the product variant in the catalog.
      x-internal: false
    ChannelListingVariantDateCreated:
      type: string
      format: date-time
      description: Date on which the channel listing variant was first created.
      x-internal: false
    ExternalId:
      type: string
      description: Associated ID within a system / platform outside of BC.
      x-internal: false
    Listing:
      type: object
      properties:
        channel_id:
          $ref: '#/components/schemas/ChannelIdForListing'
        listing_id:
          $ref: '#/components/schemas/ListingId'
        external_id:
          $ref: '#/components/schemas/ExternalId'
        product_id:
          $ref: '#/components/schemas/ProductId'
        state:
          $ref: '#/components/schemas/ListingState'
        name:
          $ref: '#/components/schemas/ChannelProductName'
        description:
          $ref: '#/components/schemas/ChannelProductDescription'
        date_created:
          $ref: '#/components/schemas/ChannelListingDateCreated'
        date_modified:
          $ref: '#/components/schemas/ChannelListingDateModified'
        variants:
          type: array
          items:
            $ref: '#/components/schemas/ChannelProductVariantFull'
      x-internal: false
    EmptyMeta:
      type: object
      title: Empty meta response.
      properties: {}
      additionalProperties: true
      description: Response metadata.
    ChannelProductMultipleVariants:
      type: array
      items:
        $ref: '#/components/schemas/ChannelProductVariantPartial'
      x-internal: false
    Error:
      type: object
      description: 'Error response payload for the BigCommerce API.

        '
      properties:
        status:
          type: integer
          format: int32
          description: 'The HTTP status code for the error.

            '
          example: 422
        title:
          type: string
          description: 'The error title describing the particular error.

            '
          example: Bulk operation has failed
        type:
          type: string
          description: 'The error type.

            '
          example: https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes
        errors:
          $ref: '#/components/schemas/ErrorDetail'
    CreateMultipleListingsReq:
      type: array
      items:
        $ref: '#/components/schemas/UpsertListingWithoutListingIdReq'
      x-internal: false
    VariantState:
      type: string
      description: The state of the channel listing variant.
      enum:
      - active
      - disabled
      - error
      - pending
      - pending_disable
      - pending_delete
      - queued
      - rejected
      - submitted
      - deleted
      x-internal: false
    ChannelListingDateCreated:
      type: string
      format: date-time
      description: Date on which the channel listing was first created.
      x-internal: false
    ChannelProductName:
      type: string
      description: Name of the product for this channel listing specifically. This is an optional field that can be used to override the product name in the catalog.
      x-internal: false
    ListingId:
      type: integer
      format: int64
      minimum: 1
      description: The ID of the channel listing that has been created, returned, or updated. In a 422 error, you may receive a response that references the `group_id`. The `group_id` in the Invalid Listing ID example refers to the `listing_id`. Please use `listing_id` instead of `group_id` in the request payload.
      x-internal: false
    ChannelListingVariantDateModified:
      type: string
      format: date-time
      description: Date on which the channel listing variant was most recently changed.
      x-internal: false
    VariantId:
      type: integer
      format: int64
      description: The ID of the product variant associated with this channel listing.
      x-internal: false
    ChannelListingDateModified:
      type: string
      format: date-time
      description: Date on which the channel listing was most recently changed.
      x-internal: false
    ListingState:
      type: string
      description: The state of the product assignment or channel listing.
      enum:
      - active
      - disabled
      - error
      - pending
      - pending_disable
      - pending_delete
      - partially_rejected
      - queued
      - rejected
      - submitted
      - deleted
      x-internal: false
    ChannelIdForListing:
      type: integer
      format: int64
      description: The ID of the channel associated with this channel listing.
      x-internal: false
    ProductId:
      type: integer
      format: int64
      description: The ID of the product associated with this channel listing.
      x-internal: false
    ChannelProductVariantDescription:
      type: string
      description: Description of the product variant for this channel listing specifically. This is an optional field that can be used to override the description of the product variant in the catalog.
      x-internal: false
    pagination_Partial:
      type: object
      description: 'Data about the pagination.

        '
      properties:
        count:
          type: integer
          description: 'Total number of items in the collection response.

            '
        total:
          type: integer
          description: 'Total number of items in the result set.

            '
        links:
          type: object
          description: 'Pagination links for the previous, current, or next parts of the whole collection.

            '
          properties:
            previous:
              type: string
              description: 'Link to the previous page returned in the response.

                '
            current:
              type: string
              description: 'Link to the current page returned in the response.

                '
            next:
              type: string
              description: 'Link to the next page returned in the response.

                '
        total_pages:
          type: integer
          description: 'The total number of pages in the collection.

            '
      x-internal: false
    MetaWithPartialPagination:
      type: object
      description: Data about the response, including pagination.
      properties:
        pagination:
          $ref: '#/components/schemas/pagination_Partial'
      x-internal: false
    ChannelProductDescription:
      type: string
      description: Description of the product for this channel listing specifically. This is an optional field that can be used to override the product description in the catalog.
      x-internal: false
    UpsertListingWithoutListingIdReq:
      type: object
      description: Details about assigning a product to a specific channel.
      properties:
        product_id:
          $ref: '#/components/schemas/ProductId'
        external_id:
          $ref: '#/components/schemas/ExternalId'
        state:
          $ref: '#/components/schemas/ListingState'
        name:
          $ref: '#/components/schemas/ChannelProductName'
        description:
          $ref: '#/components/schemas/ChannelProductDescription'
        variants:
          $ref: '#/components/schemas/ChannelProductMultipleVariants'
      required:
      - product_id
      - state
      - variants
      x-internal: false
    ChannelProductVariantPartial:
      type: object
      description: Details about a variant of the product for this channel listing.
      properties:
        product_id:
          $ref: '#/components/schemas/ProductId'
        variant_id:
          $ref: '#/components/schemas/VariantId'
        external_id:
          $ref: '#/components/schemas/ExternalId'
        state:
          $ref: '#/components/schemas/VariantState'
        name:
          $ref: '#/components/schemas/ChannelProductVariantName'
        description:
          $ref: '#/components/schemas/ChannelProductVariantDescription'
      required:
      - product_id
      - variant_id
      - state
      x-internal: false
    UpdateMultipleListingsReq:
      type: array
      items:
        $ref: '#/components/schemas/UpsertListingWithListingIdReq'
      x-internal: false
    UpsertListingWithListingIdReq:
      type: object
      description: Details about assigning a product to a specific channel.
      properties:
        listing_id:
          $ref: '#/components/schemas/ListingId'
        product_id:
          $ref: '#/components/schemas/ProductId'
        external_id:
          $ref: '#/components/schemas/ExternalId'
        state:
          $ref: '#/components/schemas/ListingState'
        name:
          $ref: '#/components/schemas/ChannelProductName'
        description:
          $ref: '#/components/schemas/ChannelProductDescription'
        variants:
          $ref: '#/components/schemas/ChannelProductMultipleVariants'
      required:
      - listing_id
      - product_id
      - state
      - variants
      x-internal: false
    ChannelProductVariantFull:
      type: object
      description: Details about a variant of the product for this channel listing.
      properties:
        channel_id:
          $ref: '#/components/schemas/ChannelIdForListing'
        product_id:
          $ref: '#/components/schemas/ProductId'
        variant_id:
          $ref: '#/components/schemas/VariantId'
        external_id:
          $ref: '#/components/schemas/ExternalId'
        state:
          $ref: '#/components/schemas/VariantState'
        name:
          $ref: '#/components/schemas/ChannelProductVariantName'
        description:
          $ref: '#/components/schemas/ChannelProductVariantDescription'
        date_created:
          $ref: '#/components/schemas/ChannelListingVariantDateCreated'
        date_modified:
          $ref: '#/components/schemas/ChannelListingVariantDateModified'
      x-internal: false
  examples:
    error_422_invalid_channel_id_v2_resp_example:
      value:
        status: 422
        title: Channel id (1000000) is not valid for store (1001808665)!
        type: /api-docs/getting-started/api-status-codes
        errors: {}
    single_listing_with_empty_meta_resp_example:
      value:
        data:
          channel_id: 667159
          listing_id: 882998595
          product_id: 80
          state: active
          name: Orbit Terrarium - Large
          description: The same terrarium, but not a [Sample]
          date_created: '2021-05-24T17:46:33Z'
          date_modified: '2021-05-24T17:46:33Z'
          variants:
          - channel_id: 667159
            product_id: 80
            variant_id: 64
            state: active
            name: Terrarium with dinosaur
            date_created: '2021-05-24T17:46:33Z'
            date_modified: '2021-05-24T17:46:33Z'
          - channel_id: 667159
            product_id: 80
            variant_id: 65
            state: active
            name: Terrarium with fish
            date_created: '2021-05-24T17:46:33Z'
            date_modified: '2021-05-24T17:46:33Z'
        meta: {}
    error_404_listing_not_found_resp_example:
      value:
        status: 404
        title: Listing [123456789] not found
        type: /api-docs/getting-started/api-status-codes
        errors: {}
    error_422_invalid_filter_value_resp_example:
      value:
        status: 422
        title: 'Query parameter "limit" value must be integer. For input string: "a".'
        type: /api-docs/getting-started/api-status-codes
        errors: {}
    error_422_product_id_mismatch_resp_example:
      value:
        status: 422
        title: '0/0 product listing group(s) and 0/0 product listing(s) upserted. Invalid fields: '
        type: /api-docs/getting-started/api-status-codes
        errors: {}
    create_single_listing_req_example:
      value:
      - product_id: 80
        state: active
        name: Orbit Terrarium - Large
        description: The same terrarium, but not a [Sample]
        variants:
        - product_id: 80
          variant_id: 64
          state: active
          name: Terrarium with dinosaur
        - product_id: 80
          variant_id: 65
          state: active
          name: Terrarium with fish
    update_multiple_listings_req_example:
      value:
      - listing_id: 882789361
        product_id: 80
        state: active
        name: Orbit Terrarium - Large
        variants:
        - product_id: 80
          variant_id: 64
          state: active
          name: Terrarium with dinosaur
      - listing_id: 882789362
        product_id: 100
        state: pending
        name: Womenʼs Bold T-Shirt
        variants:
        - product_id: 100
          variant_id: 91
          state: pending
          name: Small womenʼs bold t-shirt
    multiple_listings_resp_example:
      value:
        data:
        - channel_id: 664177
          listing_id: 882789361
          product_id: 80
          state: active
          name: Orbit Terrarium - Large
          description: The same terrarium, but not a [Sample]
          date_created: '2021-05-24T17:46:33Z'
          date_modified: '2021-05-24T17:46:33Z'
          variants:
          - channel_id: 664177
            product_id: 80
            variant_id: 64
            state: active
            name: Terrarium with dinosaur
            date_created: '2021-05-24T17:46:33Z'
            date_modified: '2021-05-24T17:46:33Z'
          - channel_id: 664177
            product_id: 80
            variant_id: 65
            state: active
            name: Terrarium with fish
            date_created: '2021-05-24T17:46:33Z'
            date_modified: '2021-05-24T17:46:33Z'
        - channel_id: 664177
          listing_id: 882789362
          product_id: 100
          state: pending
          name: Womenʼs Bold T-Shirt
          description: The same t-shirt, but not a [Sample]
          date_created: '2021-05-24T17:46:33Z'
          date_modified: '2021-05-24T17:46:33Z'
          variants:
          - channel_id: 664177
            product_id: 100
            variant_id: 91
            state: pending
            name: Small womenʼs bold t-shirt
            date_created: '2021-05-24T17:46:33Z'
            date_modified: '2021-05-24T17:46:33Z'
          - channel_id: 664177
            product_id: 100
            variant_id: 92
            state: pending
            name: Medium womenʼs bold t-shirt
            date_created: '2021-05-24T17:46:33Z'
            date_modified: '2021-05-24T17:46:33Z'
        meta:
          pagination:
            count: 2
            total: 2
            links:
              current: ?limit=1000
            total_pages: 1
    error_422_invalid_listing_id_resp_example:
      value:
        status: 422
        title: '0/0 product listing group(s) and 0/0 product listing(s) upserted. Invalid fields: group_id,'
        type: /api-docs/getting-started/api-status-codes
        errors:
          group_id: Group id (0) for store (1001808665) cannot be less than or equal to zero!
    error_422_missing_listing_required_fields_resp_example:
      value:
        status: 422
        title: JSON data is missing or invalid
        type: /api-docs/getting-started/api-status-codes
        errors:
          0.state: error.path.missing
          0.variants: error.path.missing
          0.product_id: error.path.missing
    single_listing_resp_example:
      value:
        data:
        - channel_id: 667159
          listing_id: 882998595
          product_id: 80
          state: active
          name: Orbit Terrarium - Large
          description: The same terrarium, but not a [Sample]
          date_created: '2021-05-24T17:46:33Z'
          date_modified: '2021-05-24T17:46:33Z'
          variants:
          - channel_id: 667159
            product_id: 80
            variant_id: 64
            state: active
            name: Terrarium with dinosaur
            date_created: '2021-05-24T17:46:33Z'
            date_modified: '2021-05-24T17:46:33Z'
          - channel_id: 667159
            product_id: 80
            variant_id: 65
            state: active
            name: Terrarium with fish
            date_created: '2021-05-24T17:46:33Z'
            date_modified: '2021-05-24T17:46:33Z'
        meta:
          pagination:
            count: 1
            total: 1
            links:
              current: ?limit=1000
            total_pages: 1
    create_multiple_listings_req_example:
      value:
      - product_id: 80
        state: active
        name: Orbit Terrarium - Large
        description: The same terrarium, but not a [Sample]
        variants:
        - product_id: 80
          variant_id: 64
          state: active
          name: Terrarium with dinosaur
        - product_id: 80
          variant_id: 65
          state: active
          name: Terrarium with fish
      - product_id: 100
        state: pending
        name: Womenʼs Bold T-Shirt
        description: The same t-shirt, but not a [Sample]
        variants:
        - product_id: 100
          variant_id: 91
          state: pending
          name: Small womenʼs bold t-shirt
        - product_id: 100
          variant_id: 92
          state: pending
          name: Medium womenʼs bold t-shirt
    error_422_missing_listing_variants_required_fields_resp_example:
      value:
        status: 422
        title: JSON data is missing or invalid
        type: /api-docs/getting-started/api-status-codes
        errors:
          0.variants.0.state: error.path.missing
          0.variants.0.product_id: error.path.missing
          0.variants.0.variant_id: error.path.missing
    update_single_listing_req_example:
      value:
      - listing_id: 882998595
        product_id: 80
        state: active
        name: Orbit Terrarium - Large
        variants:
        - product_id: 80
          variant_id: 64
          state: active
          name: Terrarium with dinosaur
    error_422_invalid_filters_resp_example:
      value:
        status: 422
        title: 'The filter(s): a, b are not valid filter parameter(s).'
        type: /api-docs/getting-started/api-status-codes
        errors: {}
    error_400_resp_example:
      value:
        status: 400
        title: Input is invalid
        type: /api-docs/getting-started/api-status-codes
        errors: {}
  securitySchemes:
    X-Auth-Token:
      name: X-Auth-Token
      description: '### OAuth scopes


        | UI Name | Permission | Parameter |

        |:--|:--|:-|

        | Information & Settings  | read-only  | `store_v2_information_read_only`|

        | Information & Settings  | modify     | `store_v2_information`          |


        ### Authentication header


        | Header | Argument | Description |

        |:-|:|:|

        | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |


        ### Further reading


        For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).


        For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).


        For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).'
      type: apiKey
      in: header