Skip to content

List product details

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

In the order the office and the shop show them. Archived ones are left out unless asked for.

includeArchived

Include archived ones.

string

Include archived ones.

Product details

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

UUID v7

string format: uuid
name
required
string
key
required

In the shop’s filter addresses: /products?d-regulator-fitting=clip-on. Made from the name when the detail is created and kept when it is renamed, so shared links keep working. Unique within the business.

string
type
required

Choice: one of a list of options, or several when multiple is true. number: a number, in the fixed unit set on the detail, such as kg. yesno: yes or no. text: a short line of text, shown on the product and not a filter.

string
Allowed values: choice number yesno text
multiple
required

On a choice: whether a product can have several options. False otherwise.

boolean
unit
required

On a number: the unit it is in, as shown after it. Null when there is none.

string | null
kinds
required

The kinds of product it applies to. Null: every product.

Array<string> | null
Allowed values: cylinder deposit hire accessory appliance fuel consumable delivery other
options
required

On a choice: its options in order, archived ones included. Empty otherwise.

Array<object>
object
id
required

UUID v7

string format: uuid
label
required
string
archivedAt
required

Archived options are kept on the products that have them and are not offered for new ones.

string | null format: date-time
sortOrder
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": "Regulator fitting",
"key": "regulator-fitting",
"type": "choice",
"unit": "kg",
"kinds": [
"cylinder"
],
"options": [
{
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"label": "Clip-on"
}
]
}
]
}

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

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