Skip to content

List the shop’s pages

GET
/storefront/pages
curl --request GET \
--url 'https://example.com/storefront/pages?status=published&changes=true&sort=updated&dir=asc' \
--cookie __Host-bottle.session_token=<__Host-bottle.session_token>

The pages the business has written, without bodies: every one not in the bin by title, or searched (q: title, address and words), filtered (status published, draft or bin; changes=true for pages with changes not published), sorted (updated, title, published; dir) and paged (limit up to 100, offset). With total, how many match, and counts, how many on each of published, draft and bin for the same search. A page in the bin carries bin: when, by whom, the days left and the entry to restore it with (POST /storefront/bin/{id}/restore).

q

Words to look for in the title, the address and the words.

string
<= 200 characters

Words to look for in the title, the address and the words.

status

Published: on the shop. draft: not on the shop. bin: deleted in the last 90 days. Left out: every one not in the bin.

string
Allowed values: published draft bin

Published: on the shop. draft: not on the shop. bin: deleted in the last 90 days. Left out: every one not in the bin.

changes

Pages only: true for those with changes not published.

string
Allowed values: true false

Pages only: true for those with changes not published.

sort

Updated (the default): last changed first. title: A to Z. published: newest first. With dir to turn it round.

string
Allowed values: updated title published

Updated (the default): last changed first. title: A to Z. published: newest first. With dir to turn it round.

dir
string
Allowed values: asc desc
limit

Up to 100. Left out: all of them.

integer
>= 1 <= 100

Up to 100. Left out: all of them.

offset
integer | null
from

Posts only: dated this day or after.

string format: date

Posts only: dated this day or after.

to

Posts only: dated this day or before.

string format: date

Posts only: dated this day or before.

author

Posts only: written by this name, as the post shows it.

string
<= 120 characters

Posts only: written by this name, as the post shows it.

The pages

Media typeapplication/json
object
items
required
Array<object>
object
id
required

UUID v7

string format: uuid
slug
required
string
title
required
string
seoTitle
required
string
seoDescription
required
string
showInNav
required
boolean
status
required

Draft: only the business sees it, in the preview. published: on the shop.

string
Allowed values: draft published
unpublishedChanges
required
boolean
publishedAt
required
string | null format: date-time
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
draftTitle
required
string | null
bin
object
entryId
required
string | null format: uuid
deletedAt
required
string format: date-time
goneAt
required
string format: date-time
daysLeft
required
integer
deletedBy
required
object
kind
required
string
Allowed values: person key assistant support
name
required
string
wasPublished
required
boolean
total
required
integer
counts
required
object
published
required
integer
draft
required
integer
bin
required
integer

Example

{
"items": [
{
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"status": "draft",
"bin": {
"deletedBy": {
"kind": "person"
}
}
}
]
}

Not signed in

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

The plan does not include a shop

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Not a member, or without the permission this needs

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}

Validation failed

Media typeapplication/json
object
error
required
string
Allowed values: validation
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string

Example

{
"error": "validation",
"issues": [
{
"path": "email",
"message": "Invalid email"
}
]
}