Pickups | Freight API
Freight API reference for pickups: book, list and check carrier pickups, and see which ones failed before a driver doesn't turn up.
Books a pickup — either derived from an existing consignment (shipmentId, address/items locked to that consignment) or standalone (collection, items, and receiver supplied directly, all three required together). A partial standalone submission (e.g. collection without items/receiver) is rejected with a 400.
FreightApiKeyAuthorizationBearer <dsfrt_<64-hex-chars>>API key issued from Settings → Freight → API Keys. The raw key is shown once at creation.
connectorId*stringDatabase ID of the carrier connector account (from GET /connectors)
application/json- body
Provide either shipmentId alone (derived mode — books against that existing consignment) or all three of collection, items, and receiver together (standalone mode). A partial standalone submission (e.g. collection without items/receiver) is rejected with a 400.
shipmentId?stringDerived mode — book against this existing consignment. Omit for standalone.
pickupDate*string^\d{4}-\d{2}-\d{2}$readyTime*string^\d{2}:\d{2}$closeTime*string^\d{2}:\d{2}$serviceCode?stringRequired for standalone (non-derived) pickups on TNT AU and TGE AU connectors — both reject a booking with no service code. Ignored by BEX AU. In derived mode (shipmentId given), the original shipment's service code is used automatically and this field is optional for every carrier.
collection?Standalone mode only — required together with items and receiver
items?Standalone mode only — required together with collection and receiver
receiver?Standalone mode only — required together with collection and items
Pickup booked successfully (or recorded as failed — check status)
application/json- response
pickupBookingId?stringorderNumber?stringstatus?string"BOOKED""FAILED"connectorId?stringcurl -X POST 'https://datashift.com.au/api/freight/string/pickups' \ -H 'Content-Type: application/json' \ -d '{ "shipmentId": "cm9x1a2b3c4d5e6f7g8h9i0j", "pickupDate": "2026-07-10", "readyTime": "09:00", "closeTime": "17:00", "serviceCode": "76"}'{ "pickupBookingId": "cm9y2b3c4d5e6f7g8h9i0j1k", "orderNumber": "SYD734506", "status": "BOOKED", "connectorId": "conn_tnt_01"}FreightApiKeyAuthorizationBearer <dsfrt_<64-hex-chars>>API key issued from Settings → Freight → API Keys. The raw key is shown once at creation.
id*stringPickup booking detail
application/json- response
pickup*One pickup-booking attempt. Every attempt is its own row — for a shipment with a retry history, this is a single row, not the latest-of-many; use the shipment's own pickupStatus for the current outcome.
curl -X GET 'https://datashift.com.au/api/freight/pickups/string'{ "pickup": { "id": "string", "tenantId": "string", "connectorId": "string", "carrier": "TNT_AU", "status": "BOOKED", "orderNumber": "string", "shipmentId": "string", "pickupDate": "string", "readyTime": "string", "closeTime": "string", "serviceCode": "string", "collection": { "companyName": "string", "contactName": "string", "phoneAreaCode": "string", "phoneNumber": "string", "address1": "string", "address2": "string", "suburb": "string", "state": "string", "postcode": "string", "email": "user@example.com" }, "items": { "count": 1, "totalWeightKg": 0, "maxLengthCm": 0, "maxWidthCm": 0, "maxHeightCm": 0 }, "lastErrorCode": "string", "lastErrorMessage": "string", "source": "API", "createdByUserId": "string", "createdAt": "2019-08-24T14:15:22Z" }}Shipments | Freight API
Freight API reference for shipments: book a consignment from a quote, retrieve its status and tracking, and cancel it where the carrier allows.
Printing | Freight API
Freight API reference for printing: fetch con-notes and labels for a booked shipment in the format your printer needs.