Skip to content

Storefront Content

Storefront

Storefront Content groups 4 operations on the storefront tier.

Storefront tier. Reachable anonymously; a public vnstss_ token may be sent to identify the storefront.

GET

/api/{version}/content/pages

Every published page, ordered by position. Unpaged, and without body_html; read a single page for its body.

AuthenticationAnonymousStorefront tier. Reachable anonymously; a public vnstss_ token may be sent to identify the storefront.
curl -X GET \
  'https://<your-shop-domain>/api/2026-04-01/content/pages' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer vnstss_<token>'
Response200example shape
{
  "pages": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "handle": "string",
      "title": "string",
      "body_html": "string",
      "position": 1,
      "show_in_header": true,
      "show_in_footer": true,
      "meta_description": "string",
      "meta_keywords": "string"
    }
  ]
}
GET

/api/{version}/content/pages/{id}

One published page, with its body.

AuthenticationAnonymousStorefront tier. Reachable anonymously; a public vnstss_ token may be sent to identify the storefront.

Path parameters

NameTypeDescription
id
required
string (uuid)

Responses

curl -X GET \
  'https://<your-shop-domain>/api/2026-04-01/content/pages/<id>' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer vnstss_<token>'
Response200example shape
{
  "page": {
    "id": "00000000-0000-0000-0000-000000000000",
    "handle": "string",
    "title": "string",
    "body_html": "string",
    "position": 1,
    "show_in_header": true,
    "show_in_footer": true,
    "meta_description": "string",
    "meta_keywords": "string"
  }
}
GET

/api/{version}/content/articles

Every published blog article. Unpaged.

AuthenticationAnonymousStorefront tier. Reachable anonymously; a public vnstss_ token may be sent to identify the storefront.
curl -X GET \
  'https://<your-shop-domain>/api/2026-04-01/content/articles' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer vnstss_<token>'
Response200example shape
{
  "articles": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "title": "string",
      "summary_html": "string",
      "body_html": "string",
      "published_at": "2026-04-01T12:00:00Z"
    }
  ]
}
GET

/api/{version}/content/articles/{id}

One published article, with its body.

AuthenticationAnonymousStorefront tier. Reachable anonymously; a public vnstss_ token may be sent to identify the storefront.

Path parameters

NameTypeDescription
id
required
string (uuid)
curl -X GET \
  'https://<your-shop-domain>/api/2026-04-01/content/articles/<id>' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer vnstss_<token>'
Response200example shape
{
  "article": {
    "id": "00000000-0000-0000-0000-000000000000",
    "title": "string",
    "summary_html": "string",
    "body_html": "string",
    "published_at": "2026-04-01T12:00:00Z"
  }
}

Schemas

ApiErrorResponse

The error envelope every non-2xx response from this API uses. Documentation shape: actions build it as an anonymous object, so this type exists to give the OpenAPI document a schema to point at.

  • errorsstringnullable

    Human-readable description of what went wrong, e.g. Not Found, Invalid page_info.

  • codestringnullable

    Machine-readable error code. Only a few endpoints (checkout) emit one; omitted everywhere else.

StorefrontArticleDto

Storefront representation of a published blog article. body_html is only present on single-article reads.

  • idstring (uuid)
  • titlestringnullable
  • summary_htmlstringnullable
  • body_htmlstringnullable
  • published_atstring (date-time)

StorefrontArticleListResponse

Envelope returned by GET /content/articles. Unpaged: every published blog article is returned in one response.

  • articlesStorefrontArticleDto[]nullable

    The published articles. Always present; an empty array when the shop has none. As with pages, the article body is only populated on the single read.

StorefrontArticleResponse

Envelope returned by GET /content/articles/{id}.

StorefrontPageDto

Storefront representation of a published page. body_html is only present on single-page reads.

  • idstring (uuid)
  • handlestringnullable
  • titlestringnullable
  • body_htmlstringnullable
  • positioninteger (int32)
  • show_in_headerboolean
  • show_in_footerboolean
  • meta_descriptionstringnullable
  • meta_keywordsstringnullable

StorefrontPageListResponse

Envelope returned by GET /content/pages. Unpaged: every published page of the shop is returned in one response, ordered by position.

  • pagesStorefrontPageDto[]nullable

    The published pages. Always present; an empty array when the shop has none. body_html is not populated on this read — fetch the single page for its body.

StorefrontPageResponse

Envelope returned by GET /content/pages/{id}.