Skip to content
ZargoLogix

Shipments

List shipments, or read one with its complete event history. Needs a key with the shipments:read scope.

List shipments

GET/v1/shipmentsScope: shipments:read

Newest update first. All filters are optional and can be combined.

ParameterTypeDescription
statusstringOne of the shipment statuses. Any other value returns 400 invalid_parameter.
tracking_idstringExact ZLG tracking number.
customer_idstringOnly shipments of this customer.
updated_sinceISO 8601Only shipments updated at or after this moment, e.g. 2026-10-01 or 2026-10-01T12:00:00Z.
limitinteger1 to 100, default 25.
cursorstringFrom the previous page. See Pagination.
curl
curl -H "Authorization: Bearer zlx_live_YOUR_KEY" \
  "https://api.zargologix.com/v1/shipments?status=IN_TRANSIT&updated_since=2026-10-01&limit=50"

Get one shipment

GET/v1/shipments/{id}Scope: shipments:read

{id} can be the shipment's internal id, its ZLG tracking number or its ZSH shipment reference. The response is the shipment object plus an events array, oldest first. An unknown id returns 404 not_found.

200 OK
{
  "id": "cm2k9x0a10001",
  "tracking_id": "ZLG90215772410",
  "reference": "ZSH-2026-00042",
  "booking_reference": "ZBK-2026-00012",
  "status": "IN_TRANSIT",
  "mode": "AIR",
  "service_level": "Express",
  "incoterm": "DAP",
  "customer_id": "cm2k8w7b20000",
  "source": "PUBLIC_BOOKING",
  "origin": { "city": "Sparks", "country": "United States" },
  "destination": { "city": "Accra", "country": "Ghana" },
  "sender": { "name": "Acme Parts Ltd", "email": "dispatch@acme.example" },
  "receiver": { "name": "Kwame Mensah", "email": "kwame@example.com", "phone": "+233200000000", "address": "12 Ring Road, Accra" },
  "package": { "description": "Machine parts", "quantity": 2, "weight_kg": "48.50", "declared_value": "1200.00", "currency": "USD" },
  "payment_status": "PAID",
  "shipping_cost": "310.00",
  "delivery_percentage": 40,
  "collection_date": "2026-10-09T08:00:00.000Z",
  "created_at": "2026-10-08T15:20:11.000Z",
  "updated_at": "2026-10-10T12:00:00.000Z",
  "events": [
    {
      "id": "cm2ka1b3c0004",
      "status": "PICKED_UP",
      "location": "Sparks, United States",
      "note": null,
      "latitude": 39.5349,
      "longitude": -119.7527,
      "created_at": "2026-10-09T08:00:00.000Z"
    }
  ]
}

The shipment object

FieldTypeDescription
idstringInternal id. Stable for the life of the shipment.
tracking_idstringThe ZLG tracking number customers use.
referencestring | nullZSH shipment reference.
booking_referencestring | nullZBK booking reference, if the shipment began as a booking.
statusstringCurrent status. See Status values.
modestringAIR, SEA, ROAD or RAIL.
service_levelstring | nullService level chosen for the shipment.
incotermstring | nullIncoterm agreed for the shipment.
customer_idstringThe customer account that owns the shipment.
sourcestringADMIN (created by staff) or PUBLIC_BOOKING (from the website).
originobjectcity (may be null) and country.
destinationobjectcity (may be null) and country.
senderobjectname, email (may be null).
receiverobjectname, email, phone, address. Any of them may be null.
packageobjectdescription, quantity, weight_kg (string), declared_value (string), currency.
payment_statusstringUNPAID, PAID or PARTIAL.
shipping_coststringDecimal amount, two places.
delivery_percentageintegerProgress from 0 to 100.
collection_datestring | nullPlanned or actual collection time.
created_atstringWhen the shipment was created.
updated_atstringWhen it last changed.

The event object

Each time a shipment changes status, an event is recorded. They appear in events on the single-shipment response.

FieldTypeDescription
idstringEvent id.
statusstringThe status the shipment moved to.
locationstring | nullWhere it happened, when known.
notestring | nullFree text recorded by ZargoLogix staff with the update.
latitudenumber | nullPosition, when known.
longitudenumber | nullPosition, when known.
created_atstringWhen the event was recorded.