List orders
Was this page helpful?
List orders
Get orders from every channel, with their lines and parcels.
Overview
Returns your orders from every channel, with their lines and parcels.
Request
GET/orders
Needs the permission orders:read
cURL
curl "https://api.o2m.in/api/v1/orders?status=placed&channel=mysite&limit=50" \
-H "X-Access-Key: $O2M_ACCESS_KEY" \
-H "X-Secret-Key: $O2M_SECRET_KEY"Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
status | string | No | One status, such as placed. See Status values. |
channel | string | No | One channel, such as shopify or a name of your own. |
updated_since | date and time | No | Only orders 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 50. |
cursor | string | No | The next value of the page before. See Pagination. |
Response
200 with orders and next, oldest order first.
Response
{
"orders": [
{
"id": "4410",
"order_id": "SO-1001",
"channel": "mysite",
"status": "placed",
"channel_status": null,
"ordered_at": "2026-10-02T10:00:00.000Z",
"updated_at": "2026-10-02T10:00:02.000Z",
"dispatch_by": null,
"shipped_at": null,
"delivered_at": null,
"cancelled_at": null,
"total": 200,
"tax": 30.51,
"customer": {
"name": "Ravi",
"email": "ravi@example.com"
},
"shipping_address": {
"name": "Ravi",
"phone": "9800000000",
"address1": "12 MG Road",
"address2": null,
"city": "Pune",
"state": "Maharashtra",
"pincode": "411001",
"country": "IN"
},
"client": null,
"lines": [
{
"id": "9001",
"sku": "MUG-BLUE",
"title": "Blue mug",
"quantity": 2,
"unit_price": 100,
"total": 200,
"tax": 30.51,
"reserved": 2,
"backordered": 0,
"dispatched": 0,
"delivered": 0,
"returned": 0
}
],
"shipments": []
}
],
"next": null
}| Field | Type | Description |
|---|---|---|
id | string | O2M's ID for the order. Use it to retrieve or cancel the order. |
order_id | string | The order number on its channel, or the number you sent. |
channel | string | Where the order came from. |
status | string | The order status. See Status values. |
channel_status | string or null | The status in the channel's own words, when there is one. |
ordered_at, updated_at | string | When the order was placed and last changed. |
dispatch_by | string or null | When the order must leave the warehouse. |
shipped_at, delivered_at, cancelled_at | string or null | When each of these happened. |
total, tax | number or null | The order value and its tax, in rupees. |
customer | object | name and email. |
shipping_address | object or null | name, phone, address1, address2, city, state, pincode and country. |
client | string or null | The code of the 3PL client the order belongs to, or null. |
lines | array | The order lines. See the table below. |
shipments | array | The order's parcels, in the shape of List shipments. Cancelled parcels are left out. |
Each line
| Field | Type | Description |
|---|---|---|
id | string | O2M's ID for the line. |
sku, title | string | The item on the line. |
quantity | number | Units ordered. |
unit_price, total, tax | number or null | The price per unit, the line value and the line's tax, in rupees. |
reserved | number | Units held for this line in a warehouse. |
backordered | number | Units no warehouse has yet. |
dispatched, delivered, returned | number | Units that reached each stage. |
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.