Update a booking
Endpoint
Section titled “Endpoint”PUT /api/bookings/v4/{id}Updates an existing booking with new sender, receiver, or item details. This is typically used after creating a booking to add full address information before confirming.
Authentication
Section titled “Authentication”Path parameters
Section titled “Path parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
id | integer | Yes | The unique booking ID. |
Request body
Section titled “Request body”You only need to include the fields you want to update. All fields are optional.
Top-level fields
Section titled “Top-level fields”| Field | Type | Description |
|---|---|---|
declared_value | string | Declared value of the goods in AUD. |
tailgate_pickup | boolean | Whether a tailgate is required at pickup. |
tailgate_delivery | boolean | Whether a tailgate is required at delivery. |
items | array | Updated array of item objects. Replaces all existing items. |
sender | object | Updated sender details. |
receiver | object | Updated receiver details. |
Sender / Receiver object
Section titled “Sender / Receiver object”| Field | Type | Description |
|---|---|---|
name | string | Contact name. |
company_name | string | Company or business name. |
email | string | Contact email address. |
phone | string | Contact phone number. |
address | string | Street address. |
postcode | string | Postcode. |
suburb | string | Suburb name in uppercase. |
state | string | State or territory abbreviation (e.g. "NSW", "VIC"). |
type | string | Address type: "business" or "residential". |
country | string | ISO 3166-1 alpha-2 country code. Defaults to "AU". |
Item object
Section titled “Item object”| Field | Type | Description |
|---|---|---|
weight | string | Weight in kilograms. |
height | string | Height in metres. |
width | string | Width in metres. |
length | string | Length in metres. |
quantity | integer | Number of identical items. |
description | string | Packaging type (e.g. "carton", "satchel", "pallet"). |
Example request
Section titled “Example request”curl -X PUT \ -H "Api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "sender": { "name": "John Smith", "company_name": "Example Pty Ltd", "email": "john@example.com", "phone": "0400000000", "address": "123 George Street", "postcode": "2000", "suburb": "SYDNEY", "state": "NSW", "type": "business", "country": "AU" }, "receiver": { "name": "Jane Doe", "company_name": "Receiver Co", "email": "jane@example.com", "phone": "0400000001", "address": "456 Collins Street", "postcode": "3000", "suburb": "MELBOURNE", "state": "VIC", "type": "business", "country": "AU" } }' \ https://www.transdirect.com.au/api/bookings/v4/12345678Example response
Section titled “Example response”The response returns the full updated booking object:
{ "id": 12345678, "status": "new", "declared_value": "1000.00", "tailgate_pickup": false, "tailgate_delivery": false, "sender": { "name": "John Smith", "company_name": "Example Pty Ltd", "email": "john@example.com", "phone": "0400000000", "address": "123 George Street", "postcode": "2000", "suburb": "SYDNEY", "state": "NSW", "type": "business", "country": "AU" }, "receiver": { "name": "Jane Doe", "company_name": "Receiver Co", "email": "jane@example.com", "phone": "0400000001", "address": "456 Collins Street", "postcode": "3000", "suburb": "MELBOURNE", "state": "VIC", "type": "business", "country": "AU" }, "items": [ { "weight": 5, "height": 25, "width": 35, "length": 40, "quantity": 1, "description": "carton" } ]}Error responses
Section titled “Error responses”| Status code | Description |
|---|---|
400 | Bad request — invalid field values. |
401 | Unauthorised — invalid or missing credentials. |
404 | Not found — no booking exists with the given ID, or it belongs to another member. |
422 | Unprocessable entity — the booking has already been paid and cannot be updated. |
Next steps
Section titled “Next steps”- Confirm the booking with a selected courier and pickup date
- Get the booking to verify the updated details