Orders
Advance demo order
Move a demo order to a chosen status, for testing.
POST
/v1/orders/{orderId}/demo/advanceBearer tokenReturns JSONSuccess 200
Only for a demo order; a live order is refused with not_a_demo_order. The move must be a real step of the order journey: if it is not, the answer lists the statuses you can move to (allowedNext). It sends the same webhooks a real change would.
Request
Headers
| Field | Type | Description |
|---|---|---|
Authorizationrequired | string | The access token from Get token, as "Bearer <token>". |
Content-Typerequired | string | Always application/json when a body is sent. |
Path parameters
| Field | Type | Description |
|---|---|---|
orderIdrequired | string | The order's id (the UUID, not the short Order ID). |
Request body
| Field | Type | Description |
|---|---|---|
statusrequired | string | The status code to move to, from List order statuses. |
reasonoptional | string | A note stored with the change. |
Example request
curl -X POST "https://api.swiftazu.com/v1/orders/dffcd25d-6eb3-4b90-868c-6deca160ad74/demo/advance" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "pickup_assigned"
}'Response
Example response · 200
{
"id": "dffcd25d-6eb3-4b90-868c-6deca160ad74",
"orderId": "SWZORDYFSADMR",
"isDemo": true,
"previousStatus": "ready_for_pickup",
"status": "pickup_assigned",
"occurredAt": "2026-10-02T02:30:52.194Z"
}Errors
| HTTP | Code | Meaning |
|---|---|---|
| 404 | order_not_found | No order of yours has this id or air waybill number. |
| 409 | not_a_demo_order | This is a live order. Only a demo order can be advanced. |
| 400 | status_is_final | The order is in a final status and cannot change. |
| 400 | unknown_status | No status has this code. |
| 400 | status_change_not_allowed | The order cannot move from its current status to that one. allowedNext lists where it can go. |
Every call can also return the shared errors listed on the Overview page. Overview