Skip to content

Get one of a shop’s pages

GET
/storefront/sites/{host}/pages/{slug}
curl --request GET \
--url https://example.com/storefront/sites/northgate.shop.getbottle.app/pages/refills-and-swaps

Deliberately unauthenticated: a page the business published on its shop, by its address, with its body cleaned again on the way out. A page whose address changed answers kind moved with where it is now. With preview, a token from POST /storefront/preview, drafts too, never cached. Anything else, including a shop closed for now, is 404 with an empty body.

host
required
string

Example

northgate.shop.getbottle.app
slug
required
string

Example

refills-and-swaps
preview
string

The page, or where it moved to

Media typeapplication/json
One of:
object
kind
required
string
Allowed values: page
page
required
object
id
required

UUID v7

string format: uuid
slug
required
string
title
required
string
sections
required
Array
One of:
object
id
required

Stable within the page. Lower-case letters, digits and dashes.

string
/^[a-z0-9-]{1,40}$/
width

How wide the section is on a wide screen, in parts of the page: full, threeQuarters, twoThirds, half, third or quarter. Absent: full. Each kind allows only some (see the help guide). Every section is full width on a phone.

string
Allowed values: full threeQuarters twoThirds half third quarter
type
required
string
Allowed values: banners
assets
required
object
key
additional properties
object
alt
required
string | null
width
required
integer
height
required
integer
thumb
required
string
card
required
string
large
required
string
seoTitle
required
string
seoDescription
required
string
publishedAt
required
string | null format: date-time
updatedAt
required
string format: date-time

Example

{
"kind": "page",
"page": {
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"sections": [
{
"width": "full",
"type": "banners"
}
]
}
}

Not changed since the ETag sent

No such page. No body.

Too many requests from one address