Skip to content

List orders

GET
/orders
curl --request GET \
--url 'https://example.com/orders?status=placed&customerId=019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f&fulfilment=delivery&paid=yes&late=true&limit=50&offset=0' \
--cookie bottle.session_token=<bottle.session_token>

Filter by status, by customer, or by the day they are wanted, which is how a round gets built.

q

A tracking reference, or a product on the order.

string
<= 80 characters

A tracking reference, or a product on the order.

status
string
Allowed values: placed delivered cancelled
customerId

UUID v7

string format: uuid
Example
019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f

UUID v7

wantedOn

The day they are wanted.

string format: date

The day they are wanted.

fulfilment

Delivery: goes on a round. collection: the customer picks it up from the yard; never planned onto a van, and comes off stock when marked collected.

string
Allowed values: delivery collection

Delivery: goes on a round. collection: the customer picks it up from the yard; never planned onto a van, and comes off stock when marked collected.

paid

Whether they have been paid for. ‘no’ is orders that still owe money: not on account, not cancelled, not marked paid.

string
Allowed values: yes no

Whether they have been paid for. ‘no’ is orders that still owe money: not on account, not cancelled, not marked paid.

late

Only placed orders wanted on a day already gone.

string
Allowed values: true false

Only placed orders wanted on a day already gone.

deliveredOn

Only orders delivered or collected on this day.

string format: date

Only orders delivered or collected on this day.

limit
integer
default: 50 >= 1 <= 200
offset
integer | null
0

Orders

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

UUID v7

string format: uuid
customerId
required

UUID v7

string | null format: uuid
customerName
required
string | null
deliveryAddressId
required

UUID v7

string | null format: uuid
deliverToName
required
string | null
deliverToAddress
required
string | null
location
required
object
latitude
required
number
>= -90 <= 90
longitude
required
number
>= -180 <= 180
roundId
required

UUID v7

string | null format: uuid
status
required
string
Allowed values: placed delivered cancelled
fulfilment
required

Delivery: goes on a round. collection: the customer picks it up from the yard; never planned onto a van, and comes off stock when marked collected.

string
Allowed values: delivery collection
source
required
string
externalRef
required
string | null
trackingRef
required
string
leaveInstruction
required
string | null
Allowed values: none neighbour safe_place
leaveDetail
required
string | null
deliveryOptionId
required

UUID v7

string | null format: uuid
deliveryOptionName
required
string | null
expectedFrom
required
string | null format: date
expectedTo
required
string | null format: date
deliveryChargePence
required
integer
paymentMethod
required

On_account: billed later, nothing to collect. link: a payment link raised in the accounting system. cash: the driver takes it at the door.

string
Allowed values: on_account link cash
wantedOn
required
string | null format: date
notes
required
string | null
lines
required
Array<object>
object
id
required

UUID v7

string format: uuid
productId
required

UUID v7

string format: uuid
productName
required
string
quantity
required
integer
> 0
unitPrice
required

Pence, excluding VAT.

integer
total
required
integer
deliveredQuantity
required
integer
cancelledQuantity
required
integer
collect
required
Array<object>
object
productId
required

UUID v7

string format: uuid
productName
required
string
quantity
required
integer
> 0
total
required
integer
refundDue
required
integer
refundSettledAt
required
string | null format: date-time
paidAt
required
string | null format: date-time
paidVia
required
string | null
Allowed values: stripe office shop cash
paymentLink
required
string | null format: uri
invoice
required
object
id
required

UUID v7

string format: uuid
number
required
string
status
required
string
Allowed values: sent paid void
canEmailPaymentLink
required
boolean
paymentRequestedAt
required
string | null format: date-time
deliveredAt
required
string | null format: date-time
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
total
required
integer
Example
{
"items": [
{
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"customerId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"deliveryAddressId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"roundId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"status": "placed",
"fulfilment": "delivery",
"source": "office",
"trackingRef": "7K3M9QWXZ2",
"leaveInstruction": "none",
"deliveryOptionId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"paymentMethod": "on_account",
"lines": [
{
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"productName": "19kg propane"
}
],
"collect": [
{
"productId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"productName": "19kg propane"
}
],
"paidVia": "stripe",
"invoice": {
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"number": "INV-BTL00042",
"status": "sent"
}
}
]
}

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 a line names something not sold

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