List inventory levels

Operation ID: inventoryLevels

Group: Inventory › Inventory Levels

Open in the interactive reference

GET /inventory/inventory-levels

Read-only: Reads and returns; changes nothing.

Lists inventory levels. Each inventory level is the stock of one item at one location, with the id, code, and name of both.

To read the stock of one item at one location, filter on itemId and locationId together. They identify at most one inventory level.

Parameters

Name In Type Required Description
Api-Version header string · v1 yes The API version this request targets, named by its public identifier. Required on every request; omitting it, or naming a version this company does not have, is answered with 400. This document describes version v1.

Query surface

Response

200 Success

Under data, an array of inventoryLevelsRow:

Field Type Required Filter Sort Description
id string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The unique identifier for the inventory level. Example: "0b6d4c93-71ea-4f28-9c05-83a1e7f6204d".
itemId string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) no The unique identifier for the item this level is for. See id on GET inventory/items/:id. Example: "5f21c8b0-9d34-4a76-8e12-04b93c7de5a8".
itemCode string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The item's short code. Example: "WIDGET-01".
itemName string | null no no no The item's name. Example: "Standard widget".
locationId string no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) no The unique identifier for the location this level is at. See id on GET inventory/warehouses/:id. Example: "e1d84c07-5b39-4a26-9f70-2c8b613ad495".
locationCode string | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) yes The location's short code. Example: "WH-01".
locationName string | null no no no The location's name. Example: "Rotterdam Distribution Centre".
onHandQuantity decimal | null no no yes The total physical quantity on hand at this location, in the item's stocking unit of measure. Example: "1200.00".
availableQuantity decimal | null no no yes The quantity free to allocate: onHandQuantity minus allocatedQuantity and reservedQuantity. Example: "1150.00".
allocatedQuantity decimal | null no no no The quantity allocated to outbound demand. Example: "50.00".
reservedQuantity decimal | null no no no The quantity reserved.
inTransitQuantity decimal | null no no no The quantity in transit to this location.
damagedQuantity decimal | null no no no The quantity flagged as damaged.
qualityHoldQuantity decimal | null no no no The quantity on quality hold.
averageCost decimal | null no no no The moving-average unit cost, in the currency given by currency. Example: "3.75".
onHandValue decimal | null no no yes The value of the stock on hand, in the currency given by currency. Example: "4500.00".
currency string | null no no no The currency of averageCost and onHandValue. Format ISO 4217, for example 'EUR'. Absent when the level has no valuation yet. Example: "EUR".
lastTransactionTimestamp date-time | null no no yes The date and time a stock movement last touched this level. Format YYYY-MM-DDTHH:mm:ss. Unlike lastModifiedDate, it changes only when stock moves. Example: "2026-08-03T11:15:00".
lastModifiedDate date-time | null no Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) yes The date and time the inventory-level record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-08-03T11:15:00.000Z".
{
  "data": [
    {
      "id": "0b6d4c93-71ea-4f28-9c05-83a1e7f6204d",
      "itemId": "5f21c8b0-9d34-4a76-8e12-04b93c7de5a8",
      "itemCode": "WIDGET-01",
      "itemName": "Standard widget",
      "locationId": "e1d84c07-5b39-4a26-9f70-2c8b613ad495",
      "locationCode": "WH-01",
      "locationName": "Rotterdam Distribution Centre",
      "onHandQuantity": "1200.00",
      "availableQuantity": "1150.00",
      "allocatedQuantity": "50.00",
      "reservedQuantity": "19.99",
      "inTransitQuantity": "19.99",
      "damagedQuantity": "19.99",
      "qualityHoldQuantity": "19.99",
      "averageCost": "3.75",
      "onHandValue": "4500.00",
      "currency": "EUR",
      "lastTransactionTimestamp": "2026-08-03T11:15:00",
      "lastModifiedDate": "2026-08-03T11:15:00.000Z"
    }
  ],
  "pagination": {
    "hasMore": true,
    "nextCursor": "<nextCursor>"
  }
}

Statuses