Skip to content

Change several orders

POST
/orders/bulk
curl --request POST \
--url https://example.com/orders/bulk \
--header 'Content-Type: application/json' \
--cookie __Host-bottle.session_token=<__Host-bottle.session_token> \
--data '{ "orderIds": [ "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f" ], "change": { "action": "reschedule", "wantedOn": "2026-04-15" } }'

One change made to every order named, up to 500: moved to another day, put on or taken off a round, marked paid, sent a payment link, cancelled, marked delivered, or confirmed from draft. Each is done by the same rules as doing it to that order alone, with the same emails, invoices and stock. One the change does not fit is left as it was and listed as skipped, with why; the rest still go. Rounds need rounds:write and a plan with rounds. Confirming drafts is for an owner or admin signed in.

Media typeapplication/json
object
orderIds
required
Array<string>
>= 1 items <= 500 items
change
required
One of:
object
action
required

Move each to another day. Only placed and draft orders move; one already on a round comes off it first.

string
Allowed values: reschedule
wantedOn
required
string format: date

What was changed and what was skipped

Media typeapplication/json
object
done
required
Array<object>
object
orderId
required

UUID v7

string format: uuid
number
required
string
skipped
required
Array<object>
object
orderId
required

UUID v7

string format: uuid
number
required
string | null
reason
required
string
Allowed values: not_found draft not_draft not_open cancelled unchanged already_paid on_account shop_billed paid_elsewhere has_receipts no_email nothing_owed payments_not_ready collection on_round in_progress round_out being_planned no_round_access on_delivery_partner not_on_delivery_partner changed refused account_blocked

Example

{
"done": [
{
"orderId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f"
}
],
"skipped": [
{
"orderId": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"reason": "not_found"
}
]
}

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

The round is not one of this business’s

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