Skip to content

Update a booking

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.

ParameterTypeRequiredDescription
idintegerYesThe unique booking ID.

You only need to include the fields you want to update. All fields are optional.

FieldTypeDescription
declared_valuestringDeclared value of the goods in AUD.
tailgate_pickupbooleanWhether a tailgate is required at pickup.
tailgate_deliverybooleanWhether a tailgate is required at delivery.
itemsarrayUpdated array of item objects. Replaces all existing items.
senderobjectUpdated sender details.
receiverobjectUpdated receiver details.
FieldTypeDescription
namestringContact name.
company_namestringCompany or business name.
emailstringContact email address.
phonestringContact phone number.
addressstringStreet address.
postcodestringPostcode.
suburbstringSuburb name in uppercase.
statestringState or territory abbreviation (e.g. "NSW", "VIC").
typestringAddress type: "business" or "residential".
countrystringISO 3166-1 alpha-2 country code. Defaults to "AU".
FieldTypeDescription
weightstringWeight in kilograms.
heightstringHeight in metres.
widthstringWidth in metres.
lengthstringLength in metres.
quantityintegerNumber of identical items.
descriptionstringPackaging type (e.g. "carton", "satchel", "pallet").
Terminal window
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/12345678

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"
}
]
}
Status codeDescription
400Bad request — invalid field values.
401Unauthorised — invalid or missing credentials.
404Not found — no booking exists with the given ID, or it belongs to another member.
422Unprocessable entity — the booking has already been paid and cannot be updated.