Tracking
Look up a shipment by its reference and get its status, route and history. This is the same data the public tracking site shows. No key is needed.
Look up a shipment
GET
/v1/tracking/{reference}{reference} can be any of:
- a ZLG tracking number, such as
ZLG90215772410, - a ZSH shipment reference, such as
ZSH-2026-00042, or - a ZBK booking reference, such as
ZBK-2026-00012(only once the booking has been approved).
curl
curl "https://api.zargologix.com/v1/tracking/ZLG90215772410"200 OK (example values)
{
"reference": "ZLG90215772410",
"bookingReference": "ZBK-2026-00012",
"shipmentReference": "ZSH-2026-00042",
"status": "IN_TRANSIT",
"statusLabel": "In Transit",
"mode": "Air Freight",
"originLabel": "Sparks, United States",
"destLabel": "Accra, Ghana",
"origin": { "lat": 39.5349, "lng": -119.7527 },
"destination": { "lat": 5.6037, "lng": -0.187 },
"deliveryPercentage": 40,
"updatedAt": "2026-10-10T12:00:00.000Z",
"trail": [
{
"status": "PICKED_UP",
"statusLabel": "Picked Up",
"location": "Sparks, United States",
"lat": 39.5349,
"lng": -119.7527,
"at": "2026-10-09T08:00:00.000Z"
}
]
}Response fields
| Field | Type | Description |
|---|---|---|
| reference | string | The ZLG tracking number. |
| bookingReference | string | null | ZBK booking reference, if any. |
| shipmentReference | string | null | ZSH shipment reference, if any. |
| status | string | Current status code. See Status values. |
| statusLabel | string | The same status in words, ready to show to a customer. |
| mode | string | Transport mode in words, for example "Air Freight". |
| originLabel | string | Where it started, as "City, Country". |
| destLabel | string | Where it is going, as "City, Country". |
| origin | object | null | lat and lng of the origin, when known. |
| destination | object | null | lat and lng of the destination, when known. |
| deliveryPercentage | integer | Progress from 0 to 100. |
| updatedAt | string | When the shipment last changed. |
| trail | array | Oldest first. Each entry: status, statusLabel, location (or null), lat and lng (or null), at. |
What is never returned
Tracking is open to anyone who holds a reference, so it is deliberately narrow. It never includes names, email addresses, phone numbers, street addresses, prices, the contents of the shipment, or the notes staff write on updates.
Errors and limits
| Status | When | Body |
|---|---|---|
| 404 | Not found | No trackable shipment has that reference. A booking that is still awaiting approval also returns 404. Body: { "error": "..." } |
| 422 | Invalid | The reference is empty or longer than 40 characters. |
| 429 | Too many requests | More than 30 lookups in a minute from one address. Wait for Retry-After seconds. |
| 500 | Our error | Try again in a moment. |
- Call this endpoint from your server. Browsers may only call it from ZargoLogix's own websites; a web page on another domain is blocked by the browser.
- Do not poll faster than once a minute per shipment. For live updates use webhooks (key required).
- To send a customer to a ready-made page instead, link to the tracking site in the form
https://tracking.zargologix.com/tracking?id=ZLG90215772410.