List shipments
Was this page helpful?
List shipments
Get parcels with their courier and AWB number.
Overview
Returns your shipments: the parcels packed in your warehouses, with their courier and AWB number.
Request
GET/shipments
Needs the permission stock:read
cURL
curl "https://api.o2m.in/api/v1/shipments?status=dispatched&updated_since=2026-10-02T00:00:00Z" \
-H "X-Access-Key: $O2M_ACCESS_KEY" \
-H "X-Secret-Key: $O2M_SECRET_KEY"Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | packing, packed, dispatched or cancelled. |
updated_since | date and time | No | Only parcels changed at or after this time, for example 2026-10-02T10:00:00Z. |
limit | number | No | Rows per page, from 1 to 500. The default is 100. |
cursor | string | No | The next value of the page before. See Pagination. |
Response
200 with shipments and next, oldest parcel first.
Response
{
"shipments": [
{
"id": "77",
"number": "SHP-2627-00012",
"order_id": "SO-1001",
"status": "dispatched",
"warehouse": "BLR",
"courier": "Delhivery",
"awb": "1234567890",
"weight_grams": 450,
"tracking_status": null,
"packed_at": "2026-10-02T11:00:00.000Z",
"dispatched_at": "2026-10-02T15:00:00.000Z",
"updated_at": "2026-10-02T15:00:00.000Z"
}
],
"next": null
}| Field | Type | Description |
|---|---|---|
id, number | string | O2M's ID and the parcel's number. |
order_id | string | The order's number on its channel. |
status | string | packing, packed, dispatched or cancelled. |
warehouse | string | The code of the warehouse it left from. |
courier, awb | string or null | The courier and its tracking number. |
weight_grams | number or null | The parcel's weight. |
tracking_status | string or null | The latest tracking status, when the parcel is tracked. |
packed_at, dispatched_at | string or null | When it was packed and handed to the courier. |
updated_at | string | When the parcel last changed. |
Tip To hear about a dispatch at once, use the shipment.dispatched webhook instead of asking for this list.
Errors
| Status | Code | Message | What to do |
|---|---|---|---|
| 422 | — | updated_since must be a date and time, for example 2026-10-02T10:00:00Z | Correct the value. |
Every endpoint can also return the common errors: a missing or invalid key, a missing permission, the rate limit, or a temporary failure.