Custom Headless Storefronts
Creating Channels

Creating Channels

Before you can display products on a headless storefront, you need to create and configure a sales channel for that storefront using the REST Management Channels API.


You need a primary domain name for your headless storefront and an additional domain for the storefront's checkout page. Subdomains are permitted.

The API calls that associate domains with your store do not verify domain name ownership.

Get a storefront seat

Limits: Every store comes with a default limit of one active storefront that comes for free along with a store. To add additional storefront seats, contact your BigCommerce representative.

You can open a headless storefront seat by setting the status of the default BigCommerce storefront to inactive. This will break a store that's already transacting on the default storefront, so contact your BigCommerce representative if you have questions about taking this step.

Create the channel

Send a request to the Create a channel endpoint to create a channel for your headless platform. Note the channel ID returned in the response; you'll use it in successive steps.

Add the headless site URL

To tell BigCommerce the URL of your headless store, use the Create a channel site endpoint, along with your channel ID and primary domain name.

Add a checkout URL

Currently, all checkout pages are hosted. Set the checkout domain for the headless storefront by sending a request to the Upsert a site's checkout URL endpoint.

Add 3P SSL to the checkout domain

Optionally, you can add a 3P SSL certificate for the checkout domain by sending a request to the Upsert a site’s SSL/TLS certificate information endpoint.

Create tokens for the GraphQL Storefront API

After setting up the channel, you're almost ready to authenticate cross-origin requests to the GraphQL Storefront API. You can Create customer impersonation tokens for most headless or server-to-server interactions, or Storefront tokens for static frontend site interactions. Use your new channel ID and, where required, supply your channel site as an allowed_cors_origin; otherwise, your requests will be rejected.

After you have a token, you're ready to get started using the GraphQL Storefront API.

Next steps


Did you find what you were looking for?