Big Commerce Channels

BigCommerce Channels is a platform that allows businesses to seamlessly manage and sell their products across multiple online channels, such as Amazon, eBay, Facebook, and Pinterest. By integrating with these channels, BigCommerce Channels streamlines the process of listing products, managing inventory, and fulfilling orders, all from one centralized dashboard. This enables businesses to reach a wider audience and increase their sales potential through various online marketplaces.

OpenAPI Specification

channels-openapi-original.yml Raw ↑
openapi: 3.0.0
info:
  version: ''
  termsOfService: https://www.bigcommerce.com/terms
  contact:
    name: BigCommerce
    url: https://www.bigcommerce.com
    email: [email protected]
  title: BigCommerce Channels
  description: >-
    Create and manage sales [channels](/docs/integrations/channels), their
    [sites](/docs/rest-management/channels/channel-site), and their [product
    listings](/docs/rest-management/channels/channel-listings).


    ## Channels


    A [channel](/docs/rest-management/channels) is anywhere a merchant sells
    their products. This encompasses headless storefronts, marketplaces, POS
    systems, and marketing platforms.


    ### Platform


    A channelʼs `type` and `platform` combination must be a valid pair as
    indicated in the table below.


    | Platform            | Accepted Type |

    |:--|:--|

    | `clover`            | `pos` |

    | `square`            | `pos` |

    | `stripe`            | `pos` |

    | `talech`            | `pos` |

    | `vend`              | `pos` |

    | `amazon`            | `marketplace` |

    | `belk`              | `marketplace` |

    | `catch`             | `marketplace` |

    | `ebay`              | `marketplace` |

    | `etsy`              | `marketplace` |

    | `facebook`          | `marketplace`, `marketing` |

    | `hudsons_bay`       | `marketplace` |

    | `google`            | `marketplace`, `marketing` |

    | `google_shopping` (deprecated)   | `marketing` |

    | `instagram`         | `marketplace`, `marketing` |

    | `macys`             | `marketplace` |

    | `mirakl`            | `marketplace` |

    | `overstock`         | `marketplace` |

    | `pinterest`         | `marketplace` |

    | `target_plus`       | `marketplace` |

    | `tiktok`            | `marketplace` |

    | `wayfair`           | `marketplace` |

    | `wish`              | `marketplace` |

    | `walmart`           | `marketplace` |

    | `acquia`            | `storefront` |

    | `bigcommerce` (Stencil and Blueprint) | `storefront` |

    | `bloomreach`        | `storefront` |

    | `catalyst` (BigCommerce Next.js) | `storefront` |

    | `deity`             | `storefront` |

    | `drupal`            | `storefront` |

    | `gatsby`            | `storefront` |

    | `next` (Next.js Commerce and other Next.js) | `storefront` |

    | `vue`               | `storefront` |

    | `wordpress`         | `storefront` |

    | `custom`            | `storefront`, `pos`, `marketing`, `marketplace` |
        

    ### Status


    Allowed values for a channelʼs `status` vary by channel `type`.


    | Type | Writeable Statuses |

    |:--|:-|

    | `storefront` | `prelaunch`, `active`, `inactive`, `archived`, `deleted` |

    | `marketing`, `marketplace`, `pos`| `connected`, `disconnected`,
    `archived`, `deleted` |


    > #### Warning

    > * You can restore a Channel with `deleted` status within **90 days** after
    deletion by contacting the BigCommerce support team. After the 90-days grace
    period is over, the Channel `status` will become `terminated`.

    > * The `terminated` status is read-only. Channels with a `status` of
    `terminated` **cannot** be restored.


    ## Channel listings


    [Channel listings](/docs/rest-management/channels/channel-listings) allow
    you to manage catalog differences among different storefronts or
    marketplaces.


    ## Channel site


    A [Channel site](/docs/rest-management/channels/channel-site) refers to the
    domain associated with a channel.


    ## Resources


    * [Sites and Routes API Reference](/docs/rest-management/sites)

    * [Building Channels Overview](/docs/integrations/channels)

    * [Building Channel Apps](/docs/integrations/channels/guide)

    * [Channels Toolkit
    Reference](/docs/integrations/channels/toolkit-reference)
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: Active Theme
  - name: Batch Metafields
  - name: Channels
  - name: Currency Assignments
  - name: Listings
  - name: Menus
  - name: Metafields
  - name: Site
  - name: Site Checkout URL
