openapi: 3.1.0
info:
  title: 'Admin Management: Infrastructure Hosting'
  version: 1.0.0
paths:
  /stores/{store_hash}/v3/infrastructure/projects:
    get:
      operationId: listProjects
      summary: List Projects
      description: Returns a list of infrastructure hosting projects for the store. Supports cursor-based pagination and filtering.
      tags:
        - projects
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: limit
          in: query
          description: The number of results to return per page. Defaults to 50.
          required: false
          schema:
            type: integer
            default: 50
        - name: after
          in: query
          description: Cursor for forward pagination. Returns results after this cursor.
          required: false
          schema:
            type: string
        - name: before
          in: query
          description: Cursor for backward pagination. Returns results before this cursor.
          required: false
          schema:
            type: string
        - name: uuid:in
          in: query
          description: A comma-separated list of project UUIDs by which to filter. For example, `?uuid:in=uuid1,uuid2`.
          required: false
          schema:
            type: string
        - name: name:like
          in: query
          description: Filter projects by name using a partial match.
          required: false
          schema:
            type: string
        - name: date_created:min
          in: query
          description: Filter for projects created after this date. RFC 3339 format, for example `2024-01-01T00:00:00Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: date_created:max
          in: query
          description: Filter for projects created before this date. RFC 3339 format, for example `2024-12-31T23:59:59Z`.
          required: false
          schema:
            type: string
            format: date-time
        - name: date_modified:min
          in: query
          description: Filter for projects modified after this date. RFC 3339 format.
          required: false
          schema:
            type: string
            format: date-time
        - name: date_modified:max
          in: query
          description: Filter for projects modified before this date. RFC 3339 format.
          required: false
          schema:
            type: string
            format: date-time
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '200':
          description: The request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Projects_listProjects_Response_200'
        '422':
          description: A query parameter is not a valid filter.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: createProject
      summary: Create a Project
      description: Creates a new infrastructure hosting project.
      tags:
        - projects
      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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '201':
          description: The project was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Projects_createProject_Response_201'
        '409':
          description: A project with this name already exists.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateProjectRequest'
    delete:
      operationId: deleteProjects
      summary: Delete Projects
      description: Deletes one or more infrastructure hosting projects by UUID. The `project_uuid:in` query parameter is required.
      tags:
        - projects
      parameters:
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: project_uuid:in
          in: query
          description: A comma-separated list of project UUIDs to delete. For example, `?project_uuid:in=uuid1,uuid2`.
          required: true
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '204':
          description: The projects were deleted successfully. No content is returned.
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '422':
          description: The request could not be processed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /stores/{store_hash}/v3/infrastructure/projects/{project_uuid}:
    delete:
      operationId: deleteProject
      summary: Delete a Project
      description: Deletes a single infrastructure hosting project by UUID.
      tags:
        - projects
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the project to delete.
          required: true
          schema:
            type: string
            format: uuid
        - 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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '204':
          description: The project was deleted successfully. No content is returned.
          content:
            application/json:
              schema:
                type: object
                properties: {}
  /stores/{store_hash}/v3/infrastructure/projects/{project_uuid}/domains:
    get:
      operationId: listDomains
      summary: List Domains
      description: >-
        Returns the custom domains added to a project, along with each domain's verification status. Supports filtering
        by domain name and verification status.
      tags:
        - domains
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the project whose domains to list.
          required: true
          schema:
            type: string
            format: uuid
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: domain:in
          in: query
          description: >-
            A comma-separated list of domain names by which to filter. For example,
            `?domain:in=shop.example.com,www.example.com`.
          required: false
          schema:
            type: string
        - name: verification_status
          in: query
          description: Filter domains by verification status.
          required: false
          schema:
            $ref: '#/components/schemas/InfrastructureProjectsProjectUuidDomainsGetParametersVerificationStatus'
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '200':
          description: The request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domains_listDomains_Response_200'
        '400':
          description: A query parameter is not allowed or has an invalid value.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    post:
      operationId: addDomain
      summary: Add a Domain
      description: >-
        Adds a custom domain to a project. Adding a domain triggers DNS verification and binds the domain in the routing
        layer. The domain starts in the `pending` verification status until DNS propagation and hostname validation
        completes.


        If the domain is already bound to a different store, this endpoint returns a `409 Conflict` whose
        `meta.ownership_verification` contains the TXT record you must publish before claiming the domain with the
        [Claim a Domain](#claim-a-domain) endpoint.
      tags:
        - domains
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the project to add the domain to.
          required: true
          schema:
            type: string
            format: uuid
        - 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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '201':
          description: The domain was added successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domains_addDomain_Response_201'
        '404':
          description: The specified project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            The domain could not be added because of a conflict. This occurs when the domain is already added to this
            project, is bound to another project in this store (use the [Transfer a Domain](#transfer-a-domain)
            endpoint), is bound to a different store (verify ownership with the [Claim a Domain](#claim-a-domain)
            endpoint), is already in use on BigCommerce, or another operation is in progress for the domain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: The domain could not be added because it is reserved or the project has reached its custom domain limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddDomainRequest'
  /stores/{store_hash}/v3/infrastructure/projects/{project_uuid}/domains/{domain}:
    get:
      operationId: getDomain
      summary: Get a Domain
      description: Returns a single custom domain and its verification status.
      tags:
        - domains
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the project the domain belongs to.
          required: true
          schema:
            type: string
            format: uuid
        - name: domain
          in: path
          description: The custom domain name.
          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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '200':
          description: The request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Domains_getDomain_Response_200'
        '404':
          description: The domain was not found for this project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteDomain
      summary: Remove a Domain
      description: >-
        Removes a custom domain from a project. This unbinds the domain from the routing layer and stops serving traffic
        for it.
      tags:
        - domains
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the project the domain belongs to.
          required: true
          schema:
            type: string
            format: uuid
        - name: domain
          in: path
          description: The custom domain name to remove.
          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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '204':
          description: The domain was removed successfully. No content is returned.
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '404':
          description: The specified project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /stores/{store_hash}/v3/infrastructure/projects/{project_uuid}/domains/{domain}/claim:
    post:
      operationId: claimDomain
      summary: Claim a Domain
      description: >-
        Claims ownership of a custom domain that is bound to a different store. Before calling this endpoint, publish
        the ownership-verification TXT record returned by the [Add a Domain](#add-a-domain) endpoint's `409` response.
        Once the TXT record is verified, the domain is released from the other store and bound to this project.
      tags:
        - domains
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the project to claim the domain for.
          required: true
          schema:
            type: string
            format: uuid
        - name: domain
          in: path
          description: The custom domain name to claim.
          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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '204':
          description: The domain was claimed successfully. No content is returned.
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '404':
          description: The specified project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            The domain could not be claimed because of a conflict. This occurs when the domain is not bound to any
            project, is already bound to another project in this store (use the [Transfer a Domain](#transfer-a-domain)
            endpoint), or another operation is in progress for the domain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: >-
            The domain could not be claimed because ownership verification failed or the claim would exceed the
            project's custom domain limit. When verification fails, `meta.ownership_verification` contains the TXT
            record to publish.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /stores/{store_hash}/v3/infrastructure/projects/{project_uuid}/domains/{domain}/transfer:
    post:
      operationId: transferDomain
      summary: Transfer a Domain
      description: >-
        Transfers a custom domain from its current project to another project in the same store. The source project is
        the `{project_uuid}` in the path; the destination project is supplied in the request body. The destination
        project must differ from the source project.
      tags:
        - domains
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the source project the domain is currently bound to.
          required: true
          schema:
            type: string
            format: uuid
        - name: domain
          in: path
          description: The custom domain name to transfer.
          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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '204':
          description: The domain was transferred successfully. No content is returned.
          content:
            application/json:
              schema:
                type: object
                properties: {}
        '400':
          description: The destination project is the same as the source project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The source or destination project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: >-
            The domain could not be transferred because of a conflict. This occurs when the domain is not bound to any
            project in this store, is not owned by the source project, or another operation is in progress for the
            domain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Transferring the domain would exceed the destination project's custom domain limit.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransferDomainRequest'
  /stores/{store_hash}/v3/infrastructure/deployments:
    post:
      operationId: createDeployment
      summary: Create a Deployment
      description: >-
        Creates a new deployment for an infrastructure hosting project. You must first generate an upload signature and
        upload your deployment artifact before creating a deployment.


        Only one deployment can be in progress per project at a time. If a deployment is already in progress, the API
        returns a `409 Conflict` response.
      tags:
        - deployments
      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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '201':
          description: The deployment was created successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deployments_createDeployment_Response_201'
        '409':
          description: A deployment is already in progress for this project.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDeploymentRequest'
  /stores/{store_hash}/v3/infrastructure/deployments/uploads:
    post:
      operationId: generateUploadSignature
      summary: Generate Upload Signature
      description: >-
        Generates a pre-signed upload URL for uploading deployment artifacts. Use the returned `upload_url` to upload
        your deployment package, then pass the `upload_uuid` when creating a deployment.
      tags:
        - deployments
      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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '200':
          description: The upload signature was generated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Deployments_generateUploadSignature_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EmptyMeta'
  /stores/{store_hash}/v3/infrastructure/deployments/{deployment_uuid}/events:
    get:
      operationId: getDeploymentEventStream
      summary: Get Deployment Event Stream
      description: >-
        Opens a server-sent events (SSE) stream that delivers real-time deployment progress updates. The stream remains
        open until the deployment completes, fails, or the connection times out (30 seconds).


        Each event is a JSON object delivered as an SSE `data` field.
      tags:
        - deployments
      parameters:
        - name: deployment_uuid
          in: path
          description: The UUID of the deployment to stream events for.
          required: true
          schema:
            type: string
            format: uuid
        - 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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '200':
          description: A stream of server-sent events with deployment progress updates. The `data` attribute is stringified JSON.
          content:
            text/event-stream:
              schema:
                type: string
        '400':
          description: The deployment UUID is not a valid UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /stores/{store_hash}/v3/infrastructure/logs/{project_uuid}:
    get:
      operationId: queryLogs
      summary: Query Logs
      description: >-
        Returns historical worker logs for a project within a time window. Supports filtering by HTTP method, status
        code, URL, and minimum severity level, plus cursor-based pagination.


        The `start` and `end` query parameters are both required, and the window between them cannot exceed 7 days.


        > **Note**: To stream logs in real time instead, use the [Tail Worker Logs](#tail-worker-logs) endpoint.
      tags:
        - logs
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the project to query logs for.
          required: true
          schema:
            type: string
            format: uuid
        - name: store_hash
          in: path
          description: Permanent ID of the BigCommerce store.
          required: true
          schema:
            type: string
        - name: start
          in: query
          description: >-
            The start of the time window to query. Accepts an RFC 3339 timestamp or a Unix epoch in seconds. Must be
            before `end`.
          required: true
          schema:
            type: string
        - name: end
          in: query
          description: >-
            The end of the time window to query. Accepts an RFC 3339 timestamp or a Unix epoch in seconds. The window
            between `start` and `end` cannot exceed 7 days.
          required: true
          schema:
            type: string
        - name: method
          in: query
          description: Filter logs by HTTP method, for example `GET`.
          required: false
          schema:
            type: string
        - name: status_code
          in: query
          description: Filter logs by HTTP response status code. Must be between 100 and 599.
          required: false
          schema:
            type: integer
        - name: url:like
          in: query
          description: Filter logs by a partial match on the request URL.
          required: false
          schema:
            type: string
        - name: level:min
          in: query
          description: Filter logs to only those at or above the given severity level.
          required: false
          schema:
            $ref: '#/components/schemas/InfrastructureLogsProjectUuidGetParametersLevelMin'
        - name: limit
          in: query
          description: The number of results to return per page. Defaults to 50.
          required: false
          schema:
            type: integer
            default: 50
        - name: after
          in: query
          description: Cursor for forward pagination. Returns results after this cursor.
          required: false
          schema:
            type: string
        - name: before
          in: query
          description: Cursor for backward pagination. Returns results before this cursor.
          required: false
          schema:
            type: string
        - name: X-Auth-Token
          in: header
          description: >-
            ### OAuth scopes


            | UI Name | Permission | Parameter |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '200':
          description: The request completed successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Logs_queryLogs_Response_200'
        '400':
          description: The project UUID is not a valid UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: The specified project was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: >-
            The request could not be processed because a query parameter is missing or invalid, or the time window
            exceeds 7 days.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /stores/{store_hash}/v3/infrastructure/logs/{project_uuid}/tail:
    get:
      operationId: tailWorkerLogs
      summary: Tail Worker Logs
      description: >-
        Opens a server-sent events (SSE) stream that delivers real-time worker logs for a project. The stream includes
        log messages, request data, and exception information. A keep-alive is sent every 15 seconds. The stream times
        out after 60 seconds.


        Each event is a JSON object delivered as an SSE `data` field.


        > **Note**: This endpoint is served from the streaming API server, not the main API gateway.
      tags:
        - logs
      parameters:
        - name: project_uuid
          in: path
          description: The UUID of the project to tail logs for.
          required: true
          schema:
            type: string
            format: uuid
        - 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 |

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

            | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

            | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

            | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

            | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

            | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

            | Infrastructure Logs | read-only | `store_infrastructure_logs_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
      responses:
        '200':
          description: A stream of server-sent events with real-time worker log entries. The `data` attribute is stringified JSON.
          content:
            text/event-stream:
              schema:
                type: string
        '400':
          description: The project UUID is not a valid UUID.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
