List bookings
Endpoint
Section titled “Endpoint”GET /api/bookings/v4Returns bookings for the authenticated member. Quotes (status new) are excluded — only bookings that have progressed past quote are listed. Results are limited to 100 rows.
Authentication
Section titled “Authentication”Query parameters
Section titled “Query parameters”| Parameter | Type | Required | Description |
|---|---|---|---|
since | string | No | Return bookings created on or after this datetime (ISO 8601 accepted). A value that cannot be parsed returns 400 with an errors.since message. |
sort | string | No | Column name to order by ascending (e.g. booking_time, id). Default is booking_time descending. Do not pass asc/desc as the value — that is not how this parameter works. An unrecognised column is ignored and the default ordering is used. |
Example request
Section titled “Example request”curl -X GET \ -H "Api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ "https://www.transdirect.com.au/api/bookings/v4?since=2025-08-01T00:00:00%2B1000"Example response
Section titled “Example response”Each element is a full booking object from the same serializer as get a booking (not a reduced projection):
[ { "id": 12345678, "status": "Confirmed", "created_at": "2025-08-15T10:30:00+1000", "courier": "allied", "connote": "ALD123456789", "cost": 79.24, "sender": { "postcode": "2000", "suburb": "SYDNEY", "type": "business", "country": "AU" }, "receiver": { "postcode": "3000", "suburb": "MELBOURNE", "type": "business", "country": "AU" }, "items": [ { "weight": 5, "height": 25, "width": 35, "length": 40, "quantity": 1, "description": "carton" } ] }]Successful responses may include caching headers (ETag, Cache-Control: private, max-age=30). Sending a matching If-None-Match can return 304 Not Modified.
Response fields
Section titled “Response fields”See get a booking for the full field list. Note:
- Status values on non-quote bookings are typically human labels (e.g.
"Confirmed"). - Quotes (
new) never appear in this list — create/get them viaPOST/GETby id instead.
Filtering by date
Section titled “Filtering by date”Use the since parameter to retrieve only recent bookings when syncing with your system.
# Get bookings since 1 August 2025curl -H "Api-key: YOUR_API_KEY" \ "https://www.transdirect.com.au/api/bookings/v4?since=2025-08-01T00:00:00%2B1000"Error responses
Section titled “Error responses”| Status code | Description |
|---|---|
401 | Unauthorised — invalid or missing credentials. |
404 | No bookings found for the filter. |
304 | Not modified — your If-None-Match matches the current ETag. |