BigCommerce Sites API

Enables creation and management of external sites (domains) where shoppers shop. Allows for the correct shopping experience to be delivered and maintained (i.e. redirect URLs, email links) when a shopper goes through the purchasing process.

Documentation

📖
Documentation
https://developer.bigcommerce.com/
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/abandoned-carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/brands
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/categories
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/category-trees
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-modifiers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variant-options
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variants
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/products
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/store-content
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/currencies
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/email-templates
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/geography
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/pages
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/tokens
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/methods-deprecated
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/processing
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/settings
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/shipping-v2
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels/site
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/store-information
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/subscriptions
📖
APIReference
https://developer.bigcommerce.com/docs/integrations/webhooks
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/widgets

Specifications

Other Resources

OpenAPI Specification

bigcommerce-sites-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: BigCommerce Abandoned Cart Emails Sites API
  version: 3.0.0
  termsOfService: https://www.bigcommerce.com/terms
  description: Abandoned Cart Emails V3 API managing Handlebars-based emails.
  contact:
    name: BigCommerce
    url: https://www.bigcommerce.com
    email: support@bigcommerce.com
servers:
- url: https://api.bigcommerce.com/stores/{store_hash}/v3
  variables:
    store_hash:
      default: store_hash
      description: Permanent ID of the BigCommerce store.
  description: BigCommerce API Gateway
security:
- X-Auth-Token: []
tags:
- name: Sites
  description: Enables creation and management of external sites (domains) where shoppers shop. Allows for the correct shopping experience to be delivered and maintained (i.e. redirect URLs, email links) when a shopper goes through the purchasing process.
paths:
  /sites:
    parameters:
    - $ref: '#/components/parameters/Accept'
    post:
      summary: BigCommerce Create a Site
      operationId: createSite
      parameters:
      - $ref: '#/components/parameters/ContentType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_Site'
        required: true
        x-examples:
          application/json:
            url: http://store.example.com/
            channel_id: 2
      responses:
        '201':
          $ref: '#/components/responses/response_Site'
        '400':
          $ref: '#/components/responses/400_BadRequest'
        '403':
          $ref: '#/components/responses/403_Unauthorized'
        '404':
          $ref: '#/components/responses/404_NotFound'
        '502':
          description: ''
        '504':
          $ref: '#/components/responses/504_GatewayTimeout'
      tags:
      - Sites
      description: Create a site that links a [headless storefront](/docs/storefront/headless) to a sales [channel](/docs/rest-management/channels).
    get:
      responses:
        '200':
          $ref: '#/components/responses/site_RespCollection'
      summary: BigCommerce Get Sites
      description: Get sites linked to a [headless storefront](/docs/storefront/headless) sales channels.
      operationId: getSites
      tags:
      - Sites
      parameters:
      - in: query
        name: page
        description: Specifies the page number in a limited (paginated) list of items.
        schema:
          type: integer
      - in: query
        name: limit
        description: Controls the number of items per page in a limited (paginated) list of items.
        schema:
          type: integer
      - schema:
          type: integer
          example: 1
        in: query
        name: channel_id:in
        description: Filters returned sites by channel ID.
      - schema:
          type: string
        in: query
        name: url_type:in
        description: Filters sites returned in the `data.urls` array by their URL type.
  /sites/{site_id}:
    parameters:
    - $ref: '#/components/parameters/Accept'
    - name: site_id
      in: path
      required: true
      schema:
        type: string
    get:
      summary: BigCommerce Get a Site
      operationId: getSite
      responses:
        '200':
          $ref: '#/components/responses/response_Site'
      tags:
      - Sites
      description: Get a site with site ID `{site_id}`.
    put:
      summary: BigCommerce Update a Site
      operationId: updateSite
      parameters:
      - $ref: '#/components/parameters/ContentType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/put_Site'
        required: true
        x-examples:
          application/json:
            url: https://remote-site.com/
      responses:
        '200':
          $ref: '#/components/responses/response_Site'
      tags:
      - Sites
      description: Update a site with site ID `{site_id}`.
    delete:
      summary: BigCommerce Delete a Site
      operationId: deleteSite
      responses:
        '204':
          description: ''
      tags:
      - Sites
      description: Delete a site with site ID `{site_id}`.