servers:
  - url: https://api.bigcommerce.com
    description: https://api.bigcommerce.com
components:
  schemas:
    Project:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          description: The unique identifier for the project.
        name:
          type: string
          description: The name of the project.
        date_created:
          type: string
          format: date-time
          description: The date the project was created, in RFC 3339 format.
        date_modified:
          type: string
          format: date-time
          description: The date the project was last modified, in RFC 3339 format.
      description: An infrastructure hosting project.
      title: Project
    CursorPaginationMetaCursorPaginationLinks:
      type: object
      properties:
        previous:
          type: string
          description: The relative URL for the previous page.
        next:
          type: string
          description: The relative URL for the next page.
      title: CursorPaginationMetaCursorPaginationLinks
    CursorPaginationMetaCursorPagination:
      type: object
      properties:
        count:
          type: integer
          description: The number of items in the current page.
        per_page:
          type: integer
          description: The number of items per page.
        start_cursor:
          type: string
          description: The cursor marking the start of the current page.
        end_cursor:
          type: string
          description: The cursor marking the end of the current page.
        links:
          $ref: '#/components/schemas/CursorPaginationMetaCursorPaginationLinks'
      title: CursorPaginationMetaCursorPagination
    CursorPaginationMeta:
      type: object
      properties:
        cursor_pagination:
          $ref: '#/components/schemas/CursorPaginationMetaCursorPagination'
      description: Meta information including cursor-based pagination.
      title: CursorPaginationMeta
    Projects_listProjects_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Project'
        meta:
          $ref: '#/components/schemas/CursorPaginationMeta'
      title: Projects_listProjects_Response_200
    ErrorResponseErrors:
      type: object
      properties: {}
      description: Additional error details.
      title: ErrorResponseErrors
    ErrorResponse:
      type: object
      properties:
        status:
          type: integer
          description: The HTTP status code.
        title:
          type: string
          description: A description of the error.
        type:
          type: string
          description: A URL identifying the error type.
        errors:
          $ref: '#/components/schemas/ErrorResponseErrors'
          description: Additional error details.
        meta:
          type: object
          additionalProperties:
            description: Any type
          description: >-
            Additional structured context for the error, such as the ownership-verification TXT record to publish, the
            conflicting `project_uuid`, or the domain `limit` and `current` count.
      description: Error payload for the BigCommerce API.
      title: ErrorResponse
    CreateProjectRequest:
      type: object
      properties:
        name:
          type: string
          description: The name for the new project.
      required:
        - name
      title: CreateProjectRequest
    EmptyMeta:
      type: object
      properties: {}
      description: Empty meta object.
      title: EmptyMeta
    Projects_createProject_Response_201:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Project'
        meta:
          $ref: '#/components/schemas/EmptyMeta'
      title: Projects_createProject_Response_201
    InfrastructureProjectsProjectUuidDomainsGetParametersVerificationStatus:
      type: string
      enum:
        - pending
        - verified
        - failed
      title: InfrastructureProjectsProjectUuidDomainsGetParametersVerificationStatus
    DomainVerificationStatus:
      type: string
      enum:
        - pending
        - verified
        - failed
        - unknown
      description: |-
        The rolled-up DNS verification and SSL state of the domain.
        - `pending`: Verification is in progress, awaiting DNS propagation.
        - `verified`: The domain is verified and serving traffic.
        - `failed`: Verification failed.
        - `unknown`: The verification state could not be determined.
      title: DomainVerificationStatus
    Domain:
      type: object
      properties:
        domain:
          type: string
          description: The custom domain name.
        project_uuid:
          type: string
          format: uuid
          description: The UUID of the project the domain is bound to.
        verification_status:
          $ref: '#/components/schemas/DomainVerificationStatus'
          description: |-
            The rolled-up DNS verification and SSL state of the domain.
            - `pending`: Verification is in progress, awaiting DNS propagation.
            - `verified`: The domain is verified and serving traffic.
            - `failed`: Verification failed.
            - `unknown`: The verification state could not be determined.
      description: A custom domain bound to an infrastructure hosting project.
      title: Domain
    Domains_listDomains_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Domain'
        meta:
          $ref: '#/components/schemas/EmptyMeta'
      title: Domains_listDomains_Response_200
    Domains_getDomain_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Domain'
        meta:
          $ref: '#/components/schemas/EmptyMeta'
      title: Domains_getDomain_Response_200
    AddDomainRequest:
      type: object
      properties:
        domain:
          type: string
          description: The custom domain name to add to the project.
      required:
        - domain
      title: AddDomainRequest
    Domains_addDomain_Response_201:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Domain'
        meta:
          $ref: '#/components/schemas/EmptyMeta'
      title: Domains_addDomain_Response_201
    TransferDomainRequest:
      type: object
      properties:
        new_project_uuid:
          type: string
          format: uuid
          description: >-
            The UUID of the destination project to transfer the domain to. Must differ from the source project in the
            path.
      required:
        - new_project_uuid
      title: TransferDomainRequest
    EnvironmentVariableType:
      type: string
      enum:
        - plain_text
        - secret
      description: |-
        The type of environment variable.
        - `plain_text`: A regular environment variable visible in responses.
        - `secret`: A sensitive environment variable that is encrypted and not returned in responses.
      title: EnvironmentVariableType
    EnvironmentVariable:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/EnvironmentVariableType'
          description: |-
            The type of environment variable.
            - `plain_text`: A regular environment variable visible in responses.
            - `secret`: A sensitive environment variable that is encrypted and not returned in responses.
        key:
          type: string
          description: The name of the environment variable.
        value:
          type: string
          description: The value of the environment variable.
      required:
        - type
        - key
        - value
      title: EnvironmentVariable
    CreateDeploymentRequest:
      type: object
      properties:
        upload_uuid:
          type: string
          description: The UUID of the uploaded deployment artifact, obtained from the Generate Upload Signature endpoint.
        project_uuid:
          type: string
          format: uuid
          description: The UUID of the project to deploy to.
        environment_variables:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/EnvironmentVariable'
          description: Optional environment variables to set for this deployment.
      required:
        - upload_uuid
        - project_uuid
      title: CreateDeploymentRequest
    CreateDeploymentResponse:
      type: object
      properties:
        deployment_uuid:
          type: string
          format: uuid
          description: The unique identifier of the newly created deployment.
      title: CreateDeploymentResponse
    Deployments_createDeployment_Response_201:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CreateDeploymentResponse'
        meta:
          $ref: '#/components/schemas/EmptyMeta'
      title: Deployments_createDeployment_Response_201
    UploadSignatureResponse:
      type: object
      properties:
        upload_url:
          type: string
          format: uri
          description: The pre-signed URL to upload the deployment artifact to.
        upload_uuid:
          type: string
          description: The UUID identifying this upload. Pass this value when creating a deployment.
      title: UploadSignatureResponse
    Deployments_generateUploadSignature_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/UploadSignatureResponse'
        meta:
          $ref: '#/components/schemas/EmptyMeta'
      title: Deployments_generateUploadSignature_Response_200
    InfrastructureLogsProjectUuidGetParametersLevelMin:
      type: string
      enum:
        - debug
        - info
        - warn
        - error
      title: InfrastructureLogsProjectUuidGetParametersLevelMin
    LogEntryLevel:
      type: string
      enum:
        - debug
        - info
        - warn
        - error
        - unknown
      description: The severity level of the log entry.
      title: LogEntryLevel
    LogEntryRequest:
      type: object
      properties:
        method:
          type: string
          description: The HTTP method.
        url:
          type: string
          description: The request URL.
        status_code:
          type: integer
          description: The HTTP response status code.
      description: HTTP request information associated with this log entry, if applicable.
      title: LogEntryRequest
    LogEntry:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier for this log entry.
        timestamp:
          type:
            - string
            - 'null'
          format: date-time
          description: The timestamp of the log entry, in RFC 3339 format.
        level:
          $ref: '#/components/schemas/LogEntryLevel'
          description: The severity level of the log entry.
        messages:
          type: array
          items:
            type: string
          description: The log message content.
        is_exception:
          type: boolean
          description: Whether this log entry represents an exception.
        exception_name:
          type: string
          description: The name or type of the exception, if `is_exception` is `true`. Empty otherwise.
        request:
          oneOf:
            - $ref: '#/components/schemas/LogEntryRequest'
            - type: 'null'
          description: HTTP request information associated with this log entry, if applicable.
      description: A single historical worker log entry returned by the Query Logs endpoint.
      title: LogEntry
    Logs_queryLogs_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/LogEntry'
        meta:
          $ref: '#/components/schemas/CursorPaginationMeta'
      title: Logs_queryLogs_Response_200
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        ### OAuth scopes


        | UI Name | Permission | Parameter |

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

        | Infrastructure Deployments | read-only | `store_infrastructure_deployments_read_only` |

        | Infrastructure Deployments | create preview | `store_infrastructure_deployments_create_preview` |

        | Infrastructure Deployments | manage | `store_infrastructure_deployments_manage` |

        | Infrastructure Projects | read-only | `store_infrastructure_projects_read_only` |

        | Infrastructure Projects | manage | `store_infrastructure_projects_manage` |

        | Infrastructure Logs | read-only | `store_infrastructure_logs_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).
