DataShift
FreightAPI Reference

Freight API Reference

Full API reference for the DataShift Freight API: rate-shop, book, track and print consignments across every carrier account you hold, from one set of endpoints.

DataShift Freight API · v0.3.0

Carrier-agnostic freight orchestration. Rate-shop and book shipments across all your configured carrier accounts from a single API.

Base URL: https://datashift.com.au/api/freight

Auth: Authorization: Bearer dsfrt_<64-hex-chars>

Environments

Production requests go to the URL above. A staging environment for integration testing is available at https://stg.datashift.com.au/api/freight. Use an API key issued in the environment you are calling.

Authentication

All endpoints require a Bearer API key issued from the DataShift portal: Settings → Freight → API Keys → Issue new key.

The key is shown once

The raw key is shown once at creation. Store it in your secrets manager.

Request header
Authorization: Bearer dsfrt_<64-hex-chars>

The key identifies your tenant and carrier accounts. No tenant ID or subdomain is needed in the URL.

Quick start

Issue an API key in the portal.

Call GET /connectors to discover your connectorId values.

Call POST /rates to shop rates across all connectors.

Call POST /{connectorId}/shipments with the chosen serviceCode.

Call GET /shipments/{id}/label to retrieve the PDF label.

Connector routing

Every carrier account has a unique connectorId. Use POST /rates to fan out across all connectors at once, or POST /{connectorId}/rates to query one connector directly.

Error model

All 4xx/5xx responses return { message: string, errors?: ErrorItem[] }.

Dates, times and money

  • Calendar dates are YYYY-MM-DD with no timezone (etaDate, committedEtaDate, deliveredLocalDate). Never convert them between zones.
  • Local times are HH:mm in the named place's zone (etaByLocalTime at the destination; bookingCutoffTime, collectionCutoffTime and collectionWindow at collection).
  • Instants are ISO 8601 with Z or an offset (etaAt, committedEtaAt, collectedAtInstant, deliveredAtInstant, events[].at).
  • Money is integer minor units (cents) with a currency (priceExGstMinor, gstMinor, priceIncGstMinor). The float price fields remain for compatibility.

Deprecated fields

Fields marked deprecated keep their original encoding, for example TNT AU wall-clock times with a literal Z. Each one names the field that carries the corrected value.

Endpoints

The machine-readable document is at /api/freight/openapi.

Last updated on

On this page