openapi: 3.1.0
info:
  title: Beta Powered By
  version: 1.0.0
paths:
  /accounts:
    get:
      operationId: getAccounts
      summary: List Accounts
      description: |
        This endpoint allows you to retrieve all accounts under your franchise.
      tags:
        - accounts
      parameters:
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Accounts_getAccounts_Response_200'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountsRequestUnauthorizedError'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new
            request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountsRequestBadGatewayError'
        '503':
          description: >-
            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            [the BigCommerce system status](http://status.bigcommerce.com/). A service is likely down and you will need
            to send the request again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountsRequestServiceUnavailableError'
        '504':
          description: >-
            Gateway Timeout


            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request. However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be
            made again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountsRequestGatewayTimeoutError'
    post:
      operationId: createAccount
      summary: Create Account
      description: >-
        This endpoint allows you to create a new account for a merchant under your franchise. In order to create a store
        for a merchant, an account must exist.
      tags:
        - accounts
      parameters:
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Accounts_createAccount_Response_200'
        '400':
          description: Malformed request syntax. Typically you need to fix the JSON body and resend.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountRequestBadRequestError'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountRequestUnauthorizedError'
        '409':
          description: >-
            Conflict


            This occurs if there is an account in the BigCommerce system with the given `ID` or `user_email`. Please
            provide a new value for one of these fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountRequestConflictError'
        '422':
          description: >-
            Unprocessable Entity


            This occurs when missing or unacceptable data is passed for one or more fields. Please correct the values
            for the fields listed in the error object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountRequestUnprocessableEntityError'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new get
            request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountRequestBadGatewayError'
        '503':
          description: >-
            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            [the BigCommerce system status](http://status.bigcommerce.com/). A service is likely down and you will need
            to send the request again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountRequestServiceUnavailableError'
        '504':
          description: >-
            Gateway Timeout


            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request. However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be
            made again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountRequestGatewayTimeoutError'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: string
                  description: Associated account ID within partner’s system. Must be unique within your franchise.
                name:
                  type: string
                  description: >-
                    Company name for the account and the name displayed at login when a merchant has multiple stores. 40
                    character limit.
                user_email:
                  type: string
                  description: Email address of the user who will be the store owner for the account.
                primary_contact:
                  $ref: '#/components/schemas/AccountsPostRequestBodyContentApplicationJsonSchemaPrimaryContact'
                billing_contact:
                  $ref: '#/components/schemas/billing_contact'
                locale:
                  type: string
                  default: en
                  description: >-
                    `locale` is used when sending email communications (such as account activation emails) to the
                    accountʼs `user_email`.
              required:
                - id
                - name
                - user_email
                - primary_contact
  /accounts/{account_id}:
    get:
      operationId: getAccount
      summary: Get Account
      description: This endpoint allows you to retrieve a specific account under your franchise.
      tags:
        - accounts
      parameters:
        - name: account_id
          in: path
          description: The account ID set when the account was created. Can be retrieved through a `GET` request to `/accounts`.
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Accounts_getAccount_Response_200'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountRequestUnauthorizedError'
        '404':
          description: If the requested account resource is not found for the franchise, return a 404 Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorBase'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. It is possible
            that there was an issue with the original create account request - submit a new create store request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountRequestBadGatewayError'
        '503':
          description: >-
            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            [the BigCommerce system status](http://status.bigcommerce.com/). A service is likely down and you will need
            to send the request again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAccountRequestServiceUnavailableError'
        '504':
          description: >-
            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request; However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to
            be made again when it is back up (in several hours usually)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorDetailed'
    put:
      operationId: updateAccount
      summary: Update Account
      description: This endpoint allows you to update an account for a merchant under your franchise.
      tags:
        - accounts
      parameters:
        - name: account_id
          in: path
          description: The account ID set when the account was created. Can be retrieved through a `GET` request to `/accounts`.
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Accounts_updateAccount_Response_200'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAccountRequestBadRequestError'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response will be returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAccountRequestUnauthorizedError'
        '404':
          description: |-
            Not Found

            If the requested account resource is not found for the franchise, you will get a 404 Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAccountRequestNotFoundError'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. A new request
            should be made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAccountRequestBadGatewayError'
        '503':
          description: >-
            Service Unavailable


            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            the BigCommerce system status [here](http://status.bigcommerce.com/). A service is likely down and the
            request will need to be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAccountRequestServiceUnavailableError'
        '504':
          description: >-
            Gateway Timeout


            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request. However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](http://status.bigcommerce.com/). A service is likely down and the request will need to
            be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateAccountRequestGatewayTimeoutError'
      requestBody:
        description: Fields available for updating.
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name of the Company that the Account was created for
                primary_contact:
                  $ref: '#/components/schemas/AccountsAccountIdPutRequestBodyContentApplicationJsonSchemaPrimaryContact'
                  description: Primary contact for the Account
                billing_contact:
                  $ref: '#/components/schemas/AccountsAccountIdPutRequestBodyContentApplicationJsonSchemaBillingContact'
                  description: Billing contact information for the Account
  /accounts/with-password:
    post:
      operationId: createAccountWithPassword
      summary: Create Account with Set Password
      description: >-
        This endpoint can set the password for `user_email` which, if set, eliminates the account validation email and
        the requirement to validate the store prior to users being able to log in to that storeʼs control panel.
      tags:
        - accounts
      parameters:
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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/Accounts_createAccountWithPassword_Response_200'
      requestBody:
        description: Create Account Requests
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: >-
                    Company name for the account and the name displayed at login when a merchant has multiple stores. 40
                    character limit.
                user_email:
                  type: string
                  description: >-
                    Email address of user who will be the store owner for the account. Must be unique within BigCommerce
                    system.
                primary_contact:
                  $ref: '#/components/schemas/_primaryContact'
                password:
                  type: string
                  description: Plaintext password
                locale:
                  type: string
                  default: en
                  description: >-
                    `locale` is used when sending email communications (such as account activation emails) to the
                    accountʼs `user_email`.
              required:
                - name
                - user_email
                - primary_contact
  /accounts/{account_id}/stores:
    post:
      operationId: createStore
      summary: Create Store
      description: This endpoint allows you to create a new store for a merchant on a specific account under your franchise.
      tags:
        - stores
      parameters:
        - name: account_id
          in: path
          description: The account ID set when the account was created. Can be retrieved through a `GET` request to `/accounts`.
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/response_storePost'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreRequestUnauthorizedError'
        '409':
          description: >-
            Conflict


            This occurs if a store already exists on the specified account with the same store name. Retry the request
            with a unique value for the store_name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreRequestConflictError'
        '422':
          description: >
            Unprocessable Entity


            Several issues can result in a 422 return result.


            If the plan_sku that is passed in the response body is not a allowed for your franchise, a 422 response is
            returned with the following error:

            ```json

            {
                "status": 422,
                "title": "Unprocessable entity",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                   "plan_type": "Unallowable plan type"
                }
            }

            ```


            If required fields are missing, the given account in the request URL cannot be found, non-allowed list
            settings are passed, required allowed list settings are not provided, or the requested plan_sku is not in
            the partner’s allowed plans, a 422 is returned.

            ```json

            {
                "status": 422,
                "title": "Bad Request",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                    "sku": "SKU is required."
                }
            }

            ```


            Ex: If the account cannot be found:

            ```json

            {
                "status": 422,
                "title": "Bad Request",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                    "account_id": "not found"
                }
            }

            ```


            Ex: If non-allow list settings are passed:

            ```json

            {
                "status": 422,
                "title": "Bad Request",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                    "settings": "Unaccepted settings values provided."
                }
            }

            ```


            Ex: If required allow list settings are not passed:

            ```json

            {
                "status": 422,
                "title": "Bad Request",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                    "settings": "Required settings values not provided."
                }
            }

            ```
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreRequestUnprocessableEntityError'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new
            store request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreRequestBadGatewayError'
        '503':
          description: >-
            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            [the BigCommerce system status](http://status.bigcommerce.com/). A service is likely down and you will need
            to send the request again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreRequestServiceUnavailableError'
        '504':
          description: >-
            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request; However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to
            be made again when it is back up (in several hours usually)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorDetailed'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_store'
  /stores/{store_id}:
    get:
      operationId: getStore
      summary: Get Store
      description: >-
        This endpoint allows you to retrieve details for a specific store on a specific account under your franchise.
        You can also poll this endpoint to confirm if a store has completed provisioning.
      tags:
        - stores
      parameters:
        - name: store_id
          in: path
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: >
            Success


            If a “Create Store” request was successfully received, the store - in any status - will be returned with a
            200 response code, along the store’s status and settings. 


            Merchant’s can access their store once the status is “active”. At this point, an email for account
            verification should have been received by them. 


            Provisioning store example (not ready for login):

            ```json

            {
                "data": {
                    "id": "1520270098436",
                    "status": "provisioning",
                    "plan_sku": "STORE-TRIAL-15DAY",
                    "store_name": "Pflugerville Coop"
                      "country": "US",
                    "account_id": "e818f592-5b73-4ba8-b14c-fc9d8cfb1453",
                    "store_launched": false
                },
                "meta": {}
            }

            ```



            Allocating store example (not ready for login):

            ```json

            {
                "data": {
                    "id": "1520270098436",
                    "status": "allocating",
                    "plan_sku": "STORE-TRIAL-15DAY",
                    "store_name": "Pflugerville Coop"
                    "store_hash": "lhv58otl0w",
                    "primary_hostname": "pflugerville-coop.store.bcdev",
                    "canonical_hostname": "store-lhv58otl0w.store.bcdev",
                      "country": "US",
                    "expires_at": "2018-03-20T17:17:58Z",
                    "account_id": "e818f592-5b73-4ba8-b14c-fc9d8cfb1453",
                    "store_launched": false
                },
                "meta": {}
            }

            ```


            Active store example (ready for login):

            ```json

            {
                "data": {
                    "id": "1520270098436",
                    "status": "active",
                    "plan_sku": "STORE-TRIAL-15DAY",
                    "store_name": "Pflugerville Coop"
                    "store_hash": "lhv58otl0w",
                    "primary_hostname": "pflugerville-coop.store.bcdev",
                    "canonical_hostname": "store-lhv58otl0w.store.bcdev",
                    "country": "US",
                    "allocated_at": "2018-03-05T17:18:33Z",
                    "expires_at": "2018-03-20T17:17:58Z",
                    "account_id": "e818f592-5b73-4ba8-b14c-fc9d8cfb1453",
                    "store_launched": false
                },
                "meta": {}
            }

            ```
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stores_getStore_Response_200'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStoreRequestUnauthorizedError'
        '404':
          description: |
            Not Found

            If the requested account resource is not found for the franchise, you get a 404 Not Found. 
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStoreRequestNotFoundError'
        '502':
          description: >
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new get
            request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStoreRequestBadGatewayError'
        '503':
          description: >-
            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            [the BigCommerce system status](http://status.bigcommerce.com/). A service is likely down and you will need
            to send the request again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStoreRequestServiceUnavailableError'
        '504':
          description: >
            If this occurs, retry the request. Typically retrying the request several times will result in a successful
            request. However, if you are unable to successfully make a request, please check the BigCommerce system
            status [here](http://status.bigcommerce.com/). A service is likely down and the request should be made again
            when it is back up.


            In some cases, this error indicates that the original “Create Store” request was never successful and needs
            to be retried. You can use the same response body as the initial Create Store request. The title will
            indicate this, as seen below:

            ```json

            {
                "status": 504,
                "title": "This store could not be created. Please try another store creation request.",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                 }
            }

            ```
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStoreRequestGatewayTimeoutError'
  /stores/{store_id}/login-url:
    post:
      operationId: createStoreLoginUrl
      summary: Create Store Login URL
      description: >
        `POST` `/stores/{store_id}/login-url` allows you to create a one-time login URL to redirect a merchant to their
        store control panel. You need to use a form to send a `POST` request and redirect the merchant’s browser to the
        action URL because most browsers only support `GET` requests in the address bar.


        ```javascript title=Sample Form Request

        loginForm = document.createElement("form");

        loginForm.setAttribute("method", "post");

        loginForm.setAttribute("action", "store login URL returned from endpoint");

        document.getElementsByTagName("body")[0].appendChild(loginForm);

        loginForm.submit();

        ```


        One-time login URLs support deep linking.


        You can have multiple active sessions for a singular user as long each is session is created through unique
        login URLs. This is important you are using a single login such as customerservice@partner.com to access
        merchants' stores.
      tags:
        - stores
      parameters:
        - name: store_id
          in: path
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: |
            Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stores_createStoreLoginUrl_Response_200'
        '400':
          description: >-
            Bad Request


            If the store is still provisioning or the request has malformed syntax, a 400 Bad Request is returned.
            Typically, you need to send the request once the store has completed provisioning or fix the JSON body and
            resend the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreLoginUrlRequestBadRequestError'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreLoginUrlRequestUnauthorizedError'
        '403':
          description: >
            Forbidden


            If an unauthorized franchise tries to make a request, the requested store is cancelled, an authorized
            franchise makes a request with a store that is not in their portfolio, or the requesting user makes a
            request for a store/account it does not have access to, a 403 Forbidden response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreLoginUrlRequestForbiddenError'
        '404':
          description: |-
            Not Found

            If a store with the given `store_id` does not exist, you get a 404 Not Found. 
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorBase'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new get
            request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreLoginUrlRequestBadGatewayError'
        '503':
          description: >-
            Service Unavailable


            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            the BigCommerce system status (here)[http://status.bigcommerce.com/]. A service is likely down and the
            request needs to be made again when the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreLoginUrlRequestServiceUnavailableError'
        '504':
          description: >-
            Gateway Timeout


            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request; However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to
            be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorDetailed'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                user_email:
                  type: string
                  description: >-
                    Email address of the requested user. Email must belong to a user that belongs to the requesting
                    account 
                redirect_path:
                  type: string
                  description: >-
                    Note that you do not need `/manage/` for your URLs. You only need the path after `/manage/` that you
                    would like the user directed to.
              required:
                - user_email
  /stores:
    get:
      operationId: getStores
      summary: List Stores
      description: This endpoint allows you to retrieve all stores under your franchise.
      tags:
        - stores
      parameters:
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Stores_getStores_Response_200'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStoresRequestUnauthorizedError'
        '404':
          description: If the requested account resource is not found for the franchise, return a 404 Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorBase'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new get
            request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStoresRequestBadGatewayError'
        '503':
          description: >-
            Service Unavailable


            If this occurs, retry the request. If you are unable to successfully make a request, please check the
            BigCommerce system status [here](http://status.bigcommerce.com/). A service is likely down and the request
            needs to be made again when the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetStoresRequestServiceUnavailableError'
  /stores/{store_id}/change-plan:
    post:
      operationId: createStorePlanChange
      summary: Create Store Plan Change
      description: Create Store Plan Change
      tags:
        - plans
      parameters:
        - name: store_id
          in: path
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans_createStorePlanChange_Response_200'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStorePlanChangeRequestUnauthorizedError'
        '404':
          description: |
            Not Found

            If a store with the given `store_id` does not exist, you will get a 404 Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStorePlanChangeRequestNotFoundError'
        '422':
          description: >
            Unprocessable Entity


            There are several circumstances that result in a 422 error response.


            If the plan_sku passed in the response body is not a allowed for your franchise, a 422 response is returned
            with the following error:

            ```json

            {
                "status": 422,
                "title": "Unprocessable entity",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                   "plan_type": "Unallowable plan type"
                }
            }

            ```


            If the plan_sku passed in the response body is already on the store, a 422 response is returned with the
            following error:

            ```json

            {
                "status": 422,
                "title": "Unprocessable entity",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                   "plan_type": "Failed to change plan. The store is already on the requested plan."
                }
            }

            ```


            If required fields are missing, a 422 response is returned with the following error:

            ```json

            {
                "status": 422,
                "title": "Bad Request",
                "type": "/developer/api-reference/rest/overview#rest-http-status-codes",
                "errors": {
                    "sku": "SKU is required."
                }
            }

            ```
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStorePlanChangeRequestUnprocessableEntityError'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new get
            request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStorePlanChangeRequestBadGatewayError'
        '503':
          description: >-
            Service Unavailable


            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the
            request will need to be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStorePlanChangeRequestServiceUnavailableError'
        '504':
          description: >-
            Gateway Timeout


            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request; However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to
            be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorDetailed'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                plan_sku:
                  type: string
                  description: The new BigCommerce plan type. The allow list for SKUs is configured on your franchise.
                effective:
                  $ref: '#/components/schemas/StoresStoreIdChangePlanPostRequestBodyContentApplicationJsonSchemaEffective'
                  description: >
                    Effective date for the plan change. Acceptable values:

                    * IMMEDIATELY - the change is effective immediately

                    * BILLCYCLEDAY - the change becomes effective at the start of the merchant’s next billing cycle,
                    with the exception of trial accounts which are effective immediately.


                    If the field is not specified, the change will become effective immediately.


                    If the field is specified and the value does not match the values above, the change will become
                    effective immediately.
              required:
                - plan_sku
  /stores/{store_id}/cancellations:
    post:
      operationId: createStoreCancellation
      summary: Create Store Cancellation
      description: >-
        This endpoint allows you to create a store cancellation at the end of the merchant’s current billing cycle. Once
        a merchant’s store is cancelled, billing is paused for the merchant’s store subscription.
      tags:
        - plans
      parameters:
        - name: store_id
          in: path
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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:
        '202':
          description: >-
            Accepted


            If the cancellation is successfully scheduled, a 202 Accepted response is returned with the id of the
            cancellation. 
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans_createStoreCancellation_Response_202'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreCancellationRequestUnauthorizedError'
        '404':
          description: |-
            Not Found

            If a store with the given `ID` does not exist, a 404 is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreCancellationRequestNotFoundError'
        '422':
          description: |-
            Unprocessable Entity

            If a store is not in an `active` or `suspended` state, a 422 Unprocessable Entity response is returned.
          content:
            application/json:
              schema:
                description: Any type
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new get
            request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreCancellationRequestBadGatewayError'
        '503':
          description: >-
            Service Unavailable


            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the
            request will need to be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreCancellationRequestServiceUnavailableError'
        '504':
          description: >-
            Gateway Timeout


            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request; However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to
            be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorDetailed'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_storeCancellation'
  /stores/{store_id}/suspensions:
    post:
      operationId: createStoreSuspension
      summary: Create Store Suspension
      description: >-
        This endpoint allows you to create a store suspension at the end of the merchant’s current billing cycle. Once a
        merchant’s store is suspended, billing is paused for the merchant’s store subscription.
      tags:
        - plans
      parameters:
        - name: store_id
          in: path
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans_createStoreSuspension_Response_200'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreSuspensionRequestUnauthorizedError'
        '404':
          description: |-
            Unauthorized

            If a store with the given `store_id` does not exist, you get a 404 Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorBase'
        '422':
          description: |-
            Unprocessable Entity

            If a store is not in an active state, a 422 Unprocessable Entity response is returned.
          content:
            application/json:
              schema:
                description: Any type
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new get
            request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreSuspensionRequestBadGatewayError'
        '503':
          description: >-
            Service Unavailable


            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            the BigCommerce system status [here](https://status.bigcommerce.com/). A service is likely down and the
            request will need to be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreSuspensionRequestServiceUnavailableError'
        '504':
          description: >-
            Gateway Timeout


            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request. However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be
            made again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreSuspensionRequestGatewayTimeoutError'
  /stores/{store_id}/reactivations:
    post:
      operationId: createStoreReactivation
      summary: Create Store Reactivation
      description: >-
        This endpoint allows you to reactivate a merchant’s suspended store immediately. Once a merchant’s store is
        reactivated, billing is resumed for the merchant’s store subscription.
      tags:
        - plans
      parameters:
        - name: store_id
          in: path
          required: true
          schema:
            type: string
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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:
        '202':
          description: >-
            Accepted


            If a store is able to be reactivated, it will return a 202 Accepted response with it’s status. It can take
            up to 15 minutes for a store to reactivate and move back to “active” status. Poll the Get Store endpoint to
            check store status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Plans_createStoreReactivation_Response_202'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a `client_id` and access token that do not belong together or are
            expired, a 401 Unauthorized Credentials response is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreReactivationRequestUnauthorizedError'
        '404':
          description: If a store with the given `store_id` does not exist, you get a 404 Not Found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorBase'
        '422':
          description: >-
            Unprocessable Entity


            If a store is not in a suspended state (i.e., a state that cannot be reactivated), a 422 Unprocessable
            Entity is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorDetailed'
        '502':
          description: >-
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. Submit a new get
            request. If it continues to fail, check the BigCommerce system status
            [here](http://status.bigcommerce.com/). A service is likely down and the request needs to be made again when
            the service is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreReactivationRequestBadGatewayError'
        '503':
          description: >-
            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            [the BigCommerce system status](http://status.bigcommerce.com/). A service is likely down and you will need
            to send the request again when the system is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateStoreReactivationRequestServiceUnavailableError'
        '504':
          description: >-
            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request; However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](https://status.bigcommerce.com/). A service is likely down and the request will need to
            be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_errorDetailed'
  /oauth/token:
    post:
      operationId: createToken
      summary: Get OAuth Token
      description: >-
        This endpoint allows you to generate a temporary OAuth token required to authenticate requests to the Powered by
        APIs. Franchises support a single OAuth token. Generating a new OAuth token will invalidate the previous OAuth
        token.
      tags:
        - auth
      parameters:
        - name: X-Auth-Client
          in: header
          description: The client ID of the franchise API account.
          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: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Auth_createToken_Response_200'
        '401':
          description: >-
            Unauthorized


            If a franchise makes a request with a client_id and client_secret that do not belong together, it returns a
            401 Unauthorized response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTokenRequestUnauthorizedError'
        '403':
          description: >-
            Forbidden


            If a franchise makes a request with a valid `client_id` and `client_secret` that do not belong to the
            franchise or the franchise does not exist in the system, it returns a 403 Forbidden response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTokenRequestForbiddenError'
        '502':
          description: >
            Bad Gateway


            If something happens during the request that causes it to fail, a 502 response is returned. A new request
            should be made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTokenRequestBadGatewayError'
        '503':
          description: >-
            Service Unavailable


            If this occurs, you should retry the request. If you are unable to successfully make a request, please check
            the BigCommerce system status [here](http://status.bigcommerce.com/). A service is likely down and the
            request will need to be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTokenRequestServiceUnavailableError'
        '504':
          description: >
            Gateway Timeout


            If this occurs, you should retry the request. Typically retrying the request several times will result in a
            successful request. However, if you are unable to successfully make a request, please check the BigCommerce
            system status [here](http://status.bigcommerce.com/). A service is likely down and the request will need to
            be made again when it is back up.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateTokenRequestGatewayTimeoutError'
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              type: object
              properties:
                duration:
                  type: number
                  format: double
              required:
                - duration
servers:
  - url: https://api.bigcommerce.com/franchises/franchise_uuid/v1
    description: BigCommerce Powered by API Gateway
  - url: https://api.bigcommerce.com/franchises/account_uuid/v1
    description: BigCommerce Powered by API Gateway
components:
  schemas:
    AccountsGetResponsesContentApplicationJsonSchemaDataItems:
      type: object
      properties:
        id:
          type: string
          description: >-
            The external ref ID of the account, as provided by the partner (or if was null, created upon account
            creation)
        name:
          type: string
          description: Name of the company associated with the account
        created_at:
          type: string
          description: Date the account was created
        support_pin:
          type: integer
          description: BigCommerce support pin
      title: AccountsGetResponsesContentApplicationJsonSchemaDataItems
    AccountsGetResponsesContentApplicationJsonSchemaMetaPaginationLinks:
      type: object
      properties:
        next:
          type: string
        current:
          type: string
      title: AccountsGetResponsesContentApplicationJsonSchemaMetaPaginationLinks
    AccountsGetResponsesContentApplicationJsonSchemaMetaPagination:
      type: object
      properties:
        total:
          type: number
          format: double
        count:
          type: number
          format: double
        per_page:
          type: number
          format: double
        current_page:
          type: number
          format: double
        total_pages:
          type: number
          format: double
        links:
          $ref: '#/components/schemas/AccountsGetResponsesContentApplicationJsonSchemaMetaPaginationLinks'
      title: AccountsGetResponsesContentApplicationJsonSchemaMetaPagination
    AccountsGetResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/AccountsGetResponsesContentApplicationJsonSchemaMetaPagination'
      title: AccountsGetResponsesContentApplicationJsonSchemaMeta
    Accounts_getAccounts_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AccountsGetResponsesContentApplicationJsonSchemaDataItems'
        meta:
          $ref: '#/components/schemas/AccountsGetResponsesContentApplicationJsonSchemaMeta'
      title: Accounts_getAccounts_Response_200
    GetAccountsRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetAccountsRequestUnauthorizedError
    GetAccountsRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetAccountsRequestBadGatewayError
    AccountsGetResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: AccountsGetResponsesContentApplicationJsonSchemaErrors
    GetAccountsRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsGetResponsesContentApplicationJsonSchemaErrors'
      title: GetAccountsRequestServiceUnavailableError
    GetAccountsRequestGatewayTimeoutError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsGetResponsesContentApplicationJsonSchemaErrors'
      title: GetAccountsRequestGatewayTimeoutError
    AccountsPostRequestBodyContentApplicationJsonSchemaPrimaryContact:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        district:
          type: string
          description: State, province, etc.
        address_line_1:
          type: string
          description: First line of address of primary contact. 255 character limit.
        address_line_2:
          type: string
          description: Second line of address of primary contact. 255 character limit.
        city:
          type: string
          description: City for primary contact. 255 character limit.
        postal_code:
          type: string
          description: >-
            Postal code for primary contact. If this merchant is located in a country that does not have postal codes,
            this field is not required.
        country:
          type: string
          description: ISO 3166-1 alpha-2 code
        phone_number:
          type: string
          description: Phone number for the primary contact.
      required:
        - first_name
        - last_name
        - email
        - district
        - country
      title: AccountsPostRequestBodyContentApplicationJsonSchemaPrimaryContact
    billing_contact:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the billing contact
        last_name:
          type: string
          description: Last name of the billing contact
        address_line_1:
          type: string
          description: First line of address of billing contact
        address_line_2:
          type: string
          description: Second line of address of billing contact (if necessary)
        email:
          type: string
          description: Email address of billing contact
        district:
          type: string
          description: District (State in US) of billing contact
        country:
          type: string
          description: Country of billing contact
        phone:
          type: string
          description: Phone number of billing contact
        city:
          type: string
          description: City for billing contact
        postal_code:
          type: string
          description: Postal / zip code of billing contact
      description: Billing contact information for the Account
      title: billing_contact
    AccountsPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
      required:
        - id
      title: AccountsPostResponsesContentApplicationJsonSchemaData
    AccountsPostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: AccountsPostResponsesContentApplicationJsonSchemaMeta
    Accounts_createAccount_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaMeta'
      title: Accounts_createAccount_Response_200
    CreateAccountRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateAccountRequestBadRequestError
    CreateAccountRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateAccountRequestUnauthorizedError
    AccountsPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: AccountsPostResponsesContentApplicationJsonSchemaErrors
    CreateAccountRequestConflictError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrors'
      required:
        - status
        - title
        - type
        - errors
      title: CreateAccountRequestConflictError
    CreateAccountRequestUnprocessableEntityError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateAccountRequestUnprocessableEntityError
    CreateAccountRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateAccountRequestBadGatewayError
    CreateAccountRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateAccountRequestServiceUnavailableError
    CreateAccountRequestGatewayTimeoutError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateAccountRequestGatewayTimeoutError
    AccountsAccountIdGetResponsesContentApplicationJsonSchemaDataPrimaryContact:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the primary contact
        last_name:
          type: string
          description: Last name of the primary contact
        address_line_1:
          type: string
          description: First line of address of primary contact
        address_line_2:
          type: string
          description: Second line of address of primary contact (if necessary)
        email:
          type: string
          description: Email address of primary contact
        district:
          type: string
          description: District (State in US) of primary contact
        country:
          type: string
          description: Country of primary contact
        phone:
          type: string
          description: Phone number of primary contact
        city:
          type: string
          description: City for primary contact
        postal_code:
          type: string
          description: Postal / zip code of primary contact
      description: Primary contact for the Account
      title: AccountsAccountIdGetResponsesContentApplicationJsonSchemaDataPrimaryContact
    AccountsAccountIdGetResponsesContentApplicationJsonSchemaDataBillingContact:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the billing contact
        last_name:
          type: string
          description: Last name of the billing contact
        address_line_1:
          type: string
          description: First line of address of billing contact
        address_line_2:
          type: string
          description: Second line of address of billing contact (if necessary)
        email:
          type: string
          description: Email address of billing contact
        district:
          type: string
          description: District (State in US) of billing contact
        country:
          type: string
          description: Country of billing contact
        phone:
          type: string
          description: Phone number of billing contact
        city:
          type: string
          description: City for billing contact
        postal_code:
          type: string
          description: Postal / zip code of billing contact
      description: Billing contact information for the Account
      title: AccountsAccountIdGetResponsesContentApplicationJsonSchemaDataBillingContact
    AccountsAccountIdGetResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
          description: The external ref ID of the account, as provided by Partner (or if was null, created upon account creation)
        status:
          type: string
          description: Account’s current workflow status (Active, Cancelled, etc.)
        name:
          type: string
          description: Name of the Company that the Account was created for
        user_email:
          type: string
          description: Email address of user who will be the store owner for the account
        primary_contact:
          $ref: '#/components/schemas/AccountsAccountIdGetResponsesContentApplicationJsonSchemaDataPrimaryContact'
          description: Primary contact for the Account
        billing_contact:
          $ref: '#/components/schemas/AccountsAccountIdGetResponsesContentApplicationJsonSchemaDataBillingContact'
          description: Billing contact information for the Account
      title: AccountsAccountIdGetResponsesContentApplicationJsonSchemaData
    AccountsAccountIdGetResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: AccountsAccountIdGetResponsesContentApplicationJsonSchemaMeta
    Accounts_getAccount_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AccountsAccountIdGetResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/AccountsAccountIdGetResponsesContentApplicationJsonSchemaMeta'
      title: Accounts_getAccount_Response_200
    GetAccountRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetAccountRequestUnauthorizedError
    _errorBase:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
      description: |
        Error payload for the BigCommerce API.
      title: _errorBase
    GetAccountRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetAccountRequestBadGatewayError
    AccountsAccountIdGetResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: AccountsAccountIdGetResponsesContentApplicationJsonSchemaErrors
    GetAccountRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsAccountIdGetResponsesContentApplicationJsonSchemaErrors'
      title: GetAccountRequestServiceUnavailableError
    _errorDetailed:
      type: object
      properties:
        status:
          type: integer
          description: |
            The HTTP status code.
        title:
          type: string
          description: |
            The error title describing the particular error.
        type:
          type: string
        errors:
          type: object
          additionalProperties:
            type: string
      description: |
        Error payload for the BigCommerce API.
      title: _errorDetailed
    AccountsAccountIdPutRequestBodyContentApplicationJsonSchemaPrimaryContact:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the primary contact
        last_name:
          type: string
          description: Last name of the primary contact
        email:
          type: string
          description: Email address of primary contact
        address_line_1:
          type: string
          description: First line of address of primary contact
        address_line_2:
          type: string
          description: Second line of address of primary contact (if necessary)
        city:
          type: string
          description: City for primary contact
        district:
          type: string
          description: District (State in US) of primary contact
        country:
          type: string
          description: Country of primary contact
        postal_code:
          type: string
          description: Postal / zip code of primary contact
        phone_number:
          type: string
          description: Phone number of primary contact
      description: Primary contact for the Account
      title: AccountsAccountIdPutRequestBodyContentApplicationJsonSchemaPrimaryContact
    AccountsAccountIdPutRequestBodyContentApplicationJsonSchemaBillingContact:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the billing contact
        last_name:
          type: string
          description: Last name of the billing contact
        email:
          type: string
          description: Email address of billing contact
        address_line_1:
          type: string
          description: First line of address of billing contact
        address_line_2:
          type: string
          description: Second line of address of billing contact (if necessary)
        city:
          type: string
          description: City for billing contact
        district:
          type: string
          description: District (State in US) of billing contact
        country:
          type: string
          description: Country of billing contact
        postal_code:
          type: string
          description: Postal / zip code of billing contact
        phone_number:
          type: string
          description: Phone number of billing contact
      description: Billing contact information for the Account
      title: AccountsAccountIdPutRequestBodyContentApplicationJsonSchemaBillingContact
    AccountsAccountIdPutResponsesContentApplicationJsonSchemaDataPrimaryContact:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        address_line_1:
          type: string
        address_line_2:
          description: Any type
        district:
          type: string
        country:
          type: string
        phone:
          type: string
      title: AccountsAccountIdPutResponsesContentApplicationJsonSchemaDataPrimaryContact
    AccountsAccountIdPutResponsesContentApplicationJsonSchemaDataBillingContact:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
        district:
          type: string
        country:
          type: string
        phone:
          type: string
      title: AccountsAccountIdPutResponsesContentApplicationJsonSchemaDataBillingContact
    AccountsAccountIdPutResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        user_email:
          type: string
        primary_contact:
          $ref: '#/components/schemas/AccountsAccountIdPutResponsesContentApplicationJsonSchemaDataPrimaryContact'
        billing_contact:
          $ref: '#/components/schemas/AccountsAccountIdPutResponsesContentApplicationJsonSchemaDataBillingContact'
      title: AccountsAccountIdPutResponsesContentApplicationJsonSchemaData
    AccountsAccountIdPutResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: AccountsAccountIdPutResponsesContentApplicationJsonSchemaMeta
    Accounts_updateAccount_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AccountsAccountIdPutResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/AccountsAccountIdPutResponsesContentApplicationJsonSchemaMeta'
      title: Accounts_updateAccount_Response_200
    AccountsAccountIdPutResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: AccountsAccountIdPutResponsesContentApplicationJsonSchemaErrors
    UpdateAccountRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsAccountIdPutResponsesContentApplicationJsonSchemaErrors'
      title: UpdateAccountRequestBadRequestError
    UpdateAccountRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      title: UpdateAccountRequestUnauthorizedError
    UpdateAccountRequestNotFoundError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: UpdateAccountRequestNotFoundError
    UpdateAccountRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      title: UpdateAccountRequestBadGatewayError
    UpdateAccountRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsAccountIdPutResponsesContentApplicationJsonSchemaErrors'
      title: UpdateAccountRequestServiceUnavailableError
    UpdateAccountRequestGatewayTimeoutError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsAccountIdPutResponsesContentApplicationJsonSchemaErrors'
      title: UpdateAccountRequestGatewayTimeoutError
    _primaryContact:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
          description: 255 Char limit
        email:
          type: string
        country:
          type: string
          description: ISO 3166-1 alpha-2 code
        address_line_1:
          type: string
          description: First line of address of primary contact.
        city:
          type: string
          description: City for primary contact.
        postal_code:
          type: string
        district:
          type: string
          description: State, province, etc.
        phone_number:
          type: string
      required:
        - first_name
        - last_name
        - email
        - country
        - district
      title: _primaryContact
    Accounts_createAccountWithPassword_Response_200:
      type: object
      properties: {}
      description: Empty response body
      title: Accounts_createAccountWithPassword_Response_200
    PostStoreRegion:
      type: string
      enum:
        - us-central1
        - europe-west3
        - australia-southeast1
      description: >-
        If no region is provided, the server location where the store is provisioned will default to what BigCommerce
        has set as the default for your franchise.
      title: PostStoreRegion
    PostStoreSettings:
      type: object
      properties:
        ' unique_setting_1':
          type: string
          description: >-
            Unique key value setting (must be defined in allowed settings on your franchise) - submitted with the
            Settings object above.
        ' unique_setting_2':
          type: string
          description: >-
            Unique key value setting (must be defined in allowed settings on your franchise) - submitted with the
            Settings object above.
        ' unique_setting_3':
          type: string
          description: >-
            Unique key value setting (must be defined in allowed settings on your franchise) - submitted with the
            Settings object above.
      description: >-
        Object used to send any partner specific settings needed for configuring apps or other dashboard specific
        settings, such as shipping. These settings must be added to the allow list on your franchise or the request will
        be rejected.
      title: PostStoreSettings
    post_store:
      type: object
      properties:
        id:
          type: string
          description: Associated store id within partner’s system. Must be unique within your franchise.
        plan_sku:
          type: string
          description: >-
            Determines the BigCommerce plan (delegated billing) or trial length (non-delegated billing). The allow list
            for SKUs is configured on your franchise
        store_name:
          type: string
          description: >-
            Initial store name used across the BigCommerce control panel and the merchant’s theme. When a merchant has
            multiple stores on their account, this name is used to identify each store in the merchant’s store switcher.
            The name can be updated by the merchant after store creation. The name has a 255 character limit and must be
            unique to the account.
        country:
          type: string
          description: >-
            ISO 3166-1 alpha-2 code (i.e., ‘US’). `country` controls the ‘Default Country’ option for the store. For
            more information, see
            [Locale](https://support.bigcommerce.com/s/article/Store-Profile-Settings?language=en_US#locale).


            `country` also influences the ‘Default Language’ for a store. If the country has an associated language that
            the theme supports, the default language will align with the `country` value. For example, a store created
            with `country` value of `FR` will have French as the default language. For more information, visit the
            [Store Profile FAQ](https://support.bigcommerce.com/s/article/Store-Profile-Settings?language=en_US#faq).
        region:
          $ref: '#/components/schemas/PostStoreRegion'
          description: >-
            If no region is provided, the server location where the store is provisioned will default to what
            BigCommerce has set as the default for your franchise.
        settings:
          $ref: '#/components/schemas/PostStoreSettings'
          description: >-
            Object used to send any partner specific settings needed for configuring apps or other dashboard specific
            settings, such as shipping. These settings must be added to the allow list on your franchise or the request
            will be rejected.
      required:
        - id
        - plan_sku
        - store_name
        - country
      title: post_store
    ResponseStorePostData:
      type: object
      properties:
        id:
          type: string
      title: ResponseStorePostData
    response_storePost:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ResponseStorePostData'
      title: response_storePost
    CreateStoreRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreRequestUnauthorizedError
    AccountsAccountIdStoresPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: AccountsAccountIdStoresPostResponsesContentApplicationJsonSchemaErrors
    CreateStoreRequestConflictError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsAccountIdStoresPostResponsesContentApplicationJsonSchemaErrors'
      required:
        - status
        - title
        - type
        - errors
      title: CreateStoreRequestConflictError
    CreateStoreRequestUnprocessableEntityError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsAccountIdStoresPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateStoreRequestUnprocessableEntityError
    CreateStoreRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreRequestBadGatewayError
    CreateStoreRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/AccountsAccountIdStoresPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateStoreRequestServiceUnavailableError
    StoresStoreIdGetResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
          description: >-
            External id of the store, as provided by partner or created by BigCommerce (if no value provided) upon store
            creation
        status:
          type: string
          description: Store’s current workflow status (Active, Cancelled, Suspended, etc.)
        plan_sku:
          type: string
          description: Plan SKU for the store
        store_name:
          type: string
          description: Name of the store
        store_hash:
          type: string
          description: Unique identifier contained in the canonical_hostname
        primary_hostname:
          type: string
          description: Main domain of store
        canonical_hostname:
          type: string
          description: Permanent domain of store
        country:
          type: string
          description: Country where store is located
        allocated_at:
          type: string
          description: Date on which store was provisioned
        expires_at:
          type: string
          description: Date on which store trial expires, if applicable
        account_id:
          type: string
          description: >-
            External id of the account to which the store belongs, as provided by partner or created by BigCommerce upon
            account creation
        store_launched:
          type: boolean
          description: Specifies if the merchant has launched their BigCommerce store
      title: StoresStoreIdGetResponsesContentApplicationJsonSchemaData
    StoresStoreIdGetResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: StoresStoreIdGetResponsesContentApplicationJsonSchemaMeta
    Stores_getStore_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoresStoreIdGetResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/StoresStoreIdGetResponsesContentApplicationJsonSchemaMeta'
      title: Stores_getStore_Response_200
    GetStoreRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetStoreRequestUnauthorizedError
    GetStoreRequestNotFoundError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetStoreRequestNotFoundError
    GetStoreRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetStoreRequestBadGatewayError
    StoresStoreIdGetResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: StoresStoreIdGetResponsesContentApplicationJsonSchemaErrors
    GetStoreRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresStoreIdGetResponsesContentApplicationJsonSchemaErrors'
      title: GetStoreRequestServiceUnavailableError
    GetStoreRequestGatewayTimeoutError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresStoreIdGetResponsesContentApplicationJsonSchemaErrors'
      title: GetStoreRequestGatewayTimeoutError
    StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        login-url:
          type: string
      required:
        - login-url
      title: StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaData
    StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaMeta
    Stores_createStoreLoginUrl_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaMeta'
      required:
        - data
        - meta
      title: Stores_createStoreLoginUrl_Response_200
    CreateStoreLoginUrlRequestBadRequestError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreLoginUrlRequestBadRequestError
    CreateStoreLoginUrlRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreLoginUrlRequestUnauthorizedError
    CreateStoreLoginUrlRequestForbiddenError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreLoginUrlRequestForbiddenError
    CreateStoreLoginUrlRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreLoginUrlRequestBadGatewayError
    StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaErrors
    CreateStoreLoginUrlRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: integer
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresStoreIdLoginUrlPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateStoreLoginUrlRequestServiceUnavailableError
    StoresGetResponsesContentApplicationJsonSchemaDataItems:
      type: object
      properties:
        status:
          type: string
          description: Store’s current workflow status (Active, Cancelled, Suspended, etc.)
        id:
          type: string
          description: External id of the store, as provided by partner upon store creation
        account_id:
          type: string
          description: External id of the account to which the store belongs, as provided by partner upon account creation
        name:
          type: string
          description: Name of the store
        country:
          type: string
          description: Country where store is located
        allocated_at:
          type: string
          description: Date on which store was provisioned
        cancels_on:
          description: Date on which store cancels, if applicable
        expires_at:
          type: string
        primary_hostname:
          type: string
          description: Main domain of store
        canonical_hostname:
          type: string
          description: Permanent domain of store
        store_launched:
          type: string
          description: Specifies if the merchant launched their BigCommerce store
      title: StoresGetResponsesContentApplicationJsonSchemaDataItems
    StoresGetResponsesContentApplicationJsonSchemaMetaPaginationLinks:
      type: object
      properties:
        next:
          type: string
        current:
          type: string
      title: StoresGetResponsesContentApplicationJsonSchemaMetaPaginationLinks
    StoresGetResponsesContentApplicationJsonSchemaMetaPagination:
      type: object
      properties:
        total:
          type: number
          format: double
        count:
          type: number
          format: double
        per_page:
          type: number
          format: double
        current_page:
          type: number
          format: double
        total_pages:
          type: number
          format: double
        links:
          $ref: '#/components/schemas/StoresGetResponsesContentApplicationJsonSchemaMetaPaginationLinks'
      title: StoresGetResponsesContentApplicationJsonSchemaMetaPagination
    StoresGetResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties:
        pagination:
          $ref: '#/components/schemas/StoresGetResponsesContentApplicationJsonSchemaMetaPagination'
      title: StoresGetResponsesContentApplicationJsonSchemaMeta
    Stores_getStores_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/StoresGetResponsesContentApplicationJsonSchemaDataItems'
        meta:
          $ref: '#/components/schemas/StoresGetResponsesContentApplicationJsonSchemaMeta'
      title: Stores_getStores_Response_200
    GetStoresRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetStoresRequestUnauthorizedError
    GetStoresRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: GetStoresRequestBadGatewayError
    StoresGetResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: StoresGetResponsesContentApplicationJsonSchemaErrors
    GetStoresRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresGetResponsesContentApplicationJsonSchemaErrors'
      title: GetStoresRequestServiceUnavailableError
    StoresStoreIdChangePlanPostRequestBodyContentApplicationJsonSchemaEffective:
      type: string
      enum:
        - IMMEDIATELY
        - BILLCYCLEDAY
      description: >
        Effective date for the plan change. Acceptable values:

        * IMMEDIATELY - the change is effective immediately

        * BILLCYCLEDAY - the change becomes effective at the start of the merchant’s next billing cycle, with the
        exception of trial accounts which are effective immediately.


        If the field is not specified, the change will become effective immediately.


        If the field is specified and the value does not match the values above, the change will become effective
        immediately.
      title: StoresStoreIdChangePlanPostRequestBodyContentApplicationJsonSchemaEffective
    StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        status:
          type: string
        id:
          type: string
        plan_sku:
          type: string
        name:
          type: string
        country:
          type: string
        allocated_at:
          type: string
        cancels_on:
          type: string
        expires_at:
          type: string
        primary_hostname:
          type: string
        canonical_hostname:
          type: string
        store_hash:
          type: string
      title: StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaData
    StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaMeta
    Plans_createStorePlanChange_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaMeta'
      title: Plans_createStorePlanChange_Response_200
    CreateStorePlanChangeRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStorePlanChangeRequestUnauthorizedError
    CreateStorePlanChangeRequestNotFoundError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStorePlanChangeRequestNotFoundError
    StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaErrors
    CreateStorePlanChangeRequestUnprocessableEntityError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaErrors'
      required:
        - status
        - title
        - type
        - errors
      title: CreateStorePlanChangeRequestUnprocessableEntityError
    CreateStorePlanChangeRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresStoreIdChangePlanPostResponsesContentApplicationJsonSchemaErrors'
      required:
        - status
        - title
        - type
        - errors
      title: CreateStorePlanChangeRequestBadGatewayError
    CreateStorePlanChangeRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: integer
        title:
          type: string
        type:
          type: string
      title: CreateStorePlanChangeRequestServiceUnavailableError
    post_storeCancellation:
      type: object
      properties:
        id:
          type: string
        plan_sku:
          type: string
        store_name:
          type: string
        country:
          type: string
      required:
        - id
        - plan_sku
        - store_name
        - country
      title: post_storeCancellation
    StoresStoreIdCancellationsPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
        scheduled_cancellation_date:
          type: string
        reason:
          type: string
      required:
        - id
        - scheduled_cancellation_date
        - reason
      title: StoresStoreIdCancellationsPostResponsesContentApplicationJsonSchemaData
    Plans_createStoreCancellation_Response_202:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoresStoreIdCancellationsPostResponsesContentApplicationJsonSchemaData'
      required:
        - data
      title: Plans_createStoreCancellation_Response_202
    CreateStoreCancellationRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreCancellationRequestUnauthorizedError
    CreateStoreCancellationRequestNotFoundError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      title: CreateStoreCancellationRequestNotFoundError
    CreateStoreCancellationRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreCancellationRequestBadGatewayError
    CreateStoreCancellationRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: integer
        title:
          type: string
        type:
          type: string
      title: CreateStoreCancellationRequestServiceUnavailableError
    StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaData:
      type: object
      properties:
        id:
          type: string
        created_at:
          type: string
        reason:
          type: string
      required:
        - id
        - created_at
        - reason
      title: StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaData
    StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaMeta:
      type: object
      properties: {}
      title: StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaMeta
    Plans_createStoreSuspension_Response_200:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaData'
        meta:
          $ref: '#/components/schemas/StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaMeta'
      title: Plans_createStoreSuspension_Response_200
    CreateStoreSuspensionRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreSuspensionRequestUnauthorizedError
    CreateStoreSuspensionRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreSuspensionRequestBadGatewayError
    StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaErrors
    CreateStoreSuspensionRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateStoreSuspensionRequestServiceUnavailableError
    CreateStoreSuspensionRequestGatewayTimeoutError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresStoreIdSuspensionsPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateStoreSuspensionRequestGatewayTimeoutError
    Plans_createStoreReactivation_Response_202:
      type: object
      properties: {}
      description: Empty response body
      title: Plans_createStoreReactivation_Response_202
    CreateStoreReactivationRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreReactivationRequestUnauthorizedError
    CreateStoreReactivationRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      required:
        - status
        - title
        - type
      title: CreateStoreReactivationRequestBadGatewayError
    StoresStoreIdReactivationsPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: StoresStoreIdReactivationsPostResponsesContentApplicationJsonSchemaErrors
    CreateStoreReactivationRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/StoresStoreIdReactivationsPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateStoreReactivationRequestServiceUnavailableError
    Auth_createToken_Response_200:
      type: object
      properties:
        access_token:
          type: string
        expires_at:
          type: string
      title: Auth_createToken_Response_200
    CreateTokenRequestUnauthorizedError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      title: CreateTokenRequestUnauthorizedError
    CreateTokenRequestForbiddenError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      title: CreateTokenRequestForbiddenError
    CreateTokenRequestBadGatewayError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      title: CreateTokenRequestBadGatewayError
    CreateTokenRequestServiceUnavailableError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
      title: CreateTokenRequestServiceUnavailableError
    OauthTokenPostResponsesContentApplicationJsonSchemaErrors:
      type: object
      properties: {}
      title: OauthTokenPostResponsesContentApplicationJsonSchemaErrors
    CreateTokenRequestGatewayTimeoutError:
      type: object
      properties:
        status:
          type: number
          format: double
        title:
          type: string
        type:
          type: string
        errors:
          $ref: '#/components/schemas/OauthTokenPostResponsesContentApplicationJsonSchemaErrors'
      title: CreateTokenRequestGatewayTimeoutError
  securitySchemes:
    X-Auth-Client:
      type: apiKey
      in: header
      name: X-Auth-Client
      description: The client ID of the franchise API account.
    X-Auth-Token:
      type: apiKey
      in: header
      name: X-Auth-Token
      description: >-
        An OAuth token generated from the franchise API account.


        To authenticate, generate an **OAuth Token** (if you donʼt have one or itʼs expired):


        ```http

        POST https://api.bigcommerce.com/franchises/{franchise_uuid}/v1/oauth/token

        Accept: application/json

        X-Auth-Client: {client_id}

        X-Auth-Secret: {client_secret}


        {
          "duration": 900
        }

        ```


        Response:


        ```json

        {
          "access_token": "dlkJcn34...Lkd012",
          "expires_at": "2018-04-24T16:15:26.509045122Z”
        }

        ```


        After you generate an **OAuth token**, use the `client_id` and `oauth_token` to authenticate all other API
        requests:


        ```http

        GET https://api.bigcommerce.com/franchises/{franchise_uuid}/v1/accounts/123

        Accept: application/json

        X-Auth-Client: {client_id}

        X-Auth-Token: {oauth_token}

        ```


        Response:


        ```json

        {
          "data": {
            "id": "12345678910",
            "name": "Test Company",
            ...
          },
          "meta": {}
        }

        ```
