O2M Logo
One to Many
List stock movements
Was this page helpful?

List stock movements

Follow every change to your stock, oldest first.

Overview

Returns every stock movement: each time units were received, sold, moved or corrected. Movements are never changed, so this list is a full history you can follow.

Request

GET/movements

Needs the permission stock:read

cURL
curl "https://api.o2m.in/api/v1/movements?sku=MUG-BLUE&type=DSP&since=2026-10-01T00:00:00Z" \
  -H "X-Access-Key: $O2M_ACCESS_KEY" \
  -H "X-Secret-Key: $O2M_SECRET_KEY"

Query parameters

ParameterTypeRequiredDescription
skustringNoOne exact SKU.
typestringNoOne movement type, such as DSP. See Status values.
sincedate and timeNoOnly movements at or after this time, for example 2026-10-02T10:00:00Z.
limitnumberNoRows per page, from 1 to 500. The default is 100.
cursorstringNoThe next value of the page before. See Pagination.

Response

200 with movements and next.

Response
{
  "movements": [
    {
      "id": "812",
      "type": "DSP",
      "sku": "MUG-BLUE",
      "qty": 2,
      "from": {
        "kind": "warehouse",
        "warehouse": "BLR",
        "state": "committed"
      },
      "to": {
        "kind": "customer"
      },
      "reason": null,
      "ref_type": "order_item",
      "ref_id": "9001",
      "source": "ui",
      "note": null,
      "at": "2026-10-02T15:00:00.000Z"
    }
  ],
  "next": "812"
}
FieldTypeDescription
idstringThe movement's ID.
typestringWhat happened.
skustringThe item.
qtynumberUnits moved.
from, toobjectWhere the units left and arrived. kind is always given. For a warehouse, warehouse is its code and state its stock state.
reasonstring or nullThe adjustment reason, when there is one.
ref_type, ref_idstring or nullThe record behind the movement, for tracing only.
sourcestringWhere it was made: ui, mobile, api, channel or system.
notestring or nullA note.
atstringWhen it happened.

Errors

StatusCodeMessageWhat to do
422—since must be a date and time, for example 2026-10-02T10:00:00ZCorrect 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.