components:
  schemas:
    _metaCollection:
      title: metaCollection
      description: Meta data relating to pagination.
      type: object
      properties:
        pagination:
          type: object
          properties:
            total:
              type: integer
              description: Total number of items returned.
              example: 3
            count:
              type: integer
              description: Number of items returned on per page.
              example: 1
            per_page:
              type: integer
              description: Number of items to be displayed per page.
              example: 1
            current_page:
              type: integer
              description: Current page number.
              example: 2
            total_page:
              type: integer
              description: Total number of pages.
              example: 3
            links:
              type: object
              properties:
                previous:
                  type: string
                  description: Query string appended to the resource to return to the previous page.
                  example: ?limit=1&page=1
                next:
                  type: string
                  description: Query string appended to the resource to proceed to the next page.
                  example: ?limit=1&page=3
                current:
                  type: string
                  description: Query string appended to the resource to show the current page.
                  example: ?limit=1&page=2
      x-internal: false
    Url:
      type: object
      properties:
        url:
          type: string
          description: URL of site.
        type:
          type: string
          description: Specifies the URL type.
          enum:
          - primary
          - canonical
          - checkout
        created_at:
          type: string
          description: The date-time that this URL was created, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.
          example: '2018-01-04T04:15:50.000Z'
          format: date-time
        updated_at:
          type: string
          description: The date-time that this URL was last updated, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.
          example: '2018-01-04T04:15:50.000Z'
          format: date-time
    put_Site:
      type: object
      properties:
        url:
          type: string
          description: The Fully Qualified URL (including host and scheme) where this site is hosted. All URLs generated for this site will be appended to this.
          example: http://kittens.mybigcommerce.com/
      title: put_Site
      x-internal: false
    _site:
      type: object
      description: ''
      title: ''
      properties:
        id:
          type: integer
        url:
          type: string
          description: The fully qualified URL (including host and scheme) where this site is hosted. All URLs generated for this site will be appended to this.
          example: http://kittens.mybigcommerce.com/
        channel_id:
          type: integer
          description: The channel to which this site is attached. Each site belongs to a single channel, and each channel can have either zero or more sites.
        created_at:
          type: string
          description: The date-time that this site was created, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.
          example: '2022-01-04T04:15:50.000Z'
        updated_at:
          type: string
          description: The date-time that this site was last updated, formatted as an [RFC-3339](https://www.ietf.org/rfc/rfc3339.txt) string.
          example: '2022-01-04T04:15:50.000Z'
        ssl_status:
          type: string
          enum:
          - dedicated
          - shared
          description: Indicates whether a site is using a private/dedicated SSL or a shared SSL.
        urls:
          type: array
          description: All URLs that belong to the site, including `primary`, `canonical`, and `checkout` URLs.
          items:
            $ref: '#/components/schemas/Url'
        is_checkout_url_customized:
          type: boolean
          description: Indicates whether the channel uses a custom checkout domain. When `false`, the checkout domain falls back to the default channel’s primary URL.
    error_Full:
      type: object
      title: error_Full
      properties:
        status:
          description: 'The HTTP status code.

            '
          type: integer
        title:
          description: 'The error title describing the particular error.

            '
          type: string
        type:
          type: string
      x-internal: false
    post_Site:
      type: object
      properties:
        url:
          type: string
          description: The Fully Qualified URL (including host and scheme) where this site is hosted. All URLs generated for this site will be appended to this.
          example: http://kittens.mybigcommerce.com/
        channel_id:
          type: integer
          description: The channel this site is attached to. Each site belongs to a single channel, and each channel can have either zero or one sites.
      title: post_Site
      x-internal: false
  parameters:
    Accept:
      name: Accept
      in: header
      required: true
      description: The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.
      schema:
        type: string
        default: application/json
    ContentType:
      name: Content-Type
      in: header
      required: true
      description: The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body.
      schema:
        type: string
        default: application/json
  responses:
    site_RespCollection:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                type: array
                items:
                  $ref: '#/components/schemas/_site'
              meta:
                $ref: '#/components/schemas/_metaCollection'
          examples: {}
    403_Unauthorized:
      description: ''
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_Full'
          examples:
            response:
              value:
                status: 403
                title: Unauthorized Access. You do not have permission to make this request.
                type: /api-docs/getting-started/api-status-codes
    404_NotFound:
      description: Requested resource not founded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_Full'
    504_GatewayTimeout:
      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/error_Full'
          examples:
            response:
              value:
                status: 504
                title: Gateway Timeout
                type: /api-docs/getting-started/api-status-codes
                errors: {}
    response_Site:
      description: ''
      content:
        application/json:
          schema:
            type: object
            properties:
              data:
                $ref: '#/components/schemas/_site'
              meta:
                $ref: '#/components/schemas/_metaCollection'
          examples:
            Example:
              value:
                data:
                  id: 23
                  url: https://example.com
                  channel_id: 234
                  created_at: '2018-01-04T04:15:50.000Z'
                  updated_at: '2018-01-04T04:15:50.000Z'
                  ssl_status: dedicated
                  urls:
                  - url: https://example.com
                    type: primary
                    created_at: '2020-11-03T19:26:12Z'
                    updated_at: '2021-08-31T21:46:50Z'
                  - url: https://store-29i23fcz6.mybigcommerce.com
                    type: canonical
                    created_at: '2020-11-03T19:26:12Z'
                    updated_at: '2020-11-03T19:26:12Z'
                  - url: https://checkout.example.com
                    type: checkout
                    created_at: '2020-11-03T19:26:12Z'
                    updated_at: '2021-08-31T21:46:50Z'
                  is_checkout_url_customized: true
                meta:
                  pagination:
                    offset: 0
                    limit: 50
                    total_items: 1
    400_BadRequest:
      description: 'Malformed request syntax. Typically need to fix the JSON

        request body to resend successfully.'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_Full'
          examples:
            response:
              value:
                status: 400
                title: Input is invalid.
                type: /api-docs/getting-started/api-status-codes
  securitySchemes:
    X-Auth-Token:
      name: X-Auth-Token
      description: '### OAuth scopes


        | UI Name | Permission | Parameter |

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

        | Information & Settings  | read-only  | `store_v2_information_read_only`|

        | Information & Settings  | modify     | `store_v2_information`          |


        ### Authentication header


        | Header | Argument | Description |

        |:-|:|:|

        | `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |


        ### Further reading


        For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).


        For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).


        For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).'
      type: apiKey
      in: header