Skip to content

Update an order

PUT /api/orders/{id}

Updates an existing order owned by the authenticated member.

ParameterTypeRequiredDescription
idintegerYesThe Transdirect order primary key

Requires authentication via API key or basic auth.

To change status without re-running booking/quote logic, send only:

FieldTypeDescription
transdirect_order_statusstringNew status (e.g. cancelled, manually_dispatched).

Do not send transdirect_order_id in this mode.

Terminal window
curl -X PUT \
-H "Api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "transdirect_order_status": "cancelled" }' \
https://www.transdirect.com.au/api/orders/5001

For the full path the body uses the same store-style fields as create. When linking to a booking, include:

FieldTypeDescription
transdirect_order_idintegerBooking id to attach.
selected_courierstringCourier string_id used when re-quoting the linked booking.
order_id, imported_from, delivery/buyer fields, etc.Same fields as create.

You may nest delivery under delivery: { name, email, phone, address } — the API maps that to the stored delivery columns.

A successful response returns 200 with the order object in the same shape as get an order:

{
"id": 5001,
"transdirect_order_id": 12345678,
"transdirect_member_id": 12345,
"transdirect_order_status": "pending",
"order_id": "WC-1042",
"imported_from": "Woocommerce",
"imported_time": "2025-08-15T00:30:00+00:00",
"buyer_name": "Jane Smith",
"buyer_email": "jane@example.com.au",
"delivery": {
"name": "Jane Smith",
"email": "jane@example.com.au",
"phone": "0412345678",
"address": "42 George Street"
},
"last_updated": "2025-08-15T01:00:00+00:00"
}
Status codeMeaning
400 / 500Validation or processing error (body may include error)
401Unauthorised — invalid credentials or API key
404Order not found for this member