Download OpenAPI specification:Download
Public per-product stock-rows endpoint. The path lives under /v1/products even though the implementing service is product-inventory-service.
Returns the in-warehouse stock of one of your products, aggregated into rows keyed on (arrival_batch_id, best_before_date, batch_number) — extended with the reserving order id when include_order_breakdown=true. Each row carries available_quantity / reserved_quantity / total_quantity, the earliest on-shelf timestamp, and references to the inbound shipment and (optionally) the reserving order. Articles that have already shipped are excluded.
| productId required | string^[a-f0-9]{24}$ Logitrail's internal technical ID of the product (24-char hex). |
| offset | integer [ 0 .. 9007199254740991 ] Default: 0 Pagination offset into the post-aggregation row list. |
| limit | integer [ 1 .. 500 ] Default: 100 Pagination page size (1–500). Default 100. Caps the post-aggregation row list. |
| include_order_breakdown | boolean Default: false When true, split rows by the reserving order id ( |
| x-logitrail-merchant-id required | string non-empty Logitrail's Merchant ID. |
{- "stock_rows": [
- {
- "arrival_batch_id": -9007199254740991,
- "best_before_date": "2019-08-24",
- "batch_number": "string",
- "on_shelf_at": "2019-08-24T14:15:22Z",
- "inbound_shipment": {
- "id": "string"
}, - "order": {
- "id": "string"
}, - "total_quantity": 9007199254740991,
- "available_quantity": 9007199254740991,
- "reserved_quantity": 9007199254740991
}
]
}Returns the units of one of your inbound shipments, aggregated into rows keyed on (product, in_warehouse_status, batch_number, best_before_date). in_warehouse_status tells you where each unit is in its lifecycle (inbound = expected, arrived = received but not yet shelved, on_shelf, picked, …). Each row carries the total_quantity and the product (id, sku, name). Filter with in_warehouse_status; paginated with offset/limit (up to 500 rows per page). Inbound shipments that do not belong to you return an empty list.
| inbound_shipment_id required | string^[a-f0-9]{24}$ Inbound shipment ID (24-char hex) whose articles to list. Required. Shipments that do not belong to you return an empty list. |
string or Array of strings Optional in-warehouse status filter — a single value or an array. When omitted, every status present on the shipment is returned. Allowed values: inbound, arrived, on_shelf, picked, packed, sent_out, dropshipped, incident. | |
| offset | integer [ 0 .. 9007199254740991 ] Default: 0 Pagination offset into the post-aggregation row list. |
| limit | integer [ 1 .. 500 ] Default: 100 Pagination page size (1–500). Default 100. Caps the post-aggregation row list. |
| x-logitrail-merchant-id required | string non-empty Logitrail's Merchant ID. |
{- "article_rows": [
- {
- "product": {
- "id": "string",
- "sku": "string",
- "name": "string"
}, - "in_warehouse_status": "inbound",
- "batch_number": "string",
- "best_before_date": "2019-08-24",
- "total_quantity": 9007199254740991,
- "inbound_shipment": {
- "id": "string"
}
}
]
}Returns the chronological inventory movement history for one of your products. Each entry records a timestamp, movement type (e.g. inbound_shipment.to_shelf, order_pickup.picked), article count, and references to the related inbound shipment or order when applicable. Supports time-range and type filters; paginated with offset/limit (up to 500 rows per page). Products that do not belong to your merchant return an empty list.
| productId required | string^[a-f0-9]{24}$ Logitrail's internal technical ID of the product (24-char hex). |
| offset | integer [ 0 .. 9007199254740991 ] Default: 0 Pagination offset into the chronological movement list. |
| limit | integer [ 1 .. 500 ] Default: 100 Pagination page size (1–500). Default 100. |
| ts_min | string <date-time> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Optional inclusive lower bound on movement |
| ts_max | string <date-time> ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[... Optional inclusive upper bound on movement |
string or Array of strings Optional movement-type filter. Repeat the parameter or supply a comma-separated value to filter to multiple types. | |
| order | string Default: "asc" Enum: "asc" "desc" Chronological order. |
| x-logitrail-merchant-id required | string non-empty Logitrail's Merchant ID. |
{- "movements": [
- {
- "id": "string",
- "ts": "2019-08-24T14:15:22Z",
- "type": "custom",
- "quantity": 9007199254740991,
- "inbound_shipment": {
- "id": "string"
}, - "order": {
- "id": "string"
}
}
]
}