Storefront GraphQL API - Stable

Nacelle offers headless composable merchants a powerful GraphQL that lets merchants access commerce and content data in a single, performant API. This is possible because Nacelle ingests data, normalizes it, and stores it with the headless composable environment in mind.


All queries to the Storefront API must contain the following headers:

x-nacelle-space-token: <YOUR_SPACE_TOKEN>

Nothing else is needed to set up the Storefront API, as all successfully indexed data is immediately available through this GraphQL.

Sending Queries

Queries are sent via a POST request to:<YOUR_SPACE_ID>


Load the GraphQL in your preferred API client or use this cURL:

curl -X "POST" "<YOUR_SPACE_ID>" \
     -H 'x-nacelle-space-token: <YOUR_SPACE_TOKEN>' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
    "query": "fragment FullType on __Type{kind name fields(includeDeprecated:true){name args{...InputValue}type{...TypeRef}isDeprecated deprecationReason}inputFields{...InputValue}interfaces{...TypeRef}enumValues(includeDeprecated:true){name isDeprecated deprecationReason}possibleTypes{...TypeRef}}fragment InputValue on __InputValue{name type{...TypeRef}defaultValue}fragment TypeRef on __Type{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name ofType{kind name}}}}}}}}query IntrospectionQuery{__schema{queryType{name}mutationType{name}types{...FullType}directives{name locations args{...InputValue}}}}"}'


  • allContent
    Query a list of content entries with Relay-style pagination

  • allContentCollections
    Query a list of content collection entries with Relay-style pagination

  • allProductCollections
    Query a list of ProductCollection entries with Relay-style pagination

  • allProducts
    Query a list of products entries with Relay-style pagination

  • navigation
    Get navigation groups for a space

  • spaceProperties: SpaceProperties!
    Space properties data for a space


A request to the GraphQL API may respond with an error. Each error will provide a code and a message containing more details about the error.

Potential Error Codes:

UNAUTHENTICATED:The request header is missing or contains incorrect space tokens. Make sure the headers are provided and correct.

GRAPHQL_PARSE_FAILED: The GraphQL query format is invalid. Make sure the query is structured correctly.

GRAPHQL_VALIDATION_FAILED: The GraphQL query contains a field that does not exist. Make sure the fields in the query exist for that object.

BAD_USER_INPUT: The GraphQL variables are invalid. Make sure argument names and values match the query.