paths:
  /channels:
    parameters:
      - $ref: '#/components/parameters/Accept'
    get:
      tags:
        - Channels
      summary: BigCommerce Get All Channels
      operationId: getChannels
      description: >-
        Returns a list of *Channels*.


        Will always return the default BigCommerce storefront with an ID of `1`.
        This storefront is created by default when you provision a BigCommerce
        store.
      parameters:
        - $ref: '#/components/parameters/include'
        - $ref: '#/components/parameters/available'
        - $ref: '#/components/parameters/status_in'
        - $ref: '#/components/parameters/type_in'
        - $ref: '#/components/parameters/platform_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'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/page'
      responses:
        '200':
          $ref: '#/components/responses/multiple_channels_without_currencies_resp'
        '422':
          $ref: '#/components/responses/invalid_filter_value_resp'
    post:
      tags:
        - Channels
      summary: BigCommerce Create a Channel
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: createChannel
      description: Creates a *Channel*.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateChannelReq'
            examples:
              Create eBay Channel:
                $ref: '#/components/examples/create_channel_req_example'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/single_channel_without_currencies_resp'
        '422':
          $ref: '#/components/responses/missing_or_invalid_channel_data_resp'
  /channels/{channel_id}:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/channel_id_path_param'
    get:
      tags:
        - Channels
      summary: BigCommerce Get a Channel
      operationId: getChannel
      description: >-
        Returns a *Channel*. Channel ID `1` returns the default BigCommerce
        storefront.
      parameters:
        - $ref: '#/components/parameters/include'
      responses:
        '200':
          $ref: '#/components/responses/single_channel_with_currencies_resp'
        '404':
          $ref: '#/components/responses/channel_not_found_resp'
    put:
      tags:
        - Channels
      summary: BigCommerce Update a Channel
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: updateChannel
      description: >-
        Updates a *Channel*.


        ## Updatable Fields


        The following fields can be updated.

        * `name`

        * `external_id`

        * `status`

        * `is_listable_from_ui`

        * `is_visible`

        * `config_meta`



        > #### 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.

        > * `platform` and `type` cannot be updated after a channel is created.

        > * A channel with status `deleted` or `terminated` cannot be updated.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateChannelReq'
            examples:
              Update a Facebook by Meta Channel:
                $ref: '#/components/examples/update_channel_req_example'
        required: true
      responses:
        '200':
          $ref: '#/components/responses/single_channel_without_currencies_resp'
        '404':
          $ref: '#/components/responses/channel_entity_not_found_resp'
        '409':
          $ref: '#/components/responses/duplicate_channel_resp'
        '422':
          $ref: '#/components/responses/invalid_channel_update_field_resp'
  /channels/{channel_id}/active-theme:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/channel_id_path_param'
    get:
      tags:
        - Active Theme
      summary: BigCommerce Get a Channel Active Theme
      operationId: getChannelActiveTheme
      description: |-
        Returns details of the theme active on the specified channel.
        Does not support active Blueprint (legacy) themes.
      responses:
        '200':
          $ref: '#/components/responses/channel_active_theme_resp'
        '404':
          $ref: '#/components/responses/active_theme_not_found_resp'
  /channels/currency-assignments:
    parameters:
      - $ref: '#/components/parameters/Accept'
    get:
      tags:
        - Currency Assignments
      summary: BigCommerce Get All Channels Currency Assignments
      operationId: getAllCurrencyAssignments
      description: Returns a list of currency assignments for all channels.
      responses:
        '200':
          $ref: '#/components/responses/multiple_channels_currency_assignments_resp'
    post:
      tags:
        - Currency Assignments
      parameters:
        - $ref: '#/components/parameters/ContentType'
      summary: BigCommerce Create Multiple Channels Currency Assignments
      operationId: createMultipleChannelsCurrencyAssignments
      description: >-
        Sets enabled currencies and default currency for multiple channels. Note
        that currencies must be added first in the **Settings > Setup >
        Currencies** settings from an active MSF-enabled BigCommerce store
        control panel before the currencies can be assigned to a channel.
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/UpsertMultipleChannelsCurrencyAssignmentsReq
            examples:
              Create Currency Assignments for Multiple Channels:
                $ref: >-
                  #/components/examples/multiple_channels_currency_assignments_req_example
        required: true
      responses:
        '200':
          $ref: '#/components/responses/multiple_channels_currency_assignments_resp'
        '422':
          $ref: >-
            #/components/responses/missing_or_invalid_multiple_channels_currency_assignments_data_resp
    put:
      tags:
        - Currency Assignments
      summary: BigCommerce Update Multiple Channels Currency Assignments
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: updateMultipleChannelsCurrencyAssignments
      description: >-
        Updates enabled currencies and default currency for multiple channels.
        Note that currencies must be added first in the **Settings > Setup >
        Currencies** settings from an active MSF-enabled BigCommerce store
        control panel before the currencies can be assigned to a channel.
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/UpsertMultipleChannelsCurrencyAssignmentsReq
            examples:
              Update Currency Assignments for Multiple Channels:
                $ref: >-
                  #/components/examples/multiple_channels_currency_assignments_req_example
        required: true
      responses:
        '200':
          $ref: '#/components/responses/multiple_channels_currency_assignments_resp'
        '422':
          $ref: >-
            #/components/responses/missing_or_invalid_multiple_channels_currency_assignments_data_resp
  /channels/{channel_id}/currency-assignments:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/channel_id_path_param'
    get:
      tags:
        - Currency Assignments
      summary: BigCommerce Get Channel Currency Assignments
      operationId: getSingleChannelCurrencyAssignments
      description: Returns a list of currency assignments for a specific channel.
      responses:
        '200':
          $ref: '#/components/responses/single_channel_currency_assignments_resp'
        '404':
          $ref: '#/components/responses/channel_not_found_resp'
    post:
      tags:
        - Currency Assignments
      summary: BigCommerce Create Channel Currency Assignments
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: createSingleChannelCurrencyAssignments
      description: >-
        Sets enabled currencies and default currency for a specific channel.
        Note that currencies must be added first in the **Settings > Setup >
        Currencies** settings from an active MSF-enabled BigCommerce store
        control panel before the currencies can be assigned to a channel.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CurrencyRequiredWithoutChannelId'
            examples:
              Create Currency Assignments for a Channel:
                $ref: >-
                  #/components/examples/single_channel_currency_assignments_req_example
        required: true
      responses:
        '200':
          $ref: '#/components/responses/single_channel_currency_assignments_resp'
        '422':
          $ref: >-
            #/components/responses/missing_or_invalid_single_channel_currency_assignments_data_resp
    put:
      tags:
        - Currency Assignments
      summary: BigCommerce Update Channel Currency Assignments
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: updateSingleChannelCurrencyAssignments
      description: >-
        Updates enabled currencies and default currency for a specific channel.
        Note that currencies must be added first in the **Settings > Setup >
        Currencies** settings from an active MSF-enabled BigCommerce store
        control panel before the currencies can be assigned to a channel.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CurrencyRequiredWithoutChannelId'
            examples:
              Update Currency Assignments for a Channel:
                $ref: >-
                  #/components/examples/single_channel_currency_assignments_req_example
        required: true
      responses:
        '200':
          $ref: '#/components/responses/single_channel_currency_assignments_resp'
        '422':
          $ref: >-
            #/components/responses/missing_or_invalid_single_channel_currency_assignments_data_resp
    delete:
      tags:
        - Currency Assignments
      summary: BigCommerce Delete Channel Currency Assignments
      operationId: deleteSingleChannelCurrencyAssignments
      description: >-
        Deletes currency assignments for a specific channel. Once done, this
        channel will inherit the store’s currency settings.
      responses:
        '200':
          $ref: '#/components/responses/delete_currency_assignments_resp'
        '404':
          $ref: '#/components/responses/channel_not_found_resp'
  /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'
  /channels/{channel_id}/site/checkout-url:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/channel_id_path_param'
    put:
      summary: BigCommerce Upsert a Siteʼs Checkout URL
      tags:
        - Site Checkout URL
      description: Creates or updates (upserts) a siteʼs checkout URL
      operationId: updateCheckoutUrl
      parameters:
        - $ref: '#/components/parameters/ContentType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutCheckoutUrl'
        description: ''
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Site'
            Example 1:
              examples:
                response:
                  value:
                    id: 1
                    url: https://kittens.mybigcommerce.com/
                    channel_id: 1
                    created_at: '2018-01-04T04:15:50.000Z'
                    updated_at: '2018-01-04T04:15:50.000Z'
                    urls:
                      - url: https://kittens.mybigcommerce.com
                        type: primary
                        created_at: '2022-03-22T13:08:59Z'
                        updated_at: '2022-03-22T13:08:59Z'
                      - url: https://store-abc.store.bcdev
                        type: canonical
                        created_at: '2022-03-22T13:08:59Z'
                        updated_at: '2022-03-22T13:08:59Z'
                      - url: https://checkout.kittens.mybigcommerce.com
                        type: checkout
                        created_at: '2022-03-23T10:21:11Z'
                        updated_at: '2022-03-29T13:44:22Z'
                    is_checkout_url_customized: true
        '422':
          description: >-
            Unprocessable Entity. Your checkout and storefront must be within
            the same main domain like `example.com` and `subdomain.example.com`
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  example-1:
                    status: 422
                    title: >-
                      Incorrect checkout url https://bc.kittykat.me. Your
                      checkout and storefront must be within the same main
                      domain like “main.com” and “subdomain.main.com”
                    type: >-
                      https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes
                    errors: {}
                properties:
                  status:
                    type: integer
                    default: 422
                  title:
                    type: string
                    example: >-
                      Incorrect checkout url https://checkout.example.com. Your
                      checkout and storefront must be within the same main
                      domain like “main.com” and “subdomain.main.com
                  type:
                    type: string
                    default: >-
                      https://developer.bigcommerce.com/api-docs/getting-started/api-status-codes
                  errors:
                    type: object
    delete:
      summary: BigCommerce Delete a Siteʼs Checkout URL
      operationId: deleteCheckoutUrl
      description: >-
        Deletes a siteʼs checkout URL. After deletion, a shared checkout URL is
        used.
      tags:
        - Site Checkout URL
      responses:
        '200':
          description: OK. `data` and `meta` are empty objects.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties: {}
                  meta:
                    $ref: '#/components/schemas/EmptyMeta'
  /channels/{channel_id}/site:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/channel_id_path_param'
    get:
      summary: BigCommerce Get a Channel Site
      description: |
        Alias of `GET /sites?channel_id=channel_id`

        Returns site data for the specified channel.
      operationId: getChannelSite
      responses:
        '200':
          $ref: '#/components/responses/site_Resp'
      tags:
        - Site
    put:
      responses:
        '200':
          $ref: '#/components/responses/site_Resp'
      summary: BigCommerce Update a Channel Site
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: updateChannelSite
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/site_Put'
        x-examples:
          application/json:
            url: https://example.com/
      tags:
        - Site
      description: Updates a site for provided channel.
    post:
      responses:
        '200':
          $ref: '#/components/responses/site_Resp'
      summary: BigCommerce Create a Channel Site
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: createChannelSite
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/site_Post'
        x-examples:
          application/json:
            url: http://kittens.mybigcommerce.com/
            channel_id: 123
      tags:
        - Site
      description: Alias of POST `/sites`. Creates a site for provided channel.
    delete:
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
      description: Deletes the Channelʼs site.
      operationId: deleteChannelSite
      tags:
        - Site
      summary: BigCommerce Delete a Channel Site
  /channels/{channel_id}/channel-menus:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/channel_id_path_param'
    get:
      summary: BigCommerce Get Channel Menus
      description: |
        Returns list of Control Panel side navigation menus for a channel.
      operationId: getChannelMenus
      responses:
        '200':
          $ref: '#/components/responses/channel_menus_Resp'
      tags:
        - Menus
    post:
      responses:
        '200':
          $ref: '#/components/responses/channel_menus_Resp'
      summary: BigCommerce Create Channel Menus
      operationId: createChannelMenus
      parameters:
        - $ref: '#/components/parameters/ContentType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/channel_menus_Post'
            examples: {}
      tags:
        - Menus
      description: >-
        Creates or replaces list of control panel side navigation menus for a
        channel.
    delete:
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: integer
                  meta:
                    $ref: '#/components/schemas/EmptyMeta'
                x-examples:
                  example-1:
                    data: 1
                    meta: {}
      description: Deletes control panel side navigation menus for a channel.
      operationId: deleteChannelMenus
      tags:
        - Menus
      summary: BigCommerce Delete Channel Menus
  /channels/{channel_id}/metafields:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/channel_id_path_param'
    get:
      summary: BigCommerce Get Channel Metafields
      tags:
        - Metafields
      responses:
        '200':
          $ref: '#/components/responses/metafield_200'
      operationId: getChannelMetafields
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/MetafieldKeyParam'
        - $ref: '#/components/parameters/MetafieldNamespaceParam'
        - $ref: '#/components/parameters/DirectionParam'
      description: >-
        Returns a list of metafields on a channel. Optional filter parameters
        can be passed in.
    post:
      summary: BigCommerce Create a Channel Metafield
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: createChannelMetafield
      responses:
        '200':
          $ref: '#/components/responses/metafield_200'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/metafield_Post'
            examples: {}
      tags:
        - Metafields
      description: >-
        Creates a channel metafield.


        **Note:** The maxiumum number of metafields allowed on each order,
        product, category, variant, channel, or brand is 250 per client ID. For
        more information, see [Platform
        Limits](https://support.bigcommerce.com/s/article/Platform-Limits) in
        the Help Center.
  /channels/{channel_id}/metafields/{metafield_id}:
    parameters:
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/channel_id_path_param'
      - name: metafield_id
        schema:
          type: string
        in: path
        required: true
    get:
      summary: BigCommerce Get a Channel Metafield
      tags:
        - Metafields
      responses:
        '200':
          $ref: '#/components/responses/metafield_200'
      operationId: getChannelMetafield
      description: Returns a single channel metafield.
    put:
      summary: BigCommerce Update a Channel Metafield
      parameters:
        - $ref: '#/components/parameters/ContentType'
      operationId: updateChannelMetafield
      responses:
        '200':
          $ref: '#/components/responses/metafield_200'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/metafield_Put'
      tags:
        - Metafields
      description: >-
        Updates a single channel metafield.


        **Usage Notes**

        * Attempting to modify `namespace`, `key`, and `permission_set` fields
        using a client ID different from the one used to create those metafields
        will result in a `403` error message. 
    delete:
      summary: BigCommerce Delete a Channel Metafield
      operationId: deleteChannelMetafield
      responses:
        '204':
          description: No Content
      tags:
        - Metafields
      description: Deletes a single channel metafield.
  /channels/metafields:
    get:
      summary: BigCommerce Get All Channel Metafields
      tags:
        - Batch Metafields
      description: Get all channel metafields.
      operationId: getChannelsMetafields
      responses:
        '200':
          description: |
            List of `Metafield` objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponse'
        '500':
          description: Internal Server Error
      parameters:
        - $ref: '#/components/parameters/PageParam'
        - $ref: '#/components/parameters/LimitParam'
        - $ref: '#/components/parameters/MetafieldKeyParam'
        - $ref: '#/components/parameters/MetafieldKeyInParam'
        - $ref: '#/components/parameters/MetafieldNamespaceParam'
        - $ref: '#/components/parameters/MetafieldNamespaceInParam'
        - $ref: '#/components/parameters/DirectionParam'
    post:
      summary: BigCommerce Create multiple Metafields
      tags:
        - Batch Metafields
      description: Create multiple metafields.
      operationId: createChannelsMetafields
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/compon

# --- truncated at 32 KB (134 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bigcommerce/refs/heads/main/openapi/channels-openapi-original.yml