openapi: 3.1.0
info:
  title: 'Admin Catalog: Categories'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/catalog/categories:
    get:
      operationId: getCategories
      summary: List Categories
      description: >-
        When possible, use the [Catalog Trees - Get all
        categories](/developer/api-reference/rest/admin/catalog/category-trees/categories/get-all-categories) endpoint
        instead.


        Returns a list of *Categories*. Optional filter parameters can be passed in.


        **Note:**

        The default rate limit for this endpoint is 40 concurrent requests.
      tags:
        - categories
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: id
          in: query
          description: |
            Filter items by category ID.
          required: false
          schema:
            type: integer
        - name: id:in
          in: query
          description: Explicitly include objects by passing a comma-separated list of IDs.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:not_in
          in: query
          description: Exclude objects by passing a comma-separated list of IDs.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:min
          in: query
          required: false
          schema:
            type: integer
        - name: id:max
          in: query
          required: false
          schema:
            type: integer
        - name: id:greater
          in: query
          required: false
          schema:
            type: integer
        - name: id:less
          in: query
          required: false
          schema:
            type: integer
        - name: name
          in: query
          description: |
            Filter items by name.
          required: false
          schema:
            type: string
        - name: name:like
          in: query
          description: >-
            Filter items by substring in the name property. `name:like=stick` returns both `Stickers` and `Lipstick
            colors`.
          required: false
          schema:
            type: string
        - name: parent_id
          in: query
          description: Filter items by parent_id. If the category is a child or sub-category it can be filtered with the parent_id.
          required: false
          schema:
            type: integer
        - name: parent_id:in
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: parent_id:min
          in: query
          required: false
          schema:
            type: integer
        - name: parent_id:max
          in: query
          required: false
          schema:
            type: integer
        - name: parent_id:greater
          in: query
          required: false
          schema:
            type: integer
        - name: parent_id:less
          in: query
          required: false
          schema:
            type: integer
        - name: page_title
          in: query
          description: |
            Filter items by page_title.
          required: false
          schema:
            type: string
        - name: page_title:like
          in: query
          description: >-
            Filter items by substring in the page title property. `page_title:like=oil` returns both `Soil and mulch`
            and `Oil pastels`.
          required: false
          schema:
            type: string
        - name: keyword
          in: query
          description: Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name.
          required: false
          schema:
            type: string
        - name: is_visible
          in: query
          description: Filter items based on whether the product is currently visible on the storefront.
          required: false
          schema:
            type: boolean
        - name: sort
          in: query
          description: |-
            Controls the sort order of the response, for example, `sort=name`.

            Allowed values: 
            - `name`: sort categories in alphabetical order by category name.
            - `id`: sort in ascending order by category ID.
            - `parent_id`: sort in ascending order by the ID of the parent category.
            - `sort_order`: sort in ascending order by sort order value.
          required: false
          schema:
            $ref: '#/components/schemas/CatalogCategoriesGetParametersSort'
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of results.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: |
            Controls the number of items per page in a limited (paginated) list of results.
          required: false
          schema:
            type: integer
        - name: include_fields
          in: query
          description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: exclude_fields
          in: query
          description: >-
            Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID
            cannot be excluded.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Categories_getCategories_Response_200'
    post:
      operationId: createCategory
      summary: Create Category
      description: "When possible, use the [Category Trees - Create categories](/developer/api-reference/rest/admin/catalog/category-trees/categories/create-categories) endpoint instead.\n\nCreates a *Category*.\n\nUse this endpoint when an API only works with categories of a default BigCommerce storefront (`channel_id=1`). \n\nUse the [Create categories](/developer/api-reference/rest/admin/catalog/category-trees/categories/create-categories) endpoint when an API works with categories across different category trees that belong to different storefront channels.\n\n**Required Fields**:\n- `parent_id`: \n\t- To create a child category, set the `parent_id` to the parent category.\n\t- To create a top level category, set the `parent_id` to `0`.\n- `name`\n\n**Read-Only Fields**:\n- `id`\n\n**Limits**:\n- 16,000 categories per store limit.\n- 1,000 categories per product limit.\n- 50 characters category name length.\n- 8 levels of child categories depth limit.\n- 65,535 characters category description length limit."
      tags:
        - categories
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Categories_createCategory_Response_200'
        '409':
          description: >
            The `Category` was in conflict with another category. This is the result of duplicate unique values, such as
            `name` or `custom_url`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoryRequestConflictError'
        '422':
          description: >
            The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the
            response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoryRequestUnprocessableEntityError'
      requestBody:
        description: Common Category object properties.
        content:
          application/json:
            schema:
              type: object
              properties:
                parent_id:
                  type: integer
                  description: >-
                    The unique numeric ID of the categoryʼs parent. This field controls where the category sits in the
                    tree of categories that organize the catalog.

                    Required in a POST if creating a child category.
                name:
                  type: string
                  description: >-
                    The name displayed for the category. The name must be unique with respect to the category of
                    siblings on the same level (you can duplicate the name for other siblings on another level).
                    Required in a POST.
                description:
                  type: string
                  description: |
                    The category description, which can include HTML formatting.
                views:
                  type: integer
                  description: |
                    Number of views the category has on the storefront.
                sort_order:
                  type: integer
                  description: >
                    Priority this category will be given when included in the menu and category pages. The lower the
                    number, the closer to the top of the results the category will be.
                page_title:
                  type: string
                  description: >
                    Custom title for the category page. If not defined, the category name will be used as the meta
                    title.
                search_keywords:
                  type: string
                  description: |
                    A comma-separated list of keywords that can be used to locate the category when searching the store.
                meta_keywords:
                  type: array
                  items:
                    type: string
                  description: >
                    Custom meta keywords for the category page. If not defined, the storeʼs default keywords will be
                    used. Must post as an array like: ["awesome","sauce"].
                meta_description:
                  type: string
                  description: >
                    Custom meta description for the category page. If not defined, the storeʼs default meta description
                    will be used.
                layout_file:
                  type: string
                  description: >
                    A valid layout file. Please refer to [the article on creating category files (Help
                    Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This
                    field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme
                    applied, see [Custom Template
                    Associations](/developer/api-reference/rest/admin/content/custom-template-associations).
                is_visible:
                  type: boolean
                  description: >
                    Flag to determine whether the category should be displayed to customers browsing the store. If
                    `true`, the category will be displayed. If `false`, the category will be hidden from view.
                default_product_sort:
                  $ref: '#/components/schemas/CatalogCategoriesPostRequestBodyContentApplicationJsonSchemaDefaultProductSort'
                  description: |
                    Determines how the products are sorted on category page load.
                image_url:
                  type: string
                  description: >
                    Image URL used for this category on the storefront. Images can be uploaded using form file post to
                    `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image
                    extension like .jpg or .png is required.
                custom_url:
                  $ref: '#/components/schemas/CatalogCategoriesPostRequestBodyContentApplicationJsonSchemaCustomUrl'
                  description: >-
                    The custom URL for the category on the storefront. If not provided, the URL will be autogenerated
                    from the category name.
              required:
                - parent_id
                - name
    delete:
      operationId: deleteCategories
      summary: Delete Categories
      description: >-
        When possible, use the [Category Trees - Delete
        categories](/developer/api-reference/rest/admin/catalog/category-trees/categories/delete-tree-categories)
        endpoint instead.


        Deletes *Category* objects. At least one filter parameter is required to perform the `DELETE` operation.


        **Usage Notes**


        - Sending a `DELETE`request without specifying a filter parameter will result in a `422` error. 

        - Sending a `DELETE` request for a category that contains products will result in a `422` error. Move products
        to a new category by sending a `PUT` request to the `/catalog/products/{product_id}` endpoint before deleting a
        category.
      tags:
        - categories
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: id
          in: query
          description: |
            Filter items by category ID.
          required: false
          schema:
            type: integer
        - name: id:in
          in: query
          description: Explicitly include objects by passing a comma-separated list of IDs.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:not_in
          in: query
          description: Exclude objects by passing a comma-separated list of IDs.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:min
          in: query
          required: false
          schema:
            type: integer
        - name: id:max
          in: query
          required: false
          schema:
            type: integer
        - name: id:greater
          in: query
          required: false
          schema:
            type: integer
        - name: id:less
          in: query
          required: false
          schema:
            type: integer
        - name: name
          in: query
          description: |
            Filter items by name.
          required: false
          schema:
            type: string
        - name: parent_id
          in: query
          description: Filter items by parent_id. If the category is a child or sub-category it can be filtered with the parent_id.
          required: false
          schema:
            type: integer
        - name: page_title
          in: query
          description: |
            Filter items by page_title.
          required: false
          schema:
            type: string
        - name: keyword
          in: query
          description: Filter items by keywords found in the `name`, `description`, or `sku` fields, or in the brand name.
          required: false
          schema:
            type: string
        - name: is_visible
          in: query
          description: Filter items based on whether the product is currently visible on the storefront.
          required: false
          schema:
            type: boolean
        - name: name:like
          in: query
          description: >-
            Filter items by substring in the name property. `name:like=stick` returns both `Stickers` and `Lipstick
            colors`.
          required: false
          schema:
            type: string
        - name: parent_id:in
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: parent_id:min
          in: query
          required: false
          schema:
            type: integer
        - name: parent_id:max
          in: query
          required: false
          schema:
            type: integer
        - name: parent_id:greater
          in: query
          required: false
          schema:
            type: integer
        - name: parent_id:less
          in: query
          required: false
          schema:
            type: integer
        - name: page_title:like
          in: query
          description: >-
            Filter items by substring in the page title property. `page_title:like=oil` returns both `Soil and mulch`
            and `Oil pastels`.
          required: false
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v3/catalog/categories/{category_id}:
    get:
      operationId: getCategory
      summary: Get Category
      description: >-
        When possible, use the [Catalog Trees - Get all
        categories](/developer/api-reference/rest/admin/catalog/category-trees/categories/get-all-categories) endpoint
        instead. You can provide a category identifier using query parameters to retrieve a single category.


        Returns a single *Category*. Optional parameters can be passed in.


        **Note:**

        The default rate limit for this endpoint is 40 concurrent requests.
      tags:
        - categories
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: include_fields
          in: query
          description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: exclude_fields
          in: query
          description: >-
            Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID
            cannot be excluded.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Categories_getCategory_Response_200'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCategoryRequestNotFoundError'
    put:
      operationId: updateCategory
      summary: Update Category
      description: >-
        When possible, use the [Catalog Trees - Update
        categories](/developer/api-reference/rest/admin/catalog/category-trees/categories/update-categories) endpoint
        instead.


        Updates a *Category*.


        **Required Fields**

        * none


        **Read-Only Fields**

        - id


        **Note:** 

        The default rate limit for this endpoint is 40 concurrent requests.
      tags:
        - categories
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Categories_updateCategory_Response_200'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCategoryRequestNotFoundError'
        '409':
          description: >-
            The `Category` was in conflict with another category. This is the result of duplicate unique values, such as
            `name` or `custom_url`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCategoryRequestConflictError'
        '422':
          description: >-
            The `Category` was not valid. This is the result of missing required fields, or of invalid data. See the
            response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCategoryRequestUnprocessableEntityError'
      requestBody:
        description: Common Category object properties.
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: |-
                    Unique ID of the *Category*. Increments sequentially.
                    Read-Only.
                parent_id:
                  type: integer
                  description: >-
                    The unique numeric ID of the categoryʼs parent. This field controls where the category sits in the
                    tree of categories that organize the catalog.

                    Required in a POST if creating a child category.
                name:
                  type: string
                  description: >-
                    The name displayed for the category. The name must be unique with respect to the category of
                    siblings on the same level (you can duplicate the name for other siblings on another level).
                    Required in a POST.
                description:
                  type: string
                  description: |
                    The product description, which can include HTML formatting.
                views:
                  type: integer
                  description: |
                    Number of views the category has on the storefront.
                sort_order:
                  type: integer
                  description: >
                    Priority this category will be given when included in the menu and category pages. The lower the
                    number, the closer to the top of the results the category will be.
                page_title:
                  type: string
                  description: >
                    Custom title for the category page. If not defined, the category name will be used as the meta
                    title.
                search_keywords:
                  type: string
                  description: |
                    A comma-separated list of keywords that can be used to locate the category when searching the store.
                meta_keywords:
                  type: array
                  items:
                    type: string
                  description: >
                    Custom meta keywords for the category page. If not defined, the storeʼs default keywords will be
                    used. Must post as an array like: ["awesome","sauce"].
                meta_description:
                  type: string
                  description: >
                    Custom meta description for the category page. If not defined, the storeʼs default meta description
                    will be used.
                layout_file:
                  type: string
                  description: >
                    A valid layout file. Please refer to [the article on creating category files (Help
                    Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This
                    field is writable only for stores with a Blueprint theme applied. For stores with a Stencil theme
                    applied, see [Custom Template
                    Associations](/developer/api-reference/rest/admin/content/custom-template-associations).
                is_visible:
                  type: boolean
                  description: >
                    Flag to determine whether the product should be displayed to customers browsing the store. If
                    `true`, the category will be displayed. If `false`, the category will be hidden from view.
                default_product_sort:
                  $ref: >-
                    #/components/schemas/CatalogCategoriesCategoryIdPutRequestBodyContentApplicationJsonSchemaDefaultProductSort
                  description: |
                    Determines how the products are sorted on category page load.
                image_url:
                  type: string
                  description: >
                    Image URL used for this category on the storefront. Images can be uploaded using form file post to
                    `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image
                    extension like .jpg or .png is required.
                custom_url:
                  $ref: '#/components/schemas/CatalogCategoriesCategoryIdPutRequestBodyContentApplicationJsonSchemaCustomUrl'
                  description: The custom URL for the category on the storefront.
              required:
                - parent_id
                - name
    delete:
      operationId: deleteCategory
      summary: Delete Category
      description: >-
        When possible, use the [Category Trees - Delete
        categories](/developer/api-reference/rest/admin/catalog/category-trees/categories/delete-tree-categories)
        endpoint instead. You can provide a category identifier using query parameters to delete a single category.


        Deletes a *Category*.


        **Note:**

        The default rate limit for this endpoint is 40 concurrent requests.
      tags:
        - categories
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v3/catalog/categories/metafields:
    get:
      operationId: getCategoriesMetafields
      summary: List Category Metafields
      description: Get all category metafields.
      tags:
        - batchMetafields
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of results.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: |
            Controls the number of items per page in a limited (paginated) list of results.
          required: false
          schema:
            type: integer
        - name: key
          in: query
          description: Filter based on a metafieldʼs key.
          required: false
          schema:
            type: string
        - name: key:in
          in: query
          description: Filter based on comma-separated metafieldʼs keys. Could be used with vanilla `key` query parameter.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: namespace
          in: query
          description: Filter based on a metafieldʼs namespaces.
          required: false
          schema:
            type: string
        - name: namespace:in
          in: query
          description: >-
            Filter based on comma-separated metafieldʼs namespaces. Could be used with vanilla `namespace` query
            parameter.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: direction
          in: query
          description: |
            Sort direction. Acceptable values are: `asc`, `desc`.
          required: false
          schema:
            $ref: '#/components/schemas/CatalogCategoriesMetafieldsGetParametersDirection'
        - name: include_fields
          in: query
          description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
          required: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/CatalogCategoriesMetafieldsGetParametersIncludeFieldsSchemaItems'
        - name: date_modified:min
          in: query
          description: >
            'Query parameter that lets you filter by the minimum date modified created, for example,
            `2024-05-14T09:34:00` or `2024-05-14`. Returns metafields modified after this date.'
          required: false
          schema:
            type: string
        - name: date_modified:max
          in: query
          description: >
            'Query parameter that lets you filter by the maximum date modified created, for example,
            `2024-05-14T09:34:00` or `2024-05-14`. Returns metafields modified before this date.'
          required: false
          schema:
            type: string
        - name: date_created:min
          in: query
          description: >
            'Query parameter that lets you filter by the minimum date created, for example, `2024-05-14T09:34:00` or
            `2024-05-14`. Returns metafields created after this date.'
          required: false
          schema:
            type: string
        - name: date_created:max
          in: query
          description: >
            'Query parameter that lets you filter by the maximum date created, for example, `2024-05-14T09:34:00` or
            `2024-05-14`. Returns metafields created before this date.'
          required: false
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: |
            List of `Metafield` objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponse'
    post:
      operationId: createCategoriesMetafields
      summary: Create Multiple Metafields
      description: Create multiple metafields.
      tags:
        - batchMetafields
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: |
            List of created `Metafield` objects.  
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponse_POST_PUT'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoriesMetafieldsRequestBadRequestError'
        '422':
          description: |
            Response object for metafields creation with partial success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponsePartialSuccess_POST_PUT'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CatalogCategoriesMetafieldsPostRequestBodyContentApplicationJsonSchemaItems'
    put:
      operationId: updateCategoriesMetafields
      summary: Update Multiple Metafields
      description: Create multiple metafields.
      tags:
        - batchMetafields
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: |
            List of updated `Metafield` objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponse_POST_PUT'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCategoriesMetafieldsRequestBadRequestError'
        '422':
          description: |
            Response object for metafields creation with partial success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponsePartialSuccess_POST_PUT'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CatalogCategoriesMetafieldsPutRequestBodyContentApplicationJsonSchemaItems'
    delete:
      operationId: deleteCategoriesMetafields
      summary: Delete Multiple Metafields
      description: Delete all category metafields.
      tags:
        - batchMetafields
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: |
            Response object for metafields deletion with success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionDeleteResponseSuccess'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCategoriesMetafieldsRequestBadRequestError'
        '422':
          description: |
            Response object for metafields deletion with partial success.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetaFieldCollectionResponsePartialSuccess_DELETE'
      requestBody:
        description: List of metafield IDs.
        content:
          application/json:
            schema:
              type: array
              items:
                type: integer
  /stores/{store_hash}/v3/catalog/categories/{category_id}/image:
    post:
      operationId: createCategoryImage
      summary: Create Category Image
      description: >-
        Create a *Category Image*.

         **Required Fields**
        - image_file: Form posts are the only accepted upload option.


        Only one image at a time can be created.


        Supported file types are `JPEG/JPG`, `GIF`, `PNG` and `ICO`.


        Limit image size to `8MB`.

        To update a *Category Image*, use the [Update
        categories](/developer/api-reference/rest/admin/catalog/category-trees/categories/update-categories) endpoint
        and an `image_url`.
      tags:
        - images
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Images_createCategoryImage_Response_200'
        '400':
          description: >-
            Bad Request. The requested resource could not be downloaded and may be invalid. Possible reasons include
            malformed request syntax or the file host blocking requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoryImageRequestBadRequestError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoryImageRequestNotFoundError'
        '422':
          description: >
            Image was not valid. This is the result of a missing `image_file` field or an incorrect file type. See the
            response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoryImageRequestUnprocessableEntityError'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
    delete:
      operationId: deleteCategoryImage
      summary: Delete Category Image
      description: Deletes a *Category Image*.
      tags:
        - images
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCategoryImageRequestNotFoundError'
  /stores/{store_hash}/v3/catalog/categories/{category_id}/metafields:
    get:
      operationId: getCategoryMetafields
      summary: List Category Metafields
      description: Returns a list of *Metafields* on a *Category*. Optional filter parameters can be passed in.
      tags:
        - metafields
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: id
          in: query
          description: |
            Filter items by metafield ID.
          required: false
          schema:
            type: integer
        - name: id:in
          in: query
          description: Explicitly include objects by passing a comma-separated list of IDs.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:not_in
          in: query
          description: Exclude objects by passing a comma-separated list of IDs.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:min
          in: query
          required: false
          schema:
            type: integer
        - name: id:max
          in: query
          required: false
          schema:
            type: integer
        - name: id:greater
          in: query
          required: false
          schema:
            type: integer
        - name: id:less
          in: query
          required: false
          schema:
            type: integer
        - name: key
          in: query
          description: Filter based on a metafieldʼs key.
          required: false
          schema:
            type: string
        - name: namespace
          in: query
          description: Filter based on a metafieldʼs namespaces.
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of results.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: |
            Controls the number of items per page in a limited (paginated) list of results.
          required: false
          schema:
            type: integer
        - name: include_fields
          in: query
          description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: exclude_fields
          in: query
          description: >-
            Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID
            cannot be excluded.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metafields_getCategoryMetafields_Response_200'
    post:
      operationId: createCategoryMetafield
      summary: Create Category Metafield
      description: >-
        Creates a *Category Metafield*.


        **Required Fields:**

        - permission_set

        - namespace

        - key

        - value


        **Read-Only Fields**

        - id


        **Note:** The maximum number of metafields allowed on each order, product, category, variant, or brand is 250
        per client ID. For more information, see [Platform Limits (Help
        Center)](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.
      tags:
        - metafields
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metafields_createCategoryMetafield_Response_200'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoryMetafieldRequestBadRequestError'
        '409':
          description: >
            The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate, unique key
            combinations of the appʼs client id, namespace, key, resource_type, and resource_id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoryMetafieldRequestConflictError'
        '422':
          description: >
            The `Metafield` was not valid. This is the result of missing required fields, or of invalid data. See the
            response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateCategoryMetafieldRequestUnprocessableEntityError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/metafield_Base'
  /stores/{store_hash}/v3/catalog/categories/{category_id}/metafields/{metafield_id}:
    get:
      operationId: getCategoryMetafield
      summary: Get Category Metafield
      description: Returns a single *Category Metafield*. Optional parameters can be passed in.
      tags:
        - metafields
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: metafield_id
          in: path
          description: |
            The ID of the `Metafield`.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: include_fields
          in: query
          description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: exclude_fields
          in: query
          description: >-
            Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID
            cannot be excluded.
          required: false
          schema:
            type: array
            items:
              type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metafields_getCategoryMetafield_Response_200'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetCategoryMetafieldRequestNotFoundError'
    put:
      operationId: updateCategoryMetafield
      summary: Update Category Metafield
      description: "Updates a *Category Metafield*.\n\n**Required Fields**\n* none\n\n**Read-Only Fields**\n* id\n* These fields can only be modified by the app (API credentials) that created the metafield:\n\t* namespace\n\t* key\n\t* permission_set\n\n**Usage Notes**\n* 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. "
      tags:
        - metafields
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: metafield_id
          in: path
          description: |
            The ID of the `Metafield`.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Metafields_updateCategoryMetafield_Response_200'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCategoryMetafieldRequestBadRequestError'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateCategoryMetafieldRequestNotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/metafield_Base'
    delete:
      operationId: deleteCategoryMetafield
      summary: Delete Category Metafield
      description: Deletes a *Category Metafield*.
      tags:
        - metafields
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: metafield_id
          in: path
          description: |
            The ID of the `Metafield`.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '204':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteCategoryMetafieldRequestNotFoundError'
  /stores/{store_hash}/v3/catalog/categories/{category_id}/products/sort-order:
    get:
      operationId: getCategorySortOrders
      summary: Get Product Sort Order
      description: >-
        Returns a list of products and their sort order for a specific category.


        **Limits**


        - page=2&limit=250 will return page 2 of the results with 250 items per page.


        **Usage Notes**


        * Product sort order only takes effect on the storefront when sorting by **Featured Items** in the category. See
        [Sort Order](https://support.bigcommerce.com/s/article/Sort-Order) for more information.

        * Data pairs are displayed in ascending order based on products' `sort_order` values.

        * `null` values are allowed for products without specified `sort_order` values.

        * Products with `sort_order` value of `null` will be displayed after products with valid numerical values.

        * The priorities for determining product sort order on a storefront are the following:
            * Priority 1: Manually specified sort order on Category Level (API).
            * Priority 2: Manually specified sort order on Product (Global) Level (UI/API).
            * Priority 3: Default sorting by Product ID (newly added products go first) (UI/API).
            
      tags:
        - sortOrder
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of results.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sort order_getCategorySortOrders_Response_200'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The requested category was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
    put:
      operationId: updateCategorySortOrders
      summary: Update Product Sort Order
      description: Updates sort order of products within a specific category.
      tags:
        - sortOrder
      parameters:
        - name: category_id
          in: path
          description: |
            The ID of the `Category` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of results.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Products | modify | `store_v2_products` |

            |  Products | read-only | `store_v2_products_read_only` |


            ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


            ### Further reading


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


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


            For a list of API status codes, see [API Status
            Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
          required: true
          schema:
            type: string
        - name: Accept
          in: header
          description: >-
            The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response
            body.
          required: true
          schema:
            type: string
            default: application/json
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/productSortOrder'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: The requested category was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '422':
          description: |-
            Unprocessable entity.

            Please verify if all requested products are assigned to the category.

            Please verify if all required fields are present in the request body and are filled with values correctly.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/productSortOrder'
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    CatalogCategoriesGetParametersSort:
      type: string
      enum:
        - name
        - id
        - parent_id
        - sort_order
      title: CatalogCategoriesGetParametersSort
    CategoryDefaultProductSort:
      type: string
      enum:
        - use_store_settings
        - featured
        - newest
        - best_selling
        - alpha_asc
        - alpha_desc
        - avg_customer_review
        - price_asc
        - price_desc
      description: |
        Determines how the products are sorted on category page load.
      title: CategoryDefaultProductSort
    Url:
      type: object
      properties:
        url:
          type: string
        is_customized:
          type: boolean
      title: Url
    Category:
      type: object
      properties:
        id:
          type: integer
          description: |-
            Unique ID of the *Category*. Increments sequentially.
            Read-Only.
        parent_id:
          type: integer
          description: >-
            The unique numeric ID of the categoryʼs parent. This field controls where the category sits in the tree of
            categories that organize the catalog.

            Required in a POST if creating a child category.
        name:
          type: string
          description: |-
            The name displayed for the category. Name is unique with respect to the categoryʼs siblings.
            Required in a POST.
        description:
          type: string
          description: |
            The product description, which can include HTML formatting.
        views:
          type: integer
          description: |
            Number of views the category has on the storefront.
        sort_order:
          type: integer
          description: >
            Priority this category will be given when included in the menu and category pages. The lower the number, the
            closer to the top of the results the category will be.
        page_title:
          type: string
          description: |
            Custom title for the category page. If not defined, the category name will be used as the meta title.
        meta_keywords:
          type: array
          items:
            type: string
          description: >
            Custom meta keywords for the category page. If not defined, the storeʼs default keywords will be used. Must
            post as an array like: ["awesome","sauce"].
        meta_description:
          type: string
          description: >
            Custom meta description for the category page. If not defined, the storeʼs default meta description will be
            used.
        layout_file:
          type: string
          description: >
            A valid layout file. Please refer to [the article on creating category files (Help
            Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This field is
            writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see
            [Custom Template Associations](/developer/api-reference/rest/admin/content/custom-template-associations).
        image_url:
          type: string
          description: >
            Image URL used for this category on the storefront. Images can be uploaded using form file post to
            `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image
            extension like .jpg or .png is required.
        is_visible:
          type: boolean
          description: >
            Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the
            category will be displayed. If `false`, the category will be hidden from view.
        search_keywords:
          type: string
          description: |
            A comma-separated list of keywords that can be used to locate the category when searching the store.
        default_product_sort:
          $ref: '#/components/schemas/CategoryDefaultProductSort'
          description: |
            Determines how the products are sorted on category page load.
        custom_url:
          $ref: '#/components/schemas/Url'
      title: Category
    PaginationFullLinks:
      type: object
      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.
      description: |
        Pagination links for the previous and next parts of the whole collection.
      title: PaginationFullLinks
    pagination_Full:
      type: object
      properties:
        total:
          type: integer
          description: |
            Total number of items in the result set.
        count:
          type: integer
          description: |
            Total number of items in the collection response.
        per_page:
          type: integer
          description: |
            The amount of items returned in the collection per page, controlled by the limit parameter.
        current_page:
          type: integer
          description: |
            The page you are currently on within the collection.
        total_pages:
          type: integer
          description: |
            The total number of pages in the collection.
        links:
          $ref: '#/components/schemas/PaginationFullLinks'
          description: |
            Pagination links for the previous and next parts of the whole collection.
      description: Data about the response, including pagination and collection totals.
      title: pagination_Full
    metaCollection_Full:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/pagination_Full'
      description: Data about the response, including pagination and collection totals.
      title: metaCollection_Full
    Categories_getCategories_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Category'
        meta:
          $ref: '#/components/schemas/metaCollection_Full'
      title: Categories_getCategories_Response_200
    CatalogCategoriesPostRequestBodyContentApplicationJsonSchemaDefaultProductSort:
      type: string
      enum:
        - use_store_settings
        - featured
        - newest
        - best_selling
        - alpha_asc
        - alpha_desc
        - avg_customer_review
        - price_asc
        - price_desc
      description: |
        Determines how the products are sorted on category page load.
      title: CatalogCategoriesPostRequestBodyContentApplicationJsonSchemaDefaultProductSort
    CatalogCategoriesPostRequestBodyContentApplicationJsonSchemaCustomUrl:
      type: object
      properties:
        url:
          type: string
          description: |
            Category URL on the storefront.
        is_customized:
          type: boolean
          description: >
            Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce
            provides).
      description: >-
        The custom URL for the category on the storefront. If not provided, the URL will be autogenerated from the
        category name.
      title: CatalogCategoriesPostRequestBodyContentApplicationJsonSchemaCustomUrl
    CategoryFullDefaultProductSort:
      type: string
      enum:
        - use_store_settings
        - featured
        - newest
        - best_selling
        - alpha_asc
        - alpha_desc
        - avg_customer_review
        - price_asc
        - price_desc
      description: |
        Determines how the products are sorted on category page load.
      title: CategoryFullDefaultProductSort
    customUrl_Full:
      type: object
      properties:
        url:
          type: string
          description: |
            Product URL on the storefront.
        is_customized:
          type: boolean
          description: >
            Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce
            provides).
      description: The custom URL for the product on the storefront.
      title: customUrl_Full
    category_Full:
      type: object
      properties:
        id:
          type: integer
          description: |-
            Unique ID of the *Category*. Increments sequentially.
            Read-Only.
        parent_id:
          type: integer
          description: >-
            The unique numeric ID of the categoryʼs parent. This field controls where the category sits in the tree of
            categories that organize the catalog.

            Required in a POST if creating a child category.
        name:
          type: string
          description: |-
            The name displayed for the category. Name is unique with respect to the categoryʼs siblings.
            Required in a POST.
        description:
          type: string
          description: |
            The product description, which can include HTML formatting.
        views:
          type: integer
          description: |
            Number of views the category has on the storefront.
        sort_order:
          type: integer
          description: >
            Priority this category will be given when included in the menu and category pages. The lower the number, the
            closer to the top of the results the category will be.
        page_title:
          type: string
          description: |
            Custom title for the category page. If not defined, the category name will be used as the meta title.
        search_keywords:
          type: string
          description: |
            A comma-separated list of keywords that can be used to locate the category when searching the store.
        meta_keywords:
          type: array
          items:
            type: string
          description: >
            Custom meta keywords for the category page. If not defined, the storeʼs default keywords will be used. Must
            post as an array like: ["awesome","sauce"].
        meta_description:
          type: string
          description: >
            Custom meta description for the category page. If not defined, the storeʼs default meta description will be
            used.
        layout_file:
          type: string
          description: >
            A valid layout file. Please refer to [the article on creating category files (Help
            Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This field is
            writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see
            [Custom Template Associations](/developer/api-reference/rest/admin/content/custom-template-associations).
        is_visible:
          type: boolean
          description: >
            Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the
            category will be displayed. If `false`, the category will be hidden from view.
        default_product_sort:
          $ref: '#/components/schemas/CategoryFullDefaultProductSort'
          description: |
            Determines how the products are sorted on category page load.
        image_url:
          type: string
          description: >
            Image URL used for this category on the storefront. Images can be uploaded using form file post to
            `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image
            extension like .jpg or .png is required.
        custom_url:
          $ref: '#/components/schemas/customUrl_Full'
      description: Common Category object properties.
      title: category_Full
    metaEmpty_Full:
      type: object
      properties: {}
      description: Response metadata.
      title: metaEmpty_Full
    Categories_createCategory_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/category_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Categories_createCategory_Response_200
    CatalogCategoriesPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogCategoriesPostResponsesContentApplicationJsonSchemaErrors
    CreateCategoryRequestConflictError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogCategoriesPostResponsesContentApplicationJsonSchemaErrors'
        instance:
          type: string
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: CreateCategoryRequestConflictError
    CreateCategoryRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogCategoriesPostResponsesContentApplicationJsonSchemaErrors'
        instance:
          type: string
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: CreateCategoryRequestUnprocessableEntityError
    Categories_getCategory_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/category_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Categories_getCategory_Response_200
    GetCategoryRequestNotFoundError:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: Error payload for the BigCommerce API.
      title: GetCategoryRequestNotFoundError
    CatalogCategoriesCategoryIdPutRequestBodyContentApplicationJsonSchemaDefaultProductSort:
      type: string
      enum:
        - use_store_settings
        - featured
        - newest
        - best_selling
        - alpha_asc
        - alpha_desc
        - avg_customer_review
        - price_asc
        - price_desc
      description: |
        Determines how the products are sorted on category page load.
      title: CatalogCategoriesCategoryIdPutRequestBodyContentApplicationJsonSchemaDefaultProductSort
    CatalogCategoriesCategoryIdPutRequestBodyContentApplicationJsonSchemaCustomUrl:
      type: object
      properties:
        url:
          type: string
          description: |
            Category URL on the storefront.
        is_customized:
          type: boolean
          description: >
            Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce
            provides).
      description: The custom URL for the category on the storefront.
      title: CatalogCategoriesCategoryIdPutRequestBodyContentApplicationJsonSchemaCustomUrl
    CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaDataDefaultProductSort:
      type: string
      enum:
        - use_store_settings
        - featured
        - newest
        - best_selling
        - alpha_asc
        - alpha_desc
        - avg_customer_review
        - price_asc
        - price_desc
      description: |
        Determines how the products are sorted on category page load.
      title: CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaDataDefaultProductSort
    CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaDataCustomUrl:
      type: object
      properties:
        url:
          type: string
          description: |
            Category URL on the storefront.
        is_customized:
          type: boolean
          description: >
            Returns `true` if the URL has been changed from its default state (the auto-assigned URL that BigCommerce
            provides).
      description: The custom URL for the category on the storefront.
      title: CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaDataCustomUrl
    CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: integer
          description: |-
            Unique ID of the *Category*. Increments sequentially.
            Read-Only.
        parent_id:
          type: integer
          description: >-
            The unique numeric ID of the categoryʼs parent. This field controls where the category sits in the tree of
            categories that organize the catalog.

            Required in a POST if creating a child category.
        name:
          type: string
          description: |-
            The name displayed for the category. Name is unique with respect to the categoryʼs siblings.
            Required in a POST.
        description:
          type: string
          description: |
            The product description, which can include HTML formatting.
        views:
          type: integer
          description: |
            Number of views the category has on the storefront.
        sort_order:
          type: integer
          description: >
            Priority this category will be given when included in the menu and category pages. The lower the number, the
            closer to the top of the results the category will be.
        page_title:
          type: string
          description: |
            Custom title for the category page. If not defined, the category name will be used as the meta title.
        search_keywords:
          type: string
          description: |
            A comma-separated list of keywords that can be used to locate the category when searching the store.
        meta_keywords:
          type: array
          items:
            type: string
          description: >
            Custom meta keywords for the category page. If not defined, the storeʼs default keywords will be used. Must
            post as an array like: ["awesome","sauce"].
        meta_description:
          type: string
          description: >
            Custom meta description for the category page. If not defined, the storeʼs default meta description will be
            used.
        layout_file:
          type: string
          description: >
            A valid layout file. Please refer to [the article on creating category files (Help
            Center)](https://support.bigcommerce.com/articles/Public/Creating-Custom-Template-Files/). This field is
            writable only for stores with a Blueprint theme applied. For stores with a Stencil theme applied, see
            [Custom Template Associations](/developer/api-reference/rest/admin/content/custom-template-associations).
        is_visible:
          type: boolean
          description: >
            Flag to determine whether the product should be displayed to customers browsing the store. If `true`, the
            category will be displayed. If `false`, the category will be hidden from view.
        default_product_sort:
          $ref: >-
            #/components/schemas/CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaDataDefaultProductSort
          description: |
            Determines how the products are sorted on category page load.
        image_url:
          type: string
          description: >
            Image URL used for this category on the storefront. Images can be uploaded using form file post to
            `/categories/{categoryId}/image`, or by providing a publicly accessible URL in this field. An image
            extension like .jpg or .png is required.
        custom_url:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaDataCustomUrl'
          description: The custom URL for the category on the storefront.
      description: Common Category object properties.
      title: CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaData
    CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      description: Empty meta object; may be used later.
      title: CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaMeta
    Categories_updateCategory_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaData'
          description: Common Category object properties.
        meta:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaMeta'
          description: Empty meta object; may be used later.
      title: Categories_updateCategory_Response_200
    UpdateCategoryRequestNotFoundError:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: Error payload for the BigCommerce API.
      title: UpdateCategoryRequestNotFoundError
    CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaErrors
    UpdateCategoryRequestConflictError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaErrors'
        instance:
          type: string
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: UpdateCategoryRequestConflictError
    UpdateCategoryRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdPutResponsesContentApplicationJsonSchemaErrors'
        instance:
          type: string
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: UpdateCategoryRequestUnprocessableEntityError
    CatalogCategoriesMetafieldsGetParametersDirection:
      type: string
      enum:
        - asc
        - desc
      title: CatalogCategoriesMetafieldsGetParametersDirection
    CatalogCategoriesMetafieldsGetParametersIncludeFieldsSchemaItems:
      type: string
      enum:
        - resource_id
        - key
        - value
        - namespace
        - permission_set
        - resource_type
        - description
        - owner_client_id
        - date_created
        - date_modified
      title: CatalogCategoriesMetafieldsGetParametersIncludeFieldsSchemaItems
    MetafieldPermissionSet:
      type: string
      enum:
        - app_only
        - read
        - write
        - read_and_sf_access
        - write_and_sf_access
      description: |
        Determines the visibility and writeability of the field by other API consumers.
        | Value | Description |
        | :--- | :--- |
        | `app_only` | Private to the app that owns the field. |
        | `read` | Visible to other API consumers. |
        | `write` | Open for reading and writing by other API consumers. |
        | `read_and_sf_access` | Visible to other API consumers, including on the storefront. |
        | `write_and_sf_access` | Open for reading and writing by other API consumers, including on the storefront. |
      title: MetafieldPermissionSet
    MetafieldResourceType:
      type: string
      enum:
        - brand
        - product
        - variant
        - category
        - cart
        - channel
        - location
        - order
        - customer
      description: |
        The type of resource with which the metafield is associated.
      title: MetafieldResourceType
    Metafield:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/MetafieldPermissionSet'
          description: >
            Determines the visibility and writeability of the field by other API consumers.

            | Value | Description |

            | :--- | :--- |

            | `app_only` | Private to the app that owns the field. |

            | `read` | Visible to other API consumers. |

            | `write` | Open for reading and writing by other API consumers. |

            | `read_and_sf_access` | Visible to other API consumers, including on the storefront. |

            | `write_and_sf_access` | Open for reading and writing by other API consumers, including on the storefront.
            |
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes.
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`.
        description:
          type: string
          description: |
            Description for the metafields.
        resource_type:
          $ref: '#/components/schemas/MetafieldResourceType'
          description: |
            The type of resource with which the metafield is associated.
        resource_id:
          type: integer
          description: |
            The unique identifier for the resource with which the metafield is associated.
        id:
          type: integer
          description: The unique identifier for the metafield.
        date_created:
          type: string
          format: date-time
          description: Date and time of the metafieldʼs creation.
        date_modified:
          type: string
          format: date-time
          description: Date and time when the metafield was last updated.
        owner_client_id:
          type: string
          description: Client ID for the metafieldʼs creator.
      description: |
        Common Metafield properties.
      title: Metafield
    CollectionMetaPaginationLinks:
      type: object
      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.
      description: |
        Pagination links for the previous and next parts of the whole collection.
      title: CollectionMetaPaginationLinks
    CollectionMetaPagination:
      type: object
      properties:
        total:
          type: integer
          description: |
            Total number of items in the result set.
        count:
          type: integer
          description: |
            Total number of items in the collection response.
        per_page:
          type: integer
          description: |
            The amount of items returned in the collection per page, controlled by the limit parameter.
        current_page:
          type: integer
          description: |
            The page you are currently on within the collection.
        total_pages:
          type: integer
          description: |
            The total number of pages in the collection.
        links:
          $ref: '#/components/schemas/CollectionMetaPaginationLinks'
          description: |
            Pagination links for the previous and next parts of the whole collection.
      description: Data about the response, including pagination and collection totals.
      title: CollectionMetaPagination
    CollectionMeta:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/CollectionMetaPagination'
          description: Data about the response, including pagination and collection totals.
      description: Data about the response, including pagination and collection totals.
      title: CollectionMeta
    MetaFieldCollectionResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        meta:
          $ref: '#/components/schemas/CollectionMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionResponse
    CatalogCategoriesMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet:
      type: string
      enum:
        - app_only
        - read
        - write
        - read_and_sf_access
        - write_and_sf_access
      description: |
        Determines the visibility and writeability of the field by other API consumers.
        | Value | Description |
        | :--- | :--- |
        | `app_only` | Private to the app that owns the field. |
        | `read` | Visible to other API consumers. |
        | `write` | Open for reading and writing by other API consumers. |
        | `read_and_sf_access` | Visible to other API consumers, including on the storefront. |
        | `write_and_sf_access` | Open for reading and writing by other API consumers, including on the storefront. |
      title: CatalogCategoriesMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet
    CatalogCategoriesMetafieldsPostRequestBodyContentApplicationJsonSchemaItems:
      type: object
      properties:
        permission_set:
          $ref: >-
            #/components/schemas/CatalogCategoriesMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet
          description: >
            Determines the visibility and writeability of the field by other API consumers.

            | Value | Description |

            | :--- | :--- |

            | `app_only` | Private to the app that owns the field. |

            | `read` | Visible to other API consumers. |

            | `write` | Open for reading and writing by other API consumers. |

            | `read_and_sf_access` | Visible to other API consumers, including on the storefront. |

            | `write_and_sf_access` | Open for reading and writing by other API consumers, including on the storefront.
            |
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes.
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`.
        description:
          type: string
          description: |
            Description for the metafields.
        resource_id:
          type: integer
          description: |
            The ID for the category with which the metafield is associated.
      required:
        - permission_set
        - namespace
        - key
        - value
        - resource_id
      description: |
        Common Metafield properties.
      title: CatalogCategoriesMetafieldsPostRequestBodyContentApplicationJsonSchemaItems
    MetaFieldCollectionResponse_POST_PUT:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        errors:
          type: array
          items:
            description: Any type
          description: Empty for 200 responses.
        meta:
          $ref: '#/components/schemas/CollectionMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionResponse_POST_PUT
    CreateCategoriesMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: CreateCategoriesMetafieldsRequestBadRequestError
    ErrorDetail:
      type: object
      properties: {}
      description: |
        Error detail response payload for the BigCommerce API.
      title: ErrorDetail
    Error:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code for the error.
        title:
          type: string
          description: |
            The error title.
        type:
          type: string
          description: |
            The error type.
        errors:
          $ref: '#/components/schemas/ErrorDetail'
      description: |
        Error response payload for the BigCommerce API.
      title: Error
    WriteCollectionPartialSuccessMeta:
      type: object
      properties:
        total:
          type: integer
          description: |
            Total number of items in the result set.
        success:
          type: integer
          description: |
            Total number of items that were successfully deleted.
        failed:
          type: integer
          description: |
            Total number of items that failed to be deleted.
      description: Additional data about the response.
      title: WriteCollectionPartialSuccessMeta
    MetaFieldCollectionResponsePartialSuccess_POST_PUT:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Metafield'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        meta:
          $ref: '#/components/schemas/WriteCollectionPartialSuccessMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionResponsePartialSuccess_POST_PUT
    CatalogCategoriesMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet:
      type: string
      enum:
        - app_only
        - read
        - write
        - read_and_sf_access
        - write_and_sf_access
      description: |
        Determines the visibility and writeability of the field by other API consumers.
        | Value | Description |
        | :--- | :--- |
        | `app_only` | Private to the app that owns the field. |
        | `read` | Visible to other API consumers. |
        | `write` | Open for reading and writing by other API consumers. |
        | `read_and_sf_access` | Visible to other API consumers, including on the storefront. |
        | `write_and_sf_access` | Open for reading and writing by other API consumers, including on the storefront. |
      title: CatalogCategoriesMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet
    CatalogCategoriesMetafieldsPutRequestBodyContentApplicationJsonSchemaItems:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/CatalogCategoriesMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet'
          description: >
            Determines the visibility and writeability of the field by other API consumers.

            | Value | Description |

            | :--- | :--- |

            | `app_only` | Private to the app that owns the field. |

            | `read` | Visible to other API consumers. |

            | `write` | Open for reading and writing by other API consumers. |

            | `read_and_sf_access` | Visible to other API consumers, including on the storefront. |

            | `write_and_sf_access` | Open for reading and writing by other API consumers, including on the storefront.
            |
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes.
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`.
        description:
          type: string
          description: |
            Description for the metafields.
        id:
          type: integer
          description: |
            The ID of metafield to update.
      required:
        - id
      description: |
        Common Metafield properties.
      title: CatalogCategoriesMetafieldsPutRequestBodyContentApplicationJsonSchemaItems
    UpdateCategoriesMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: UpdateCategoriesMetafieldsRequestBadRequestError
    WriteCollectionSuccessMeta:
      type: object
      properties:
        total:
          type: integer
          description: |
            Total number of items in the result set.
        success:
          type: integer
          description: |
            Total number of items that were successfully deleted.
        failed:
          type: integer
          description: |
            Total number of items that failed to be deleted.
      description: Additional data about the response.
      title: WriteCollectionSuccessMeta
    MetaFieldCollectionDeleteResponseSuccess:
      type: object
      properties:
        data:
          type: array
          items:
            type: integer
        errors:
          type: array
          items:
            description: Any type
          description: Empty for 200 responses.
        meta:
          $ref: '#/components/schemas/WriteCollectionSuccessMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionDeleteResponseSuccess
    DeleteCategoriesMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: DeleteCategoriesMetafieldsRequestBadRequestError
    MetaFieldCollectionResponsePartialSuccess_DELETE:
      type: object
      properties:
        data:
          type: array
          items:
            type: integer
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
        meta:
          $ref: '#/components/schemas/WriteCollectionPartialSuccessMeta'
      description: |
        Response payload for the BigCommerce API.
      title: MetaFieldCollectionResponsePartialSuccess_DELETE
    CatalogCategoriesCategoryIdImagePostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        image_url:
          type: string
      title: CatalogCategoriesCategoryIdImagePostResponsesContentApplicationJsonSchemaData
    Images_createCategoryImage_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdImagePostResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Images_createCategoryImage_Response_200
    CreateCategoryImageRequestBadRequestError:
      type: object
      properties: {}
      title: CreateCategoryImageRequestBadRequestError
    CreateCategoryImageRequestNotFoundError:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: Error payload for the BigCommerce API.
      title: CreateCategoryImageRequestNotFoundError
    CatalogCategoriesCategoryIdImagePostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogCategoriesCategoryIdImagePostResponsesContentApplicationJsonSchemaErrors
    CreateCategoryImageRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdImagePostResponsesContentApplicationJsonSchemaErrors'
        instance:
          type: string
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: CreateCategoryImageRequestUnprocessableEntityError
    DeleteCategoryImageRequestNotFoundError:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: Error payload for the BigCommerce API.
      title: DeleteCategoryImageRequestNotFoundError
    MetafieldBasePermissionSet:
      type: string
      enum:
        - app_only
        - read
        - write
        - read_and_sf_access
        - write_and_sf_access
      description: |-
        Determines the visibility and writeability of the field by other API consumers.

        |Value|Description
        |-|-|
        |`app_only`|Private to the app that owns the field|
        |`read`|Visible to other API consumers|
        |`write`|Open for reading and writing by other API consumers|
        |`read_and_sf_access`|Visible to other API consumers, including on storefront|
        |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
      title: MetafieldBasePermissionSet
    MetafieldFullResourceType:
      type: string
      enum:
        - category
        - brand
        - product
        - variant
      description: |
        The type of resource with which the metafield is associated.
      title: MetafieldFullResourceType
    metafield_Full:
      type: object
      properties:
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`. Required for POST.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`. Required for POST.
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST.
        permission_set:
          $ref: '#/components/schemas/MetafieldBasePermissionSet'
          description: |-
            Determines the visibility and writeability of the field by other API consumers.

            |Value|Description
            |-|-|
            |`app_only`|Private to the app that owns the field|
            |`read`|Visible to other API consumers|
            |`write`|Open for reading and writing by other API consumers|
            |`read_and_sf_access`|Visible to other API consumers, including on storefront|
            |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
        description:
          type: string
          description: |
            Description for the metafields.
        id:
          type: integer
          description: Unique ID of the *Metafield*. Read-Only.
        resource_type:
          $ref: '#/components/schemas/MetafieldFullResourceType'
          description: |
            The type of resource with which the metafield is associated.
        resource_id:
          type: integer
          description: |
            The ID of the resource with which the metafield is associated.
        date_created:
          type: string
          format: date-time
          description: |
            Date and time of the metafieldʼs creation. Read-Only.
        date_modified:
          type: string
          format: date-time
          description: |
            Date and time when the metafield was last updated. Read-Only.
      required:
        - key
        - value
        - namespace
        - permission_set
      title: metafield_Full
    Metafields_getCategoryMetafields_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/metafield_Full'
        meta:
          $ref: '#/components/schemas/metaCollection_Full'
      title: Metafields_getCategoryMetafields_Response_200
    metafield_Base:
      type: object
      properties:
        key:
          type: string
          description: |
            The name of the field, for example: `location_id`, `color`. Required for POST.
        value:
          type: string
          description: |
            The value of the field, for example: `1`, `blue`. Required for POST.
        namespace:
          type: string
          description: |
            Namespace for the metafield, for organizational purposes. This is set by the developer. Required for POST.
        permission_set:
          $ref: '#/components/schemas/MetafieldBasePermissionSet'
          description: |-
            Determines the visibility and writeability of the field by other API consumers.

            |Value|Description
            |-|-|
            |`app_only`|Private to the app that owns the field|
            |`read`|Visible to other API consumers|
            |`write`|Open for reading and writing by other API consumers|
            |`read_and_sf_access`|Visible to other API consumers, including on storefront|
            |`write_and_sf_access`|Open for reading and writing by other API consumers, including on storefront|
        description:
          type: string
          description: |
            Description for the metafields.
      required:
        - key
        - value
        - namespace
        - permission_set
      description: >-
        Metafield for products, categories, variants, and brands; the max number of metafields allowed on each is 50.
        For more information, see [Platform Limits (Help
        Center)](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.
      title: metafield_Base
    Metafields_createCategoryMetafield_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/metafield_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Metafields_createCategoryMetafield_Response_200
    CreateCategoryMetafieldRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: CreateCategoryMetafieldRequestBadRequestError
    CatalogCategoriesCategoryIdMetafieldsPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogCategoriesCategoryIdMetafieldsPostResponsesContentApplicationJsonSchemaErrors
    CreateCategoryMetafieldRequestConflictError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdMetafieldsPostResponsesContentApplicationJsonSchemaErrors'
        instance:
          type: string
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: CreateCategoryMetafieldRequestConflictError
    CreateCategoryMetafieldRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogCategoriesCategoryIdMetafieldsPostResponsesContentApplicationJsonSchemaErrors'
        instance:
          type: string
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: CreateCategoryMetafieldRequestUnprocessableEntityError
    Metafields_getCategoryMetafield_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/metafield_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Metafields_getCategoryMetafield_Response_200
    GetCategoryMetafieldRequestNotFoundError:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: Error payload for the BigCommerce API.
      title: GetCategoryMetafieldRequestNotFoundError
    Metafields_updateCategoryMetafield_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/metafield_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Metafields_updateCategoryMetafield_Response_200
    UpdateCategoryMetafieldRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: UpdateCategoryMetafieldRequestBadRequestError
    UpdateCategoryMetafieldRequestNotFoundError:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: Error payload for the BigCommerce API.
      title: UpdateCategoryMetafieldRequestNotFoundError
    DeleteCategoryMetafieldRequestNotFoundError:
      type: object
      properties:
        status:
          type: integer
          description: |
            404 HTTP status code.
        title:
          type: string
          description: The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: Error payload for the BigCommerce API.
      title: DeleteCategoryMetafieldRequestNotFoundError
    productSortOrder:
      type: object
      properties:
        product_id:
          type: integer
          description: The ID of the associated product.
        sort_order:
          type: integer
          description: The relative priority of the product among other products inside the category.
      required:
        - product_id
        - sort_order
      title: productSortOrder
    Sort order_getCategorySortOrders_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/productSortOrder'
        meta:
          $ref: '#/components/schemas/metaCollection_Full'
      title: Sort order_getCategorySortOrders_Response_200
    error_Base:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
      description: |
        Error payload for the BigCommerce API.
      title: error_Base
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

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

        |  Products | modify | `store_v2_products` |

        |  Products | read-only | `store_v2_products_read_only` |


        ### 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](/developer/docs/overview/api-fundamentals/api-accounts#api-accounts). |


        ### Further reading


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


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


        For a list of API status codes, see [API Status
        Codes](/developer/api-reference/rest/overview#rest-http-status-codes).
