Skip to content

Shipments

Requires an API key — see Authentication. Both endpoints are read-only (GET).

GET /v1/shipments
Parameter Type Default Notes
limit integer 50 Max 200.
offset integer 0
status string Exact match on the shipment’s status (e.g. in_transit). Omit to return shipments in any status.

Results are ordered by createdAt descending.

Terminal window
curl -H "Authorization: Bearer lk_YOUR_KEY" \
"https://tenant.logistall.cloud/api/v1/shipments?limit=2&status=in_transit"
[
{
"id": "3f1c9c2a-6b3e-4b3a-9b2d-1a2b3c4d5e6f",
"shipmentNumber": "SHP-00482",
"status": "in_transit",
"mode": "ftl",
"originCity": "Casablanca",
"destCity": "Tanger",
"pickupScheduledAt": "2026-07-10T08:00:00.000Z",
"deliveryScheduledAt": "2026-07-12T17:00:00.000Z",
"createdAt": "2026-07-08T14:22:03.000Z"
},
{
"id": "9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d",
"shipmentNumber": "SHP-00479",
"status": "in_transit",
"mode": "ocean",
"originCity": "Casablanca",
"destCity": "Marrakech",
"pickupScheduledAt": "2026-07-09T09:30:00.000Z",
"deliveryScheduledAt": "2026-07-14T00:00:00.000Z",
"createdAt": "2026-07-07T11:05:47.000Z"
}
]

mode is one of ftl, ltl, parcel, air, ocean, rail, intermodal. originCity/destCity may be null if the shipment has no origin or destination location on file.

GET /v1/shipments/:id

Same fields as the list endpoint, plus a tracking array — the shipment’s full tracking timeline, newest event first.

Terminal window
curl -H "Authorization: Bearer lk_YOUR_KEY" \
https://tenant.logistall.cloud/api/v1/shipments/3f1c9c2a-6b3e-4b3a-9b2d-1a2b3c4d5e6f
{
"id": "3f1c9c2a-6b3e-4b3a-9b2d-1a2b3c4d5e6f",
"shipmentNumber": "SHP-00482",
"status": "in_transit",
"mode": "ftl",
"originCity": "Casablanca",
"destCity": "Tanger",
"pickupScheduledAt": "2026-07-10T08:00:00.000Z",
"deliveryScheduledAt": "2026-07-12T17:00:00.000Z",
"createdAt": "2026-07-08T14:22:03.000Z",
"tracking": [
{
"eventType": "departure",
"status": "in_transit",
"city": "Casablanca",
"eventAt": "2026-07-10T09:15:00.000Z"
},
{
"eventType": "pickup",
"status": "pickup_scheduled",
"city": "Casablanca",
"eventAt": "2026-07-10T08:05:00.000Z"
}
]
}

tracking[].eventType is one of pickup, departure, arrival, in_transit, out_for_delivery, delivered, exception, customs_hold, attempt_failed, returned. tracking[].status is the shipment’s status as of that event.

Status Body When
404 { "error": "Not found" } No shipment with that id.
401 see Authentication Missing/invalid key.
500 { "error": "Database error" } Unexpected server error.

This is the same tracking timeline visible in the app on the Shipments page, and the same data a public tracking link exposes to a shipment’s recipient without authentication. See the User Guide’s Shipments page for how tracking events are added.