Update an order
Update mutable fields on an existing order. Used for in-progress edits — attaching or swapping a customer, recording contact details against the order, advancing the basket stage, and so on.
customer_id is interpreted specially. Passing a string ID attaches that customer to the order (subject to availability and brand checks); passing null removes the current customer.
If stage is the only field supplied, the order takes a fast path that just records the new stage and returns — useful for keeping live dashboards in sync without re-running the full update pipeline.
metadata uses merge semantics: existing keys not mentioned in the request stay in place, keys passed with a value are upserted, and keys passed with null are removed.
special_requests is writable only by users that hold the SETTINGS_MANAGE permission; for everyone else the field is silently dropped before validation.
Request body
Example request
{
"customer_id": "5f1a83b9d52d5c2c8b8b4567",
"sales_channel_id": "5f1a83b9d52d5c2c8b8b4569",
"first_name": "Jane",
"last_name": "Doe",
"email": "jane@example.com",
"phone": "+447700900123",
"integration_config_id": "5f1a83b9d52d5c2c8b8b4571",
"stage": "payment",
"external_ref": "PMS-12345",
"special_requests": "Quiet room requested."
}Response
The Order was successfully retrieved
Changes
No recorded changes to this endpoint across all 1 revision of this API.