openapi: 3.1.0
info:
  title: 'Admin Catalog: Product Variant Options'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/catalog/products/{product_id}/options:
    get:
      operationId: getProductVariantOptions
      summary: List Product Variant Options
      description: 'Returns a list of product *Variant Options*. Optional parameters can be passed in. '
      tags:
        - productVariantOptions
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of 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
            default: 50
        - 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/Product variant options_getProductVariantOptions_Response_200'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProductVariantOptionsRequestNotFoundError'
    post:
      operationId: createProductVariantOption
      summary: Create Product Variant Option
      description: >-
        Creates a *Variant Option*.


        **Required Fields**

        * display_name

        * type

        * option_values


        **Read-Only Fields**

        * id


        **Limits**

        * 255 characters option name length.


        **Notes**


        * Only one variant option at a time can be created; individual variant options will contain an array of multiple
        values.

        * There are several examples listed below that create options, but the SKUs are not updated and they are not a
        variant on the product. Variant SKUs must be created with a separate request.

        * Variant options will show on the storefront as an option that can be selected by the customer. A request like
        this could be used to add new choices to a variant that has already been created.

        * If more than one variant needs to be created, use the [Create a
        Product](/developer/api-reference/rest/admin/catalog/products/create-product) endpoint.
      tags:
        - productVariantOptions
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` 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/Product variant options_createProductVariantOption_Response_200'
        '409':
          description: |
            Option was in conflict with another option. This is the result of duplicate unique fields, such as `name`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateProductVariantOptionRequestConflictError'
        '422':
          description: >
            Option 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/CreateProductVariantOptionRequestUnprocessableEntityError'
      requestBody:
        description: The model for a POST to create options on a product.
        content:
          application/json:
            schema:
              type: object
              properties:
                product_id:
                  type: integer
                  description: |
                    The unique numerical ID of the product to which the option belongs.
                display_name:
                  type: string
                  description: |
                    The name of the option shown on the storefront.
                type:
                  $ref: '#/components/schemas/CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaType'
                  description: >
                    The type of option, which determines how it will display on the storefront. Acceptable values:
                    `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For
                    reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P =
                    product_list, PI = product_list_with_images, CS = swatch.
                config:
                  $ref: >-
                    #/components/schemas/CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfig
                  description: The values for option config can vary based on the Modifier created.
                sort_order:
                  type: integer
                  description: 'Order in which the option is displayed on the storefront. '
                option_values:
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaOptionValuesItems
                image_url:
                  type: string
                  description: Publicly available image url
  /stores/{store_hash}/v3/catalog/products/{product_id}/options/{option_id}:
    get:
      operationId: getProductVariantOption
      summary: Get Product Variant Option
      description: Returns a single *Variant Option*. Optional parameters can be passed in.
      tags:
        - productVariantOptions
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: option_id
          in: path
          description: |
            The ID of the `Option`.
          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/Product variant options_getProductVariantOption_Response_200'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProductVariantOptionRequestNotFoundError'
    put:
      operationId: updateProductVariantOption
      summary: Update Product Variant Option
      description: |-
        Updates a *Variant Option*.

        **Read-Only Fields**
        * id
      tags:
        - productVariantOptions
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: option_id
          in: path
          description: |
            The ID of the `Option`.
          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/Product variant options_updateProductVariantOption_Response_200'
        '409':
          description: >
            The `Option` was in conflict with another option. This is the result of duplicate unique fields, such as
            `name`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateProductVariantOptionRequestConflictError'
        '422':
          description: >
            The `Option` 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/UpdateProductVariantOptionRequestUnprocessableEntityError'
      requestBody:
        description: The model for a PUT to update options on a product.
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type:
                    - integer
                    - 'null'
                  description: |
                    The unique numerical ID of the option, increments sequentially.
                product_id:
                  type: integer
                  description: |
                    The unique numerical ID of the product to which the option belongs.
                display_name:
                  type: string
                  description: |
                    The name of the option shown on the storefront.
                type:
                  $ref: >-
                    #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaType
                  description: >
                    The type of option, which determines how it will display on the storefront. Acceptable values:
                    `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For
                    reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P =
                    product_list, PI = product_list_with_images, CS = swatch.
                config:
                  $ref: >-
                    #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfig
                  description: The values for option config can vary based on the Modifier created.
                sort_order:
                  type: integer
                  description: 'Order in which the option is displayed on the storefront. '
                option_values:
                  type: array
                  items:
                    $ref: >-
                      #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaOptionValuesItems
                image_url:
                  type: string
                  description: Publicly available image url
    delete:
      operationId: deleteProductVariantOption
      summary: Delete Product Variant Option
      description: Deletes a *Variant Option*.
      tags:
        - productVariantOptions
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: option_id
          in: path
          description: |
            The ID of the `Option`.
          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/products/{product_id}/options/{option_id}/values:
    get:
      operationId: getProductVariantOptionValues
      summary: List Product Variant Option Values
      description: Returns a list of all *Variant Option Values*. Optional parameters can be passed in.
      tags:
        - values
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: option_id
          in: path
          description: |
            The ID of the `Option`.
          required: true
          schema:
            type: integer
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list of 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
            default: 50
        - 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/CatalogProductsProductIdOptionsOptionIdValuesGetParametersIncludeFieldsSchemaItems'
        - 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:
              $ref: '#/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesGetParametersExcludeFieldsSchemaItems'
        - 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/Values_getProductVariantOptionValues_Response_200'
    post:
      operationId: createProductVariantOptionValue
      summary: Create Product Variant Option Value
      description: >-
        Creates a *Variant Option Value*.


        **Required Fields**

        * label

        * sort_order


        **Read-Only Fields**

        * id

        * is_default


        **Limits**

        * 250 option values per option limit.


        > `is_default` is derived from the parent option configuration and cannot be set on individual values. To change
        which value is the default, use [Update Product Variant
        Option](/developer/api-reference/rest/admin/catalog/product-variant-options/update-product-variant-option) and
        include the full `option_values` array with the desired `is_default` flags.
      tags:
        - values
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: option_id
          in: path
          description: |
            The ID of the `Option`.
          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/Values_createProductVariantOptionValue_Response_200'
        '422':
          description: >
            The `OptionValue` 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/CreateProductVariantOptionValueRequestUnprocessableEntityError'
      requestBody:
        description: The model for a POST to create option values on a product.
        content:
          application/json:
            schema:
              type: object
              properties:
                is_default:
                  type: boolean
                  description: >
                    The flag for preselecting a value as the default on the storefront. This field is not supported for
                    swatch options/modifiers. Read-only on this endpoint; use [Update Product Variant
                    Option](/developer/api-reference/rest/admin/catalog/product-variant-options/update-product-variant-option)
                    with the full `option_values` array to change the default.
                label:
                  type: string
                  description: |
                    The text display identifying the value on the storefront. Required in a /POST.
                sort_order:
                  type: integer
                  description: |
                    The order in which the value will be displayed on the product page. Required in a /POST.
                value_data:
                  $ref: >-
                    #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesPostRequestBodyContentApplicationJsonSchemaValueData
                  description: >
                    Extra data describing the value, based on the type of option or modifier with which the value is
                    associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal
                    color keys; or an `image_url`, which is a full image URL path including protocol. The `product list`
                    type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called
                    `checked_value`, to determine which value is considered to be the checked state.
              required:
                - label
                - sort_order
  /stores/{store_hash}/v3/catalog/products/{product_id}/options/{option_id}/values/{value_id}:
    get:
      operationId: getProductVariantOptionValue
      summary: Get Product Variant Option Value
      description: Returns a single *Variant Option Value*. Optional parameters can be passed in.
      tags:
        - values
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: option_id
          in: path
          description: |
            The ID of the `Option`.
          required: true
          schema:
            type: integer
        - name: value_id
          in: path
          description: |
            The ID of the `Modifier/Option Value`.
          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:
              $ref: >-
                #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesValueIdGetParametersIncludeFieldsSchemaItems
        - 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:
              $ref: >-
                #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesValueIdGetParametersExcludeFieldsSchemaItems
        - 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/Values_getProductVariantOptionValue_Response_200'
        '404':
          description: |
            The resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetProductVariantOptionValueRequestNotFoundError'
    put:
      operationId: updateProductVariantOptionValue
      summary: Update Product Variant Option Value
      description: >-
        Updates a *Variant Option Value*.


        **Read-Only Fields**

        * id

        * is_default


        > `is_default` is derived from the parent option configuration and cannot be set on individual values. To change
        which value is the default, use [Update Product Variant
        Option](/developer/api-reference/rest/admin/catalog/product-variant-options/update-product-variant-option) and
        include the full `option_values` array with the desired `is_default` flags.
      tags:
        - values
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: option_id
          in: path
          description: |
            The ID of the `Option`.
          required: true
          schema:
            type: integer
        - name: value_id
          in: path
          description: |
            The ID of the `Modifier/Option Value`.
          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/Values_updateProductVariantOptionValue_Response_200'
        '422':
          description: >
            The `OptionValue` 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/UpdateProductVariantOptionValueRequestUnprocessableEntityError'
      requestBody:
        description: |
          A BigCommerce `OptionValue` object.
        content:
          application/json:
            schema:
              type: object
              properties:
                is_default:
                  type: boolean
                  description: >
                    The flag for preselecting a value as the default on the storefront. This field is not supported for
                    swatch options/modifiers. Read-only on this endpoint; use [Update Product Variant
                    Option](/developer/api-reference/rest/admin/catalog/product-variant-options/update-product-variant-option)
                    with the full `option_values` array to change the default.
                label:
                  type: string
                  description: |
                    The text display identifying the value on the storefront. Required in a /POST.
                sort_order:
                  type: integer
                  description: |
                    The order in which the value will be displayed on the product page. Required in a /POST.
                value_data:
                  $ref: >-
                    #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesValueIdPutRequestBodyContentApplicationJsonSchemaValueData
                  description: >
                    Extra data describing the value, based on the type of option or modifier with which the value is
                    associated. The `swatch` type option can accept an array of `colors`, with up to three hexidecimal
                    color keys; or an `image_url`, which is a full image URL path including protocol. The `product list`
                    type option requires a `product_id`. The `checkbox` type option requires a boolean flag, called
                    `checked_value`, to determine which value is considered to be the checked state.
                id:
                  type: integer
                  description: |
                    The unique numeric ID of the value; increments sequentially.
              required:
                - label
                - sort_order
    delete:
      operationId: deleteProductVariantOptionValue
      summary: Delete Product Variant Option Value
      description: Deletes a *Variant Option Value*.
      tags:
        - values
      parameters:
        - name: product_id
          in: path
          description: |
            The ID of the `Product` to which the resource belongs.
          required: true
          schema:
            type: integer
        - name: option_id
          in: path
          description: |
            The ID of the `Option`.
          required: true
          schema:
            type: integer
        - name: value_id
          in: path
          description: |
            The ID of the `Modifier/Option Value`.
          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: {}
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    ProductOptionBaseType:
      type: string
      enum:
        - radio_buttons
        - rectangles
        - dropdown
        - product_list
        - product_list_with_images
        - swatch
      description: >
        The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`,
        `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API
        values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images,
        CS = swatch.
      title: ProductOptionBaseType
    ProductOptionConfigFullDateLimitMode:
      type: string
      enum:
        - earliest
        - range
        - latest
      description: |
        (date) The type of limit that is allowed to be entered on a date option.
      title: ProductOptionConfigFullDateLimitMode
    ProductOptionConfigFullFileTypesMode:
      type: string
      enum:
        - specific
        - all
      description: >
        (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
        `specific` - restricts uploads to particular file types; `all` - allows all file types.
      title: ProductOptionConfigFullFileTypesMode
    ProductOptionConfigFullNumberLimitMode:
      type: string
      enum:
        - lowest
        - highest
        - range
      description: |
        (numbers_only_text) The type of limit on values entered for a number option.
      title: ProductOptionConfigFullNumberLimitMode
    ProductOptionConfigFullProductListShippingCalc:
      type: string
      enum:
        - none
        - weight
        - package
      description: >
        (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into
        the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight
        and dimensions.
      title: ProductOptionConfigFullProductListShippingCalc
    productOptionConfig_Full:
      type: object
      properties:
        default_value:
          type: string
          description: >
            (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an
            ISO-8601–formatted string, or on a text option as a string.
        checked_by_default:
          type: boolean
          description: |
            (checkbox) Flag for setting the checkbox to be checked by default.
        checkbox_label:
          type: string
          description: |
            (checkbox) Label displayed for the checkbox option.
        date_limited:
          type: boolean
          description: |
            (date) Flag to limit the dates allowed to be entered on a date option.
        date_limit_mode:
          $ref: '#/components/schemas/ProductOptionConfigFullDateLimitMode'
          description: |
            (date) The type of limit that is allowed to be entered on a date option.
        date_earliest_value:
          type: string
          format: date
          description: |
            (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        date_latest_value:
          type: string
          format: date
          description: |
            (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        file_types_mode:
          $ref: '#/components/schemas/ProductOptionConfigFullFileTypesMode'
          description: >
            (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
            `specific` - restricts uploads to particular file types; `all` - allows all file types.
        file_types_supported:
          type: array
          items:
            type: string
          description: |
            (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values:
              `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`).
              `other` - Allows file types defined in the `file_types_other` array.
        file_types_other:
          type: array
          items:
            type: string
          description: |
            (file) A list of other file types allowed with the file upload option.
        file_max_size:
          type: integer
          description: >
            (file) The maximum size for a file that can be used with the file upload option. This will still be limited
            by the server.
        text_characters_limited:
          type: boolean
          description: |
            (text, multi_line_text) Flag to validate the length of a text or multi-line text input.
        text_min_length:
          type: integer
          description: |
            (text, multi_line_text) The minimum length allowed for a text or multi-line text option.
        text_max_length:
          type: integer
          description: |
            (text, multi_line_text) The maximum length allowed for a text or multi line text option.
        text_lines_limited:
          type: boolean
          description: |
            (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input.
        text_max_lines:
          type: integer
          description: |
            (multi_line_text) The maximum number of lines allowed on a multi-line text input.
        number_limited:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the value of a number option.
        number_limit_mode:
          $ref: '#/components/schemas/ProductOptionConfigFullNumberLimitMode'
          description: |
            (numbers_only_text) The type of limit on values entered for a number option.
        number_lowest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true.
        number_highest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The highest allowed value for a number option if `number_limited` is true.
        number_integers_only:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the input on a number option to whole numbers only.
        product_list_adjusts_inventory:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in
            the list.
        product_list_adjusts_pricing:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag to add the optional product's price to the main product's
            price.
        product_list_shipping_calc:
          $ref: '#/components/schemas/ProductOptionConfigFullProductListShippingCalc'
          description: >
            (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions
            into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use
            weight and dimensions.
      description: The values for option config can vary based on the Modifier created.
      title: productOptionConfig_Full
    ProductOptionOptionValueBaseValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state. If no data is available, returns `null`.
      title: ProductOptionOptionValueBaseValueData
    productOptionOptionValue_Full:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          oneOf:
            - $ref: '#/components/schemas/ProductOptionOptionValueBaseValueData'
            - type: 'null'
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state. If no data is available, returns `null`.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Product Option `option_value`.
      title: productOptionOptionValue_Full
    productOption_Full:
      type: object
      properties:
        id:
          type:
            - integer
            - 'null'
          description: |
            The unique numerical ID of the option, increments sequentially.
        product_id:
          type: integer
          description: |
            The unique numerical ID of the product to which the option belongs.
        display_name:
          type: string
          description: |
            The name of the option shown on the storefront.
        type:
          $ref: '#/components/schemas/ProductOptionBaseType'
          description: >
            The type of option, which determines how it will display on the storefront. Acceptable values:
            `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For
            reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P =
            product_list, PI = product_list_with_images, CS = swatch.
        config:
          $ref: '#/components/schemas/productOptionConfig_Full'
        sort_order:
          type: integer
          description: 'Order in which the option is displayed on the storefront. '
        option_values:
          type: array
          items:
            $ref: '#/components/schemas/productOptionOptionValue_Full'
        name:
          type: string
          description: |
            The unique option name, auto-generated from the display name, a timestamp, and the product ID.
      title: productOption_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
    Product variant options_getProductVariantOptions_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/productOption_Full'
        meta:
          $ref: '#/components/schemas/metaCollection_Full'
      description: Get all product options
      title: Product variant options_getProductVariantOptions_Response_200
    GetProductVariantOptionsRequestNotFoundError:
      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: GetProductVariantOptionsRequestNotFoundError
    CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaType:
      type: string
      enum:
        - radio_buttons
        - rectangles
        - dropdown
        - product_list
        - product_list_with_images
        - swatch
      description: >
        The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`,
        `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API
        values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images,
        CS = swatch.
      title: CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaType
    CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigDateLimitMode:
      type: string
      enum:
        - earliest
        - range
        - latest
      description: |
        (date) The type of limit that is allowed to be entered on a date option.
      title: CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigDateLimitMode
    CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigFileTypesMode:
      type: string
      enum:
        - specific
        - all
      description: >
        (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
        `specific` - restricts uploads to particular file types; `all` - allows all file types.
      title: CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigFileTypesMode
    CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigNumberLimitMode:
      type: string
      enum:
        - lowest
        - highest
        - range
      description: |
        (numbers_only_text) The type of limit on values entered for a number option.
      title: CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigNumberLimitMode
    CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigProductListShippingCalc:
      type: string
      enum:
        - none
        - weight
        - package
      description: >
        (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into
        the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight
        and dimensions.
      title: CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigProductListShippingCalc
    CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfig:
      type: object
      properties:
        default_value:
          type: string
          description: >
            (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an
            ISO-8601–formatted string, or on a text option as a string.
        checked_by_default:
          type: boolean
          description: |
            (checkbox) Flag for setting the checkbox to be checked by default.
        checkbox_label:
          type: string
          description: |
            (checkbox) Label displayed for the checkbox option.
        date_limited:
          type: boolean
          description: |
            (date) Flag to limit the dates allowed to be entered on a date option.
        date_limit_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigDateLimitMode
          description: |
            (date) The type of limit that is allowed to be entered on a date option.
        date_earliest_value:
          type: string
          format: date-time
          description: |
            (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        date_latest_value:
          type: string
          format: date-time
          description: |
            (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        file_types_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigFileTypesMode
          description: >
            (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
            `specific` - restricts uploads to particular file types; `all` - allows all file types.
        file_types_supported:
          type: array
          items:
            type: string
          description: |
            (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values:
              `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`).
              `other` - Allows file types defined in the `file_types_other` array.
        file_types_other:
          type: array
          items:
            type: string
          description: |
            (file) A list of other file types allowed with the file upload option.
        file_max_size:
          type: integer
          description: >
            (file) The maximum size for a file that can be used with the file upload option. This will still be limited
            by the server.
        text_characters_limited:
          type: boolean
          description: |
            (text, multi_line_text) Flag to validate the length of a text or multi-line text input.
        text_min_length:
          type: integer
          description: |
            (text, multi_line_text) The minimum length allowed for a text or multi-line text option.
        text_max_length:
          type: integer
          description: |
            (text, multi_line_text) The maximum length allowed for a text or multi line text option.
        text_lines_limited:
          type: boolean
          description: |
            (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input.
        text_max_lines:
          type: integer
          description: |
            (multi_line_text) The maximum number of lines allowed on a multi-line text input.
        number_limited:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the value of a number option.
        number_limit_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigNumberLimitMode
          description: |
            (numbers_only_text) The type of limit on values entered for a number option.
        number_lowest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true.
        number_highest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The highest allowed value for a number option if `number_limited` is true.
        number_integers_only:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the input on a number option to whole numbers only.
        product_list_adjusts_inventory:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in
            the list.
        product_list_adjusts_pricing:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag to add the optional product's price to the main product's
            price.
        product_list_shipping_calc:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfigProductListShippingCalc
          description: >
            (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions
            into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use
            weight and dimensions.
      description: The values for option config can vary based on the Modifier created.
      title: CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaConfig
    CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaOptionValuesItemsValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaOptionValuesItemsValueData
    CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaOptionValuesItems:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaOptionValuesItemsValueData
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Common Option Value properties.
      title: CatalogProductsProductIdOptionsPostRequestBodyContentApplicationJsonSchemaOptionValuesItems
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataType:
      type: string
      enum:
        - radio_buttons
        - rectangles
        - dropdown
        - product_list
        - product_list_with_images
        - swatch
      description: >
        The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`,
        `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API
        values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images,
        CS = swatch.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataType
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigDateLimitMode:
      type: string
      enum:
        - earliest
        - range
        - latest
      description: |
        (date) The type of limit that is allowed to be entered on a date option.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigDateLimitMode
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigFileTypesMode:
      type: string
      enum:
        - specific
        - all
      description: >
        (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
        `specific` - restricts uploads to particular file types; `all` - allows all file types.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigFileTypesMode
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigNumberLimitMode:
      type: string
      enum:
        - lowest
        - highest
        - range
      description: |
        (numbers_only_text) The type of limit on values entered for a number option.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigNumberLimitMode
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigProductListShippingCalc:
      type: string
      enum:
        - none
        - weight
        - package
      description: >
        (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into
        the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight
        and dimensions.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigProductListShippingCalc
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfig:
      type: object
      properties:
        default_value:
          type: string
          description: >
            (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an
            ISO-8601–formatted string, or on a text option as a string.
        checked_by_default:
          type: boolean
          description: |
            (checkbox) Flag for setting the checkbox to be checked by default.
        checkbox_label:
          type: string
          description: |
            (checkbox) Label displayed for the checkbox option.
        date_limited:
          type: boolean
          description: |
            (date) Flag to limit the dates allowed to be entered on a date option.
        date_limit_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigDateLimitMode
          description: |
            (date) The type of limit that is allowed to be entered on a date option.
        date_earliest_value:
          type: string
          format: date-time
          description: |
            (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        date_latest_value:
          type: string
          format: date-time
          description: |
            (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        file_types_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigFileTypesMode
          description: >
            (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
            `specific` - restricts uploads to particular file types; `all` - allows all file types.
        file_types_supported:
          type: array
          items:
            type: string
          description: |
            (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values:
              `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`).
              `other` - Allows file types defined in the `file_types_other` array.
        file_types_other:
          type: array
          items:
            type: string
          description: |
            (file) A list of other file types allowed with the file upload option.
        file_max_size:
          type: integer
          description: >
            (file) The maximum size for a file that can be used with the file upload option. This will still be limited
            by the server.
        text_characters_limited:
          type: boolean
          description: |
            (text, multi_line_text) Flag to validate the length of a text or multi-line text input.
        text_min_length:
          type: integer
          description: |
            (text, multi_line_text) The minimum length allowed for a text or multi-line text option.
        text_max_length:
          type: integer
          description: |
            (text, multi_line_text) The maximum length allowed for a text or multi line text option.
        text_lines_limited:
          type: boolean
          description: |
            (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input.
        text_max_lines:
          type: integer
          description: |
            (multi_line_text) The maximum number of lines allowed on a multi-line text input.
        number_limited:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the value of a number option.
        number_limit_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigNumberLimitMode
          description: |
            (numbers_only_text) The type of limit on values entered for a number option.
        number_lowest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true.
        number_highest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The highest allowed value for a number option if `number_limited` is true.
        number_integers_only:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the input on a number option to whole numbers only.
        product_list_adjusts_inventory:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in
            the list.
        product_list_adjusts_pricing:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag to add the optional product's price to the main product's
            price.
        product_list_shipping_calc:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfigProductListShippingCalc
          description: >
            (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions
            into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use
            weight and dimensions.
      description: The values for option config can vary based on the Modifier created.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfig
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataOptionValuesItemsValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataOptionValuesItemsValueData
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataOptionValuesItems:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataOptionValuesItemsValueData
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Common Option Value properties.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataOptionValuesItems
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: integer
          description: |
            The unique numerical ID of the option, increments sequentially.
        product_id:
          type: integer
          description: |
            The unique numerical ID of the product to which the option belongs.
        display_name:
          type: string
          description: |
            The name of the option shown on the storefront.
        type:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataType'
          description: >
            The type of option, which determines how it will display on the storefront. Acceptable values:
            `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For
            reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P =
            product_list, PI = product_list_with_images, CS = swatch.
        config:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataConfig'
          description: The values for option config can vary based on the Modifier created.
        sort_order:
          type: integer
          description: 'Order in which the option is displayed on the storefront. '
        option_values:
          type: array
          items:
            $ref: >-
              #/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaDataOptionValuesItems
        image_url:
          type: string
          description: Publicly available image url
        name:
          type: string
          description: |
            The unique option name, auto-generated from the display name, a timestamp, and the product ID.
      description: Common Option properties.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaData
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      description: Empty meta object; may be used later.
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaMeta
    Product variant options_createProductVariantOption_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaData'
          description: Common Option properties.
        meta:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaMeta'
          description: Empty meta object; may be used later.
      title: Product variant options_createProductVariantOption_Response_200
    CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaErrors
    CreateProductVariantOptionRequestConflictError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaErrors'
        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: CreateProductVariantOptionRequestConflictError
    CreateProductVariantOptionRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsPostResponsesContentApplicationJsonSchemaErrors'
        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: CreateProductVariantOptionRequestUnprocessableEntityError
    metaEmpty_Full:
      type: object
      properties: {}
      description: Response metadata.
      title: metaEmpty_Full
    Product variant options_getProductVariantOption_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/productOption_Full'
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Product variant options_getProductVariantOption_Response_200
    GetProductVariantOptionRequestNotFoundError:
      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: GetProductVariantOptionRequestNotFoundError
    CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaType:
      type: string
      enum:
        - radio_buttons
        - rectangles
        - dropdown
        - product_list
        - product_list_with_images
        - swatch
      description: >
        The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`,
        `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API
        values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images,
        CS = swatch.
      title: CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaType
    CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigDateLimitMode:
      type: string
      enum:
        - earliest
        - range
        - latest
      description: |
        (date) The type of limit that is allowed to be entered on a date option.
      title: CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigDateLimitMode
    CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigFileTypesMode:
      type: string
      enum:
        - specific
        - all
      description: >
        (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
        `specific` - restricts uploads to particular file types; `all` - allows all file types.
      title: CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigFileTypesMode
    CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigNumberLimitMode:
      type: string
      enum:
        - lowest
        - highest
        - range
      description: |
        (numbers_only_text) The type of limit on values entered for a number option.
      title: CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigNumberLimitMode
    CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigProductListShippingCalc:
      type: string
      enum:
        - none
        - weight
        - package
      description: >
        (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into
        the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight
        and dimensions.
      title: CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigProductListShippingCalc
    CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfig:
      type: object
      properties:
        default_value:
          type: string
          description: >
            (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an
            ISO-8601–formatted string, or on a text option as a string.
        checked_by_default:
          type: boolean
          description: |
            (checkbox) Flag for setting the checkbox to be checked by default.
        checkbox_label:
          type: string
          description: |
            (checkbox) Label displayed for the checkbox option.
        date_limited:
          type: boolean
          description: |
            (date) Flag to limit the dates allowed to be entered on a date option.
        date_limit_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigDateLimitMode
          description: |
            (date) The type of limit that is allowed to be entered on a date option.
        date_earliest_value:
          type: string
          format: date-time
          description: |
            (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        date_latest_value:
          type: string
          format: date-time
          description: |
            (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        file_types_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigFileTypesMode
          description: >
            (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
            `specific` - restricts uploads to particular file types; `all` - allows all file types.
        file_types_supported:
          type: array
          items:
            type: string
          description: |
            (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values:
              `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`).
              `other` - Allows file types defined in the `file_types_other` array.
        file_types_other:
          type: array
          items:
            type: string
          description: |
            (file) A list of other file types allowed with the file upload option.
        file_max_size:
          type: integer
          description: >
            (file) The maximum size for a file that can be used with the file upload option. This will still be limited
            by the server.
        text_characters_limited:
          type: boolean
          description: |
            (text, multi_line_text) Flag to validate the length of a text or multi-line text input.
        text_min_length:
          type: integer
          description: |
            (text, multi_line_text) The minimum length allowed for a text or multi-line text option.
        text_max_length:
          type: integer
          description: |
            (text, multi_line_text) The maximum length allowed for a text or multi line text option.
        text_lines_limited:
          type: boolean
          description: |
            (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input.
        text_max_lines:
          type: integer
          description: |
            (multi_line_text) The maximum number of lines allowed on a multi-line text input.
        number_limited:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the value of a number option.
        number_limit_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigNumberLimitMode
          description: |
            (numbers_only_text) The type of limit on values entered for a number option.
        number_lowest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true.
        number_highest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The highest allowed value for a number option if `number_limited` is true.
        number_integers_only:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the input on a number option to whole numbers only.
        product_list_adjusts_inventory:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in
            the list.
        product_list_adjusts_pricing:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag to add the optional product's price to the main product's
            price.
        product_list_shipping_calc:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfigProductListShippingCalc
          description: >
            (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions
            into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use
            weight and dimensions.
      description: The values for option config can vary based on the Modifier created.
      title: CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaConfig
    CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaOptionValuesItemsValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaOptionValuesItemsValueData
    CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaOptionValuesItems:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaOptionValuesItemsValueData
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Common Option Value properties.
      title: CatalogProductsProductIdOptionsOptionIdPutRequestBodyContentApplicationJsonSchemaOptionValuesItems
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataType:
      type: string
      enum:
        - radio_buttons
        - rectangles
        - dropdown
        - product_list
        - product_list_with_images
        - swatch
      description: >
        The type of option, which determines how it will display on the storefront. Acceptable values: `radio_buttons`,
        `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For reference, the former v2 API
        values are: RB = radio_buttons, RT = rectangles, S = dropdown, P = product_list, PI = product_list_with_images,
        CS = swatch.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataType
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigDateLimitMode:
      type: string
      enum:
        - earliest
        - range
        - latest
      description: |
        (date) The type of limit that is allowed to be entered on a date option.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigDateLimitMode
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigFileTypesMode:
      type: string
      enum:
        - specific
        - all
      description: >
        (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
        `specific` - restricts uploads to particular file types; `all` - allows all file types.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigFileTypesMode
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigNumberLimitMode:
      type: string
      enum:
        - lowest
        - highest
        - range
      description: |
        (numbers_only_text) The type of limit on values entered for a number option.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigNumberLimitMode
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigProductListShippingCalc:
      type: string
      enum:
        - none
        - weight
        - package
      description: >
        (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions into
        the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use weight
        and dimensions.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigProductListShippingCalc
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfig:
      type: object
      properties:
        default_value:
          type: string
          description: >
            (date, text, multi_line_text, numbers_only_text) The default value. Shown on a date option as an
            ISO-8601–formatted string, or on a text option as a string.
        checked_by_default:
          type: boolean
          description: |
            (checkbox) Flag for setting the checkbox to be checked by default.
        checkbox_label:
          type: string
          description: |
            (checkbox) Label displayed for the checkbox option.
        date_limited:
          type: boolean
          description: |
            (date) Flag to limit the dates allowed to be entered on a date option.
        date_limit_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigDateLimitMode
          description: |
            (date) The type of limit that is allowed to be entered on a date option.
        date_earliest_value:
          type: string
          format: date
          description: |
            (date) The earliest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        date_latest_value:
          type: string
          format: date
          description: |
            (date) The latest date allowed to be entered on the date option, as an ISO-8601 formatted string.
        file_types_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigFileTypesMode
          description: >
            (file) The kind of restriction on the file types that can be uploaded with a file upload option. Values:
            `specific` - restricts uploads to particular file types; `all` - allows all file types.
        file_types_supported:
          type: array
          items:
            type: string
          description: |
            (file) The type of files allowed to be uploaded if the `file_type_option` is set to `specific`. Values:
              `images` - Allows upload of image MIME types (`bmp`, `gif`, `jpg`, `jpeg`, `jpe`, `jif`, `jfif`, `jfi`, `png`, `wbmp`, `xbm`, `tiff`). `documents` - Allows upload of document MIME types (`txt`, `pdf`, `rtf`, `doc`, `docx`, `xls`, `xlsx`, `accdb`, `mdb`, `one`, `pps`, `ppsx`, `ppt`, `pptx`, `pub`, `odt`, `ods`, `odp`, `odg`, `odf`).
              `other` - Allows file types defined in the `file_types_other` array.                            
        file_types_other:
          type: array
          items:
            type: string
          description: |
            (file) A list of other file types allowed with the file upload option.                            
        file_max_size:
          type: integer
          description: >
            (file) The maximum size for a file that can be used with the file upload option. This will still be limited
            by the server.
        text_characters_limited:
          type: boolean
          description: |
            (text, multi_line_text) Flag to validate the length of a text or multi-line text input.
        text_min_length:
          type: integer
          description: |
            (text, multi_line_text) The minimum length allowed for a text or multi-line text option.
        text_max_length:
          type: integer
          description: |
            (text, multi_line_text) The maximum length allowed for a text or multi line text option.
        text_lines_limited:
          type: boolean
          description: |
            (multi_line_text) Flag to validate the maximum number of lines allowed on a multi-line text input.
        text_max_lines:
          type: integer
          description: |
            (multi_line_text) The maximum number of lines allowed on a multi-line text input.
        number_limited:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the value of a number option.
        number_limit_mode:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigNumberLimitMode
          description: |
            (numbers_only_text) The type of limit on values entered for a number option.
        number_lowest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The lowest allowed value for a number option if `number_limited` is true.
        number_highest_value:
          type: number
          format: double
          description: |
            (numbers_only_text) The highest allowed value for a number option if `number_limited` is true.
        number_integers_only:
          type: boolean
          description: |
            (numbers_only_text) Flag to limit the input on a number option to whole numbers only.
        product_list_adjusts_inventory:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag for automatically adjusting inventory on a product included in
            the list.
        product_list_adjusts_pricing:
          type: boolean
          description: >
            (product_list, product_list_with_images) Flag to add the optional product's price to the main product's
            price.
        product_list_shipping_calc:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfigProductListShippingCalc
          description: >
            (product_list, product_list_with_images) How to factor the optional product's weight and package dimensions
            into the shipping quote. Values: `none` - don't adjust; `weight` - use shipping weight only; `package` - use
            weight and dimensions.
      description: The values for option config can vary based on the Modifier created.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfig
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataOptionValuesItemsValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataOptionValuesItemsValueData
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataOptionValuesItems:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataOptionValuesItemsValueData
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Common Option Value properties.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataOptionValuesItems
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: integer
          description: |
            The unique numerical ID of the option, increments sequentially.
        product_id:
          type: integer
          description: |
            The unique numerical ID of the product to which the option belongs.
        display_name:
          type: string
          description: |
            The name of the option shown on the storefront.
        type:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataType'
          description: >
            The type of option, which determines how it will display on the storefront. Acceptable values:
            `radio_buttons`, `rectangles`, `dropdown`, `product_list`, `product_list_with_images`, `swatch`. For
            reference, the former v2 API values are: RB = radio_buttons, RT = rectangles, S = dropdown, P =
            product_list, PI = product_list_with_images, CS = swatch.
        config:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataConfig
          description: The values for option config can vary based on the Modifier created.
        sort_order:
          type: integer
          description: 'Order in which the option is displayed on the storefront. '
        option_values:
          type: array
          items:
            $ref: >-
              #/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaDataOptionValuesItems
        image_url:
          type: string
          description: Publicly available image url
        name:
          type: string
          description: |
            The unique option name, auto-generated from the display name, a timestamp, and the product ID.
      description: Common Option properties.
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaData
    Product variant options_updateProductVariantOption_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaData'
          description: Common Option properties.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Product variant options_updateProductVariantOption_Response_200
    CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaErrors
    UpdateProductVariantOptionRequestConflictError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaErrors'
        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: UpdateProductVariantOptionRequestConflictError
    UpdateProductVariantOptionRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogProductsProductIdOptionsOptionIdPutResponsesContentApplicationJsonSchemaErrors'
        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: UpdateProductVariantOptionRequestUnprocessableEntityError
    CatalogProductsProductIdOptionsOptionIdValuesGetParametersIncludeFieldsSchemaItems:
      type: string
      enum:
        - label
        - sort_order
        - value_data
        - is_default
      title: CatalogProductsProductIdOptionsOptionIdValuesGetParametersIncludeFieldsSchemaItems
    CatalogProductsProductIdOptionsOptionIdValuesGetParametersExcludeFieldsSchemaItems:
      type: string
      enum:
        - label
        - sort_order
        - value_data
        - is_default
      title: CatalogProductsProductIdOptionsOptionIdValuesGetParametersExcludeFieldsSchemaItems
    CatalogProductsProductIdOptionsOptionIdValuesGetResponsesContentApplicationJsonSchemaDataItemsValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsOptionIdValuesGetResponsesContentApplicationJsonSchemaDataItemsValueData
    CatalogProductsProductIdOptionsOptionIdValuesGetResponsesContentApplicationJsonSchemaDataItems:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesGetResponsesContentApplicationJsonSchemaDataItemsValueData
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Common Option Value properties.
      title: CatalogProductsProductIdOptionsOptionIdValuesGetResponsesContentApplicationJsonSchemaDataItems
    Values_getProductVariantOptionValues_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesGetResponsesContentApplicationJsonSchemaDataItems
        meta:
          $ref: '#/components/schemas/metaCollection_Full'
      description: Get Option Values response.
      title: Values_getProductVariantOptionValues_Response_200
    CatalogProductsProductIdOptionsOptionIdValuesPostRequestBodyContentApplicationJsonSchemaValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsOptionIdValuesPostRequestBodyContentApplicationJsonSchemaValueData
    CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaDataValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaDataValueData
    CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaDataValueData
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Common Option Value properties.
      title: CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaData
    Values_createProductVariantOptionValue_Response_200:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaData
          description: Common Option Value properties.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Values_createProductVariantOptionValue_Response_200
    CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaErrors
    CreateProductVariantOptionValueRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesPostResponsesContentApplicationJsonSchemaErrors
        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: CreateProductVariantOptionValueRequestUnprocessableEntityError
    CatalogProductsProductIdOptionsOptionIdValuesValueIdGetParametersIncludeFieldsSchemaItems:
      type: string
      enum:
        - label
        - sort_order
        - value_data
        - is_default
      title: CatalogProductsProductIdOptionsOptionIdValuesValueIdGetParametersIncludeFieldsSchemaItems
    CatalogProductsProductIdOptionsOptionIdValuesValueIdGetParametersExcludeFieldsSchemaItems:
      type: string
      enum:
        - label
        - sort_order
        - value_data
        - is_default
      title: CatalogProductsProductIdOptionsOptionIdValuesValueIdGetParametersExcludeFieldsSchemaItems
    CatalogProductsProductIdOptionsOptionIdValuesValueIdGetResponsesContentApplicationJsonSchemaDataValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsOptionIdValuesValueIdGetResponsesContentApplicationJsonSchemaDataValueData
    CatalogProductsProductIdOptionsOptionIdValuesValueIdGetResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesValueIdGetResponsesContentApplicationJsonSchemaDataValueData
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Common Option Value properties.
      title: CatalogProductsProductIdOptionsOptionIdValuesValueIdGetResponsesContentApplicationJsonSchemaData
    Values_getProductVariantOptionValue_Response_200:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesValueIdGetResponsesContentApplicationJsonSchemaData
          description: Common Option Value properties.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Values_getProductVariantOptionValue_Response_200
    GetProductVariantOptionValueRequestNotFoundError:
      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: GetProductVariantOptionValueRequestNotFoundError
    CatalogProductsProductIdOptionsOptionIdValuesValueIdPutRequestBodyContentApplicationJsonSchemaValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsOptionIdValuesValueIdPutRequestBodyContentApplicationJsonSchemaValueData
    CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaDataValueData:
      type: object
      properties: {}
      description: >
        Extra data describing the value, based on the type of option or modifier with which the value is associated. The
        `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
        `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
        `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
        value is considered to be the checked state.
      title: CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaDataValueData
    CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        is_default:
          type: boolean
          description: >
            The flag for preselecting a value as the default on the storefront. This field is not supported for swatch
            options/modifiers.
        label:
          type: string
          description: |
            The text display identifying the value on the storefront. Required in a /POST.
        sort_order:
          type: integer
          description: |
            The order in which the value will be displayed on the product page. Required in a /POST.
        value_data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaDataValueData
          description: >
            Extra data describing the value, based on the type of option or modifier with which the value is associated.
            The `swatch` type option can accept an array of `colors`, with up to three hexidecimal color keys; or an
            `image_url`, which is a full image URL path including protocol. The `product list` type option requires a
            `product_id`. The `checkbox` type option requires a boolean flag, called `checked_value`, to determine which
            value is considered to be the checked state.
        id:
          type: integer
          description: |
            The unique numeric ID of the value; increments sequentially.
      required:
        - label
        - sort_order
      description: Common Option Value properties.
      title: CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaData
    Values_updateProductVariantOptionValue_Response_200:
      type: object
      properties:
        data:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaData
          description: Common Option Value properties.
        meta:
          $ref: '#/components/schemas/metaEmpty_Full'
      title: Values_updateProductVariantOptionValue_Response_200
    CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaErrors
    UpdateProductVariantOptionValueRequestUnprocessableEntityError:
      type: object
      properties:
        errors:
          $ref: >-
            #/components/schemas/CatalogProductsProductIdOptionsOptionIdValuesValueIdPutResponsesContentApplicationJsonSchemaErrors
        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: UpdateProductVariantOptionValueRequestUnprocessableEntityError
  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).
