openapi: 3.1.0
info:
  title: 'Admin Content: Themes'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/themes:
    get:
      operationId: getStoreThemes
      summary: List Themes
      description: Returns a list of store *Themes*.
      tags:
        - themes
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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/ThemesCollectionResponse'
    post:
      operationId: uploadStoreTheme
      summary: Upload Theme
      description: |-
        Uploads a new *Theme* to your BigCommerce store.

        **Required Fields**
        * file
      tags:
        - themes
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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:
        '201':
          description: Job ID for the background job processing the theme upload.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobId'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                file:
                  type: string
                  format: binary
                  description: The file.
              required:
                - file
  /stores/{store_hash}/v3/themes/{uuid}:
    get:
      operationId: getStoreTheme
      summary: Get Theme
      description: Returns a store *Theme*. The theme variation is not available at this endpoint.
      tags:
        - themes
      parameters:
        - name: uuid
          in: path
          description: The theme identifier.
          required: true
          schema:
            type: string
        - 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 |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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/ThemeResponse'
    delete:
      operationId: deleteStoreTheme
      summary: Delete Theme
      description: |-
        Deletes a store *Theme*.
        Theme variations can not be deleted using this endpoint. This will delete the theme and all variations.
      tags:
        - themes
      parameters:
        - name: uuid
          in: path
          description: The theme identifier.
          required: true
          schema:
            type: string
        - 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 |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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/themes/{uuid}/actions/download:
    post:
      operationId: downloadStoreTheme
      summary: Download Theme
      description: Downloads a stores *Theme*.
      tags:
        - themeActions
      parameters:
        - name: uuid
          in: path
          description: The theme identifier.
          required: true
          schema:
            type: string
        - 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 |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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: Job ID for the background job processing the download.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/JobId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WhichThemeToDownload'
  /stores/{store_hash}/v3/themes/actions/activate:
    post:
      operationId: activateStoreTheme
      summary: Activate Theme
      description: |-
        Actives a store *Theme*.

        This returns a 204 response upon success.
      tags:
        - themeActions
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: channel_id
          in: query
          description: The ID for the channel where you want to activate the theme.
          required: false
          schema:
            type: integer
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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: This returns when the request is successful.
          content:
            application/json:
              schema:
                type: object
                properties: {}
      requestBody:
        description: Request parameters.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Activate'
  /stores/{store_hash}/v3/themes/{uuid}/configurations:
    get:
      operationId: getThemeConfiguration
      summary: Get Theme Configuration
      description: |-
        Returns a list of theme's configurations.

        **Usage Notes**:
        * At least one filter must be provided.
      tags:
        - themeConfigurations
      parameters:
        - name: uuid
          in: path
          description: The theme identifier.
          required: true
          schema:
            type: string
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: uuid:in
          in: query
          description: Filter configurations by passing a comma-separated list of configuration UUIDs.
          required: false
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: channel_id:in
          in: query
          description: Filter configurations by passing a comma-separated list of channel IDs.
          required: false
          schema:
            type: array
            items:
              type: integer
        - name: page
          in: query
          description: |
            Specifies the page number in a limited (paginated) list.
          required: false
          schema:
            type: integer
        - name: limit
          in: query
          description: |
            Controls the number of items per page in a limited (paginated) list of products.
          required: false
          schema:
            type: integer
        - name: variation_uuid
          in: query
          description: Filter configurations by a variation_uuid.
          required: false
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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/Theme Configurations_getThemeConfiguration_Response_200'
  /stores/{store_hash}/v3/themes/{uuid}/configurations/validate:
    post:
      operationId: validateThemeConfiguration
      summary: Validate Theme Configuration
      description: >-
        Validates a theme configuration against the theme's schema without creating it. Useful for testing schemas
        before creation.
      tags:
        - themeConfigurations
      parameters:
        - name: uuid
          in: path
          description: The theme identifier.
          required: true
          schema:
            type: string
        - 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 |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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: Theme passes validation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Theme Configurations_validateThemeConfiguration_Response_200'
        '422':
          description: Theme failed validation, detailed errors in response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/themeConfiguration_Write'
  /stores/{store_hash}/v3/themes/custom-templates/{version_uuid}:
    get:
      operationId: getThemeCustomTemplates
      summary: List Custom Templates
      description: >-
        Enumerate available custom templates for in the theme files in a specific theme version for each supported
        entity type.
      tags:
        - themeCustomTemplates
      parameters:
        - name: version_uuid
          in: path
          required: true
          schema:
            type: string
        - 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 |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Theme Custom Templates_getThemeCustomTemplates_Response_200'
  /stores/{store_hash}/v3/themes/jobs/{job_id}:
    get:
      operationId: getStoreThemeJob
      summary: Get Theme Job
      description: >-
        Returns a theme *Job*. When the job is complete, the results array provides a generated link to access the
        theme. The link is active for 60 seconds.
      tags:
        - themeJobs
      parameters:
        - name: job_id
          in: path
          description: The job identifier.
          required: true
          schema:
            type: string
        - 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 |

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

            |  Themes | modify | `store_themes_manage` |


            ### 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/JobResponse'
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    ThemesCollectionResponseDataItemsVariationsItems:
      type: object
      properties:
        description:
          type: string
          description: The description.
        external_id:
          type: string
          description: The external identifier.
        name:
          type: string
          description: The name.
        uuid:
          type: string
          description: The identifier.
      description: A variation.
      title: ThemesCollectionResponseDataItemsVariationsItems
    ThemesCollectionResponseDataItems:
      type: object
      properties:
        variations:
          type: array
          items:
            $ref: '#/components/schemas/ThemesCollectionResponseDataItemsVariationsItems'
          description: The variations.
        uuid:
          type: string
          description: The identifier.
        name:
          type: string
          description: The theme name identifier.
        is_private:
          type: boolean
          description: Flag to identify private themes.
        is_active:
          type: boolean
          description: Indicates whether this theme is active on the storefront.
        updated_at:
          type: string
          description: The date-time of the last theme update.
      description: A theme.
      title: ThemesCollectionResponseDataItems
    ThemesCollectionResponseMeta:
      type: object
      properties: {}
      description: Response metadata.
      title: ThemesCollectionResponseMeta
    ThemesCollectionResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ThemesCollectionResponseDataItems'
        meta:
          $ref: '#/components/schemas/ThemesCollectionResponseMeta'
          description: Response metadata.
      description: |
        Response payload for the BigCommerce API.
      title: ThemesCollectionResponse
    JobId:
      type: object
      properties:
        job_id:
          type: string
          description: The job identifier.
      description: The job identifier for theme upload or download.
      title: JobId
    ThemeVariationsItems:
      type: object
      properties:
        description:
          type: string
          description: The description.
        external_id:
          type: string
          description: The external identifier.
        name:
          type: string
          description: The name.
        uuid:
          type: string
          description: The identifier.
      description: A variation.
      title: ThemeVariationsItems
    Theme:
      type: object
      properties:
        variations:
          type: array
          items:
            $ref: '#/components/schemas/ThemeVariationsItems'
          description: The variations.
        uuid:
          type: string
          description: The identifier.
        name:
          type: string
          description: The theme name identifier.
        is_private:
          type: boolean
          description: Flag to identify private themes.
        is_active:
          type: boolean
          description: Indicates whether this theme is active on the storefront.
        updated_at:
          type: string
          description: The date-time of the last theme update.
      description: A theme.
      title: Theme
    CollectionMeta:
      type: object
      properties: {}
      description: Response metadata.
      title: CollectionMeta
    ThemeResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Theme'
        meta:
          $ref: '#/components/schemas/CollectionMeta'
      description: |
        Response payload for the BigCommerce API.
      title: ThemeResponse
    WhichThemeToDownloadWhich:
      type: string
      enum:
        - original
        - last_activated
        - last_created
      description: Which revision to use.
      title: WhichThemeToDownloadWhich
    WhichThemeToDownload:
      type: object
      properties:
        which:
          $ref: '#/components/schemas/WhichThemeToDownloadWhich'
          description: Which revision to use.
      description: >-
        An object specifying which theme to download. One of: `original`: the original Marketplace or uploaded custom
        theme; `last_activated`: the theme version most recently applied to the store; `last_created`: the theme version
        most recently created. If `which` is missing or invalid in the request, its value will default to
        `last_activated`.
      title: WhichThemeToDownload
    ActivateWhich:
      type: string
      enum:
        - original
        - last_activated
        - last_created
      description: Which configuration to use.
      title: ActivateWhich
    Activate:
      type: object
      properties:
        variation_id:
          type: string
          description: The identifier for the variation to activate.
        which:
          $ref: '#/components/schemas/ActivateWhich'
          description: Which configuration to use.
      required:
        - variation_id
      description: Request definition for activation endpoint.
      title: Activate
    ThemeConfigurationFullSettings:
      type: object
      properties: {}
      description: The content of the configuration, which is a JSON object which will vary in structure from theme to theme.
      title: ThemeConfigurationFullSettings
    themeConfiguration_Full:
      type: object
      properties:
        uuid:
          type: string
        theme_uuid:
          type: string
          description: The Theme to which the Configuration belongs.
        variation_id:
          type: string
          description: The Variation to which the Configuration belongs.
        settings:
          $ref: '#/components/schemas/ThemeConfigurationFullSettings'
          description: The content of the configuration, which is a JSON object which will vary in structure from theme to theme.
        date_created:
          type: string
        site_id:
          type: integer
          description: Site ID to which this configuration belongs. Will be 0 for the original configuration for a Theme.
      description: A theme.
      title: themeConfiguration_Full
    ThemesCollectionMeta:
      type: object
      properties: {}
      description: Response metadata.
      title: ThemesCollectionMeta
    Theme Configurations_getThemeConfiguration_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/themeConfiguration_Full'
        meta:
          $ref: '#/components/schemas/ThemesCollectionMeta'
      description: |
        Response payload for the BigCommerce API.
      title: Theme Configurations_getThemeConfiguration_Response_200
    ThemeConfigurationWriteSettings:
      type: object
      properties: {}
      description: The content of the configuration, which is a JSON object which will vary in structure from theme to theme.
      title: ThemeConfigurationWriteSettings
    themeConfiguration_Write:
      type: object
      properties:
        variation_id:
          type: string
          description: The Variation to which the Configuration belongs.
        settings:
          $ref: '#/components/schemas/ThemeConfigurationWriteSettings'
          description: The content of the configuration, which is a JSON object which will vary in structure from theme to theme.
      description: A theme.
      title: themeConfiguration_Write
    Theme Configurations_validateThemeConfiguration_Response_200:
      type: object
      properties: {}
      title: Theme Configurations_validateThemeConfiguration_Response_200
    ErrorResponseErrors:
      type: object
      properties: {}
      title: ErrorResponseErrors
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
        instance:
          type: string
        errors:
          $ref: '#/components/schemas/ErrorResponseErrors'
      title: ErrorResponse
    ThemesCustomTemplatesVersionUuidGetResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        product:
          type: array
          items:
            type: string
        category:
          type: array
          items:
            type: string
        brand:
          type: array
          items:
            type: string
        page:
          type: array
          items:
            type: string
      title: ThemesCustomTemplatesVersionUuidGetResponsesContentApplicationJsonSchemaData
    OpenMeta:
      type: object
      properties: {}
      description: Response metadata.
      title: OpenMeta
    Theme Custom Templates_getThemeCustomTemplates_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ThemesCustomTemplatesVersionUuidGetResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/OpenMeta'
      title: Theme Custom Templates_getThemeCustomTemplates_Response_200
    JobResponseDataErrorsItems:
      type: object
      properties:
        error:
          type: string
          description: The error.
        message:
          type: string
          description: The message.
      title: JobResponseDataErrorsItems
    JobResponseDataResult:
      type: object
      properties: {}
      description: The result.
      title: JobResponseDataResult
    JobResponseDataStatus:
      type: string
      enum:
        - COMPLETED
        - QUEUED
        - WORKING
        - FAILED
      description: The status.
      title: JobResponseDataStatus
    JobResponseDataWarningsItems:
      type: object
      properties:
        message:
          type: string
          description: The message.
        warning:
          type: string
          description: The warning.
      title: JobResponseDataWarningsItems
    JobResponseData:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/JobResponseDataErrorsItems'
          description: The errors.
        id:
          type: string
          description: The identifier.
        percent_complete:
          type: number
          format: double
          description: The percent complete.
        result:
          $ref: '#/components/schemas/JobResponseDataResult'
          description: The result.
        status:
          $ref: '#/components/schemas/JobResponseDataStatus'
          description: The status.
        time:
          type: string
          format: date-time
          description: The time.
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/JobResponseDataWarningsItems'
          description: The warnings.
      description: The job for theme upload or download
      title: JobResponseData
    JobResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/JobResponseData'
          description: The job for theme upload or download
        meta:
          $ref: '#/components/schemas/OpenMeta'
      description: Response for /GET Jobs by Id.
      title: JobResponse
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

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

        |  Themes | modify | `store_themes_manage` |


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