Skip to content

Labels, manifests and public URLs

See get a label for GET /api/bookings/v4/{id}/label.

GET /api/bookings/v4/{id}/a6label

Returns an A6-format PDF label for the booking. Same auth rules as the standard label endpoint. Also accepts HEAD for existence checks.

Terminal window
curl -H "Api-key: YOUR_API_KEY" \
-o label-a6.pdf \
https://www.transdirect.com.au/api/bookings/v4/123456/a6label
GET /api/bookings/v4/{id}/manifest

Returns a PDF manifest for the booking when the courier supports manifests.

GET /api/bookings/v4/{id}/invoice

Returns the booking invoice PDF (authenticated; booking must belong to the member).

GET /api/bookings/v4/{id}/public_url

Generates a time-limited public URL for the label (usable without the API key). Requires the label to be ready.

Example response shape:

{
"success": true,
"url": "https://www.transdirect.com.au/api/signed/label/TOKEN",
"expires_at": "..."
}

The signed path is GET /api/signed/label/{token} (no API key).

POST /api/bookings/labels/batch
POST /api/bookings/manifests/batch

Request body typically includes a list of booking ids (and optional label format: "standard" or "a6"). Returns a combined PDF for the selected bookings. Cap is on the order of 1–50 ids depending on generation (see OpenAPI on v5).

When a cached label is stale, courier-specific regenerate endpoints exist, for example:

PathCourier family
GET /api/bookings/v4/{id}/tntregeneralabelTNT
GET /api/bookings/{id}/tgeregeneralabelTeam Global Express
GET /api/bookings/{id}/northlineregeneralabelNorthline

Everyday retrieval should still use /label first.

All endpoints above (except the signed token path) require API key or basic auth, and the booking must belong to the authenticated member.