Shipments
Requires an API key — see Authentication. Both endpoints are read-only (GET).
List shipments
Section titled “List shipments”GET /v1/shipmentsQuery parameters
Section titled “Query parameters”| 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.
Example request
Section titled “Example request”curl -H "Authorization: Bearer lk_YOUR_KEY" \ "https://tenant.logistall.cloud/api/v1/shipments?limit=2&status=in_transit"Example response
Section titled “Example response”[ { "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 a shipment
Section titled “Get a shipment”GET /v1/shipments/:idSame fields as the list endpoint, plus a tracking array — the shipment’s full tracking timeline, newest event first.
Example request
Section titled “Example request”curl -H "Authorization: Bearer lk_YOUR_KEY" \ https://tenant.logistall.cloud/api/v1/shipments/3f1c9c2a-6b3e-4b3a-9b2d-1a2b3c4d5e6fExample response
Section titled “Example response”{ "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.
Errors
Section titled “Errors”| 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.