Skip to content

List shop categories

GET
/categories
curl --request GET \
--url https://example.com/categories \
--cookie bottle.session_token=<bottle.session_token>

In the order the shop shows them, then by name. Archived ones are left out unless asked for.

includeArchived

Include archived ones.

string

Include archived ones.

Categories

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

UUID v7

string format: uuid
name
required
string
slug
required

In the shop’s address: /c/bottled-gas. Unique within the business.

string
description
required
string | null
imageKey
required
string | null
image
required

The tile picture at three sizes, WebP. Null when there is none.

object
thumb
required
string
card
required
string
large
required
string
sortOrder
required
integer
productCount
required
integer
archivedAt
required
string | null format: date-time
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
Example
{
"items": [
{
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"name": "Bottled gas",
"slug": "bottled-gas"
}
]
}

Not signed in

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, or the picture is not one Bottle takes

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"
}
]
}