Skip to main content
POST
Don’t know the SCAC? Set auto_detect_vocc_scac to true and omit scac, and Terminal49 will infer the carrier SCAC for you. Detection runs asynchronously: the request is created immediately with status: "pending" and scac: null, then resolves to created (with the detected scac populated) or failed (failed_reason: "scac_auto_detect_failed") β€” poll the tracking request or use webhooks to observe the outcome. Use Auto-Detect Carrier first when your workflow needs to preview or confirm carrier candidates before submitting.
This endpoint has its own rate-limit bucket: 100 tracking requests per minute per API key/account.

Setting custom field values before the shipment exists

Use initial_custom_fields to stage custom field values at creation time, before the shipment and containers exist. Terminal49 applies shipment entries to the shipment and containers entries to their containers once the tracking request resolves. Each api_slug must match an existing custom field definition on your account β€” a Shipment-scoped definition for shipment entries, a Container-scoped definition for containers entries. Container entries without a number β€” or with number set to an empty string β€” are applied to every container on the shipment; include a non-empty number to target one specific container.
In this example, booking_reference is set on the shipment; po_number is set per container by number; and customs_broker and seal_number β€” which omit number or pass an empty string β€” are applied to every container on the shipment.

Authorizations

Authorization
string
header
required

Use a Terminal49 API key in the Authorization header with the Token prefix.

Authorization: Token YOUR_API_KEY

Body

application/json

Create a shipment tracking request

data
object

Response

Tracking Request Created

data
Tracking Request Β· object
included
(Account model Β· object | Shipping line model Β· object)[]