openapi: 3.1.0
info:
  title: 'Admin Catalog: Brands'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/catalog/brands:
    get:
      operationId: getBrands
      summary: List Brands
      description: Returns a list of brands. Optional filter parameters can be passed in.
      tags:
        - brands
      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 ID.
          required: false
          schema:
            type: integer
        - name: id:in
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:not_in
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:min
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:max
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:greater
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:less
          in: query
          required: false
          schema:
            type: array
            items:
              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 part of a name. For example, `name:like=new` returns brands with names that include `new`.
          required: false
          schema:
            type: string
        - name: page_title
          in: query
          description: |
            Filter items by page_title.
          required: false
          schema:
            type: string
        - name: page
          in: query
          description: Specifies the page number in a limited (paginated) list of products.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: Controls the number of items per page in a limited (paginated) list of products.
          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: sort
          in: query
          description: Field name to sort by.
          required: false
          schema:
            $ref: '#/components/schemas/CatalogBrandsGetParametersSort'
        - name: direction
          in: query
          description: |
            Sort direction. Acceptable values are: `asc`, `desc`.
          required: false
          schema:
            $ref: '#/components/schemas/CatalogBrandsGetParametersDirection'
        - 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/Brands_getBrands_Response_200'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
    post:
      operationId: createBrand
      summary: Create Brand
      description: |-
        Creates a brand.

        **Required Fields**
        - name

        **Limits**
        - 30,000 brands per store limit
      tags:
        - brands
      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/Brands_createBrand_Response_200'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '409':
          description: Brand was in conflict with another brand. This is the result of duplicate unique fields such as name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBrandRequestConflictError'
        '422':
          description: >-
            Brand 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/CreateBrandRequestUnprocessableEntityError'
      requestBody:
        description: Common brand properties.
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: |-
                    The name of the brand. Must be unique.
                    Required in POST.
                page_title:
                  type: string
                  description: |
                    The title shown in the browser while viewing the brand.
                meta_keywords:
                  type: array
                  items:
                    type: string
                  description: |
                    An array of meta keywords to include in the HTML.
                meta_description:
                  type: string
                  description: |
                    A meta description to include.
                search_keywords:
                  type: string
                  description: |
                    A comma-separated list of keywords that can be used to locate this brand.
                image_url:
                  type: string
                  description: >
                    Image URL used for this category on the storefront. Images can be uploaded via form file post to
                    `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field.
                custom_url:
                  $ref: '#/components/schemas/CatalogBrandsPostRequestBodyContentApplicationJsonSchemaCustomUrl'
                  description: >-
                    The custom URL for the brand on the storefront. If not provided, the URL will be autogenerated from
                    the brand name.
              required:
                - name
    delete:
      operationId: deleteBrands
      summary: Delete Brands
      description: To delete brand objects, you must include a value for the name filter.
      tags:
        - brands
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: name
          in: query
          description: |
            Filter items by name.
          required: true
          schema:
            type: string
        - name: page_title
          in: query
          description: |
            Filter items by page_title.
          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: {}
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
  /stores/{store_hash}/v3/catalog/brands/{brand_id}:
    get:
      operationId: getBrand
      summary: Get Brand
      description: Returns a single brand. Optional filter parameters can be passed in.
      tags:
        - brands
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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/Brands_getBrand_Response_200'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBrandRequestNotFoundError'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Conflict'
        '422':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
    put:
      operationId: updateBrand
      summary: Update Brand
      description: |-
        Updates a brand.

        To update a brand image, send a request with an `image_url`.
      tags:
        - brands
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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/Brands_updateBrand_Response_200'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBrandRequestNotFoundError'
        '409':
          description: >
            The `Brand` was in conflict with another product. This is the result of duplicate unique values, such as
            `name`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBrandRequestConflictError'
        '422':
          description: >
            The `Brand` 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/UpdateBrandRequestUnprocessableEntityError'
      requestBody:
        description: Common Brand properties.
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  description: Unique ID of the brand.
                name:
                  type: string
                  description: |-
                    The name of the brand. Must be unique.
                    Required in POST.
                page_title:
                  type: string
                  description: |
                    The title shown in the browser while viewing the brand.
                meta_keywords:
                  type: array
                  items:
                    type: string
                  description: |
                    An array of meta keywords to include in the HTML.
                meta_description:
                  type: string
                  description: |
                    A meta description to include.
                search_keywords:
                  type: string
                  description: |
                    A comma-separated list of keywords that can be used to locate this brand.
                image_url:
                  type: string
                  description: >
                    Image URL used for this category on the storefront. Images can be uploaded via form file post to
                    `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field.
                custom_url:
                  $ref: '#/components/schemas/CatalogBrandsBrandIdPutRequestBodyContentApplicationJsonSchemaCustomUrl'
                  description: The custom URL for the brand on the storefront.
              required:
                - name
    delete:
      operationId: deleteBrand
      summary: Delete Brand
      description: Deletes a brand.
      tags:
        - brands
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_Base'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
  /stores/{store_hash}/v3/catalog/brands/metafields:
    get:
      operationId: getBrandsMetafields
      summary: List Brand Metafields
      description: Get all brand 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 products.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: Controls the number of items per page in a limited (paginated) list of products.
          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/CatalogBrandsMetafieldsGetParametersDirection'
        - 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/CatalogBrandsMetafieldsGetParametersIncludeFieldsSchemaItems'
        - 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'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBrandsMetafieldsRequestBadRequestError'
    post:
      operationId: createBrandsMetafields
      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/CreateBrandsMetafieldsRequestBadRequestError'
        '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/CatalogBrandsMetafieldsPostRequestBodyContentApplicationJsonSchemaItems'
    put:
      operationId: updateBrandsMetafields
      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/UpdateBrandsMetafieldsRequestBadRequestError'
        '422':
          description: JSON data is missing or invalid
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBrandsMetafieldsRequestUnprocessableEntityError'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/CatalogBrandsMetafieldsPutRequestBodyContentApplicationJsonSchemaItems'
    delete:
      operationId: deleteBrandsMetafields
      summary: Delete Multiple Metafields
      description: Delete all brand 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/DeleteBrandsMetafieldsRequestBadRequestError'
        '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/brands/{brand_id}/image:
    post:
      operationId: createBrandImage
      summary: Create Brand Image
      description: >-
        Creates a brand image.


        **Required Fields**

        - image_file: Form posts are the only accepted upload option. For more information on how to upload an image see
        [Adding product images](/developer/docs/admin/catalog-and-inventory/products-overview#adding-product-images).
        NOTE:  Ensure you set the `Content-Type` header to `multipart/form-data; boundary=--example-boundary--` and set
        the correct URL for this endpoint.


        **Read-Only Fields**

        - id


        Only one image at a time can be created. To update a brand image, use the [Update a
        brand](/developer/api-reference/rest/admin/catalog/brands/update-brand) endpoint and an `image_url`.
      tags:
        - images
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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_createBrandImage_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/CreateBrandImageRequestBadRequestError'
        '404':
          description: The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBrandImageRequestNotFoundError'
        '422':
          description: >-
            Image was not valid. This is the result of a missing `image_file` field, or of an incorrect file type. See
            the response for more details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBrandImageRequestUnprocessableEntityError'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                image_file:
                  type: string
                  format: binary
    delete:
      operationId: deleteBrandImage
      summary: Delete Brand Image
      description: Deletes a brand image.
      tags:
        - images
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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/brands/{brand_id}/metafields:
    get:
      operationId: getBrandMetafields
      summary: List Brand Metafields
      description: Returns a list of brand metafields. Optional filter parameters can be passed in.
      tags:
        - metafields
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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 ID.
          required: false
          schema:
            type: integer
        - name: id:in
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:not_in
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:min
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:max
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:greater
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: id:less
          in: query
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: page
          in: query
          description: Specifies the page number in a limited (paginated) list of products.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: Controls the number of items per page in a limited (paginated) list of products.
          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: 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_getBrandMetafields_Response_200'
    post:
      operationId: createBrandMetafield
      summary: Create Brand Metafield
      description: >-
        Creates a brand metafield.


        **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](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center.
      tags:
        - metafields
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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_createBrandMetafield_Response_200'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBrandMetafieldRequestBadRequestError'
        '409':
          description: >
            The `Metafield` was in conflict with another `Metafield`. This can be the result of duplicate unique key
            combination of the appʼs client id, namespace, key, resource_type, and resource_id.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateBrandMetafieldRequestConflictError'
        '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/CreateBrandMetafieldRequestUnprocessableEntityError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/metafield_Base'
  /stores/{store_hash}/v3/catalog/brands/{brand_id}/metafields/{metafield_id}:
    get:
      operationId: getBrandMetafield
      summary: Get Brand Metafield
      description: Returns a brand metafield. Optional filter parameters can be passed in.
      tags:
        - metafields
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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_getBrandMetafield_Response_200'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetBrandMetafieldRequestNotFoundError'
    put:
      operationId: updateBrandMetafield
      summary: Update Brand Metafield
      description: "Updates a brand 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.\n* 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](https://support.bigcommerce.com/s/article/Platform-Limits) in the Help Center."
      tags:
        - metafields
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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_updateBrandMetafield_Response_200'
        '400':
          description: Bad Request. Input is invalid.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBrandMetafieldRequestBadRequestError'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateBrandMetafieldRequestNotFoundError'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MetafieldBase_Put'
    delete:
      operationId: deleteBrandMetafield
      summary: Delete Brand Metafield
      description: Deletes a brand metafield.
      tags:
        - metafields
      parameters:
        - name: brand_id
          in: path
          description: |
            The ID of the brand 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/DeleteBrandMetafieldRequestNotFoundError'
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    CatalogBrandsGetParametersSort:
      type: string
      enum:
        - name
      title: CatalogBrandsGetParametersSort
    CatalogBrandsGetParametersDirection:
      type: string
      enum:
        - asc
        - desc
      title: CatalogBrandsGetParametersDirection
    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
    brand_Full:
      type: object
      properties:
        id:
          type: integer
          description: Unique ID of the brand.
        name:
          type: string
          description: |-
            The name of the brand. Must be unique.
            Required in POST.
        page_title:
          type: string
          description: |
            The title shown in the browser while viewing the brand.
        meta_keywords:
          type: array
          items:
            type: string
          description: |
            An array of meta keywords to include in the HTML.
        meta_description:
          type: string
          description: |
            A meta description to include.
        search_keywords:
          type: string
          description: |
            A comma-separated list of keywords that can be used to locate this brand.
        image_url:
          type: string
          description: >
            Image URL used for this category on the storefront. Images can be uploaded via form file post to
            `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field.
        custom_url:
          $ref: '#/components/schemas/customUrl_Full'
      required:
        - name
      description: Common Brand properties.
      title: brand_Full
    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
    Brands_getBrands_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/brand_Full'
        meta:
          $ref: '#/components/schemas/metaCollection_Full'
      title: Brands_getBrands_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
      description: |
        Error payload for the BigCommerce API.
      title: error_Base
    CatalogBrandsPostRequestBodyContentApplicationJsonSchemaCustomUrl:
      type: object
      properties:
        url:
          type: string
          description: |
            Brand 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 brand on the storefront. If not provided, the URL will be autogenerated from the brand
        name.
      title: CatalogBrandsPostRequestBodyContentApplicationJsonSchemaCustomUrl
    CatalogBrandsPostResponsesContentApplicationJsonSchemaDataCustomUrl:
      type: object
      properties:
        url:
          type: string
          description: |
            Brand 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 brand on the storefront.
      title: CatalogBrandsPostResponsesContentApplicationJsonSchemaDataCustomUrl
    CatalogBrandsPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: integer
          description: Unique ID of the brand.
        name:
          type: string
          description: |-
            The name of the brand. Must be unique.
            Required in POST.
        page_title:
          type: string
          description: |
            The title shown in the browser while viewing the brand.
        meta_keywords:
          type: array
          items:
            type: string
          description: |
            An array of meta keywords to include in the HTML.
        meta_description:
          type: string
          description: |
            A meta description to include.
        search_keywords:
          type: string
          description: |
            A comma-separated list of keywords that can be used to locate this brand.
        image_url:
          type: string
          description: >
            Image URL used for this category on the storefront. Images can be uploaded via form file post to
            `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field.
        custom_url:
          $ref: '#/components/schemas/CatalogBrandsPostResponsesContentApplicationJsonSchemaDataCustomUrl'
          description: The custom URL for the brand on the storefront.
      description: Common Brand properties.
      title: CatalogBrandsPostResponsesContentApplicationJsonSchemaData
    metaEmpty_Full:
      type: object
      properties: {}
      description: Response metadata.
      title: metaEmpty_Full
    Brands_createBrand_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CatalogBrandsPostResponsesContentApplicationJsonSchemaData'
          description: Common Brand properties.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      description: |-
        Brand Response returns for:
        * Create Brand
        * Get Brand by Id
        * Update Brand by Id
      title: Brands_createBrand_Response_200
    NotFoundError:
      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
      required:
        - status
        - title
        - type
      title: NotFoundError
    CatalogBrandsPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogBrandsPostResponsesContentApplicationJsonSchemaErrors
    CreateBrandRequestConflictError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogBrandsPostResponsesContentApplicationJsonSchemaErrors'
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: CreateBrandRequestConflictError
    CreateBrandRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogBrandsPostResponsesContentApplicationJsonSchemaErrors'
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: CreateBrandRequestUnprocessableEntityError
    Brands_getBrand_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/brand_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      description: |-
        Brand Response returns for:
        * Create Brand
        * Get Brand by Id
        * Update Brand by Id
      title: Brands_getBrand_Response_200
    GetBrandRequestNotFoundError:
      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: GetBrandRequestNotFoundError
    ConflictErrors:
      type: object
      properties: {}
      title: ConflictErrors
    Conflict:
      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
        errors:
          $ref: '#/components/schemas/ConflictErrors'
      title: Conflict
    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
    CatalogBrandsBrandIdPutRequestBodyContentApplicationJsonSchemaCustomUrl:
      type: object
      properties:
        url:
          type: string
          description: |
            Brand 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 brand on the storefront.
      title: CatalogBrandsBrandIdPutRequestBodyContentApplicationJsonSchemaCustomUrl
    CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaDataCustomUrl:
      type: object
      properties:
        url:
          type: string
          description: |
            Brand 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 brand on the storefront.
      title: CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaDataCustomUrl
    CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: integer
          description: Unique ID of the brand.
        name:
          type: string
          description: |-
            The name of the brand. Must be unique.
            Required in POST.
        page_title:
          type: string
          description: |
            The title shown in the browser while viewing the brand.
        meta_keywords:
          type: array
          items:
            type: string
          description: |
            An array of meta keywords to include in the HTML.
        meta_description:
          type: string
          description: |
            A meta description to include.
        search_keywords:
          type: string
          description: |
            A comma-separated list of keywords that can be used to locate this brand.
        image_url:
          type: string
          description: >
            Image URL used for this category on the storefront. Images can be uploaded via form file post to
            `/brands/{brandId}/image`, or by providing a publicly accessible URL in this field.
        custom_url:
          $ref: '#/components/schemas/CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaDataCustomUrl'
          description: The custom URL for the brand on the storefront.
      required:
        - name
      description: Common Brand properties.
      title: CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaData
    Brands_updateBrand_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaData'
          description: Common Brand properties.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      description: |-
        Brand Response returns for:
        * Create Brand
        * Get Brand by Id
        * Update Brand by Id
      title: Brands_updateBrand_Response_200
    UpdateBrandRequestNotFoundError:
      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
      description: Error payload for the BigCommerce API.
      title: UpdateBrandRequestNotFoundError
    CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaErrors
    UpdateBrandRequestConflictError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaErrors'
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: UpdateBrandRequestConflictError
    UpdateBrandRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogBrandsBrandIdPutResponsesContentApplicationJsonSchemaErrors'
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      title: UpdateBrandRequestUnprocessableEntityError
    CatalogBrandsMetafieldsGetParametersDirection:
      type: string
      enum:
        - asc
        - desc
      title: CatalogBrandsMetafieldsGetParametersDirection
    CatalogBrandsMetafieldsGetParametersIncludeFieldsSchemaItems:
      type: string
      enum:
        - resource_id
        - key
        - value
        - namespace
        - permission_set
        - resource_type
        - description
        - owner_client_id
        - date_created
        - date_modified
      title: CatalogBrandsMetafieldsGetParametersIncludeFieldsSchemaItems
    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
    GetBrandsMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          description: Any type
      title: GetBrandsMetafieldsRequestBadRequestError
    CatalogBrandsMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet:
      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: CatalogBrandsMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet
    CatalogBrandsMetafieldsPostRequestBodyContentApplicationJsonSchemaItems:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/CatalogBrandsMetafieldsPostRequestBodyContentApplicationJsonSchemaItemsPermissionSet'
          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 brand with which the metafield is associated.
      required:
        - permission_set
        - namespace
        - key
        - value
        - resource_id
      description: |
        Common Metafield properties.
      title: CatalogBrandsMetafieldsPostRequestBodyContentApplicationJsonSchemaItems
    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
    CreateBrandsMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: CreateBrandsMetafieldsRequestBadRequestError
    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
    CatalogBrandsMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet:
      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: CatalogBrandsMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet
    CatalogBrandsMetafieldsPutRequestBodyContentApplicationJsonSchemaItems:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/CatalogBrandsMetafieldsPutRequestBodyContentApplicationJsonSchemaItemsPermissionSet'
          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: CatalogBrandsMetafieldsPutRequestBodyContentApplicationJsonSchemaItems
    CatalogBrandsMetafieldsPutResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      description: Empty for 200 responses.
      title: CatalogBrandsMetafieldsPutResponsesContentApplicationJsonSchemaErrors
    UpdateBrandsMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/CatalogBrandsMetafieldsPutResponsesContentApplicationJsonSchemaErrors'
      title: UpdateBrandsMetafieldsRequestBadRequestError
    UpdateBrandsMetafieldsRequestUnprocessableEntityError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/CatalogBrandsMetafieldsPutResponsesContentApplicationJsonSchemaErrors'
          description: Empty for 200 responses.
      title: UpdateBrandsMetafieldsRequestUnprocessableEntityError
    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
    DeleteBrandsMetafieldsRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: DeleteBrandsMetafieldsRequestBadRequestError
    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
    CatalogBrandsBrandIdImagePostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        image_url:
          type: string
      title: CatalogBrandsBrandIdImagePostResponsesContentApplicationJsonSchemaData
    Images_createBrandImage_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CatalogBrandsBrandIdImagePostResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Images_createBrandImage_Response_200
    CreateBrandImageRequestBadRequestError:
      type: object
      properties: {}
      title: CreateBrandImageRequestBadRequestError
    CreateBrandImageRequestNotFoundError:
      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: CreateBrandImageRequestNotFoundError
    CatalogBrandsBrandIdImagePostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogBrandsBrandIdImagePostResponsesContentApplicationJsonSchemaErrors
    CreateBrandImageRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogBrandsBrandIdImagePostResponsesContentApplicationJsonSchemaErrors'
        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: CreateBrandImageRequestUnprocessableEntityError
    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.
        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.
        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.
      required:
        - key
        - value
        - namespace
        - permission_set
      title: metafield_Full
    Metafields_getBrandMetafields_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/metafield_Full'
        meta:
          $ref: '#/components/schemas/metaCollection_Full'
      title: Metafields_getBrandMetafields_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](https://support.bigcommerce.com/s/article/Platform-Limits) in the
        Help Center.
      title: metafield_Base
    CatalogBrandsBrandIdMetafieldsPostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      description: Empty meta object; may be used later.
      title: CatalogBrandsBrandIdMetafieldsPostResponsesContentApplicationJsonSchemaMeta
    Metafields_createBrandMetafield_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/metafield_Full'
        meta:
          $ref: '#/components/schemas/CatalogBrandsBrandIdMetafieldsPostResponsesContentApplicationJsonSchemaMeta'
          description: Empty meta object; may be used later.
      title: Metafields_createBrandMetafield_Response_200
    CreateBrandMetafieldRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: CreateBrandMetafieldRequestBadRequestError
    CatalogBrandsBrandIdMetafieldsPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogBrandsBrandIdMetafieldsPostResponsesContentApplicationJsonSchemaErrors
    CreateBrandMetafieldRequestConflictError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogBrandsBrandIdMetafieldsPostResponsesContentApplicationJsonSchemaErrors'
        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: CreateBrandMetafieldRequestConflictError
    CreateBrandMetafieldRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogBrandsBrandIdMetafieldsPostResponsesContentApplicationJsonSchemaErrors'
        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: CreateBrandMetafieldRequestUnprocessableEntityError
    Metafields_getBrandMetafield_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/metafield_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Metafields_getBrandMetafield_Response_200
    GetBrandMetafieldRequestNotFoundError:
      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: GetBrandMetafieldRequestNotFoundError
    MetafieldBasePutPermissionSet:
      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: MetafieldBasePutPermissionSet
    MetafieldBase_Put:
      type: object
      properties:
        permission_set:
          $ref: '#/components/schemas/MetafieldBasePutPermissionSet'
          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.
      description: |
        Common Metafield properties.
      title: MetafieldBase_Put
    Metafields_updateBrandMetafield_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/metafield_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Metafields_updateBrandMetafield_Response_200
    UpdateBrandMetafieldRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        detail:
          type: string
      title: UpdateBrandMetafieldRequestBadRequestError
    UpdateBrandMetafieldRequestNotFoundError:
      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: UpdateBrandMetafieldRequestNotFoundError
    DeleteBrandMetafieldRequestNotFoundError:
      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: DeleteBrandMetafieldRequestNotFoundError
  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).
