List items
Operation ID: items
Group: Inventory › Items
Open in the interactive reference
GET /inventory/items
Read-only: Reads and returns; changes nothing.
Lists items. Each item comes back without standardCost, itemPurchasePrice, and currency. To read those, use GET inventory/items/:id or POST inventory/items/search.
The collection cannot filter on a missing weight or missing dimensions. For those, use POST inventory/items/search with missingWeight or missingDimensions.
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
id— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeitemCode— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeexternalItemId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likebrandName— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeitemTypeId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likecategoryId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeunitGroupId— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likevaluationMethod— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeisBatch— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenisSerial— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenisInventory— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenisSalesItem— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenisPurchaseItem— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenactive— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweencountryOfOrigin— filter by eq, ne, gt, gte, lt, lte, in, notIn, between, likeisPerishable— filter by eq, ne, gt, gte, lt, lte, in, notIn, betweenlastModifiedDate— filter by eq, ne, gt, gte, lt, lte, in, notIn, between- Orderable: id, itemCode, valuationMethod, active, createdDate, lastModifiedDate
- Selectable: id, itemCode, itemName, externalItemId, brandName, notes, imageAvatar, itemTypeId, itemTypeName, categoryId, categoryName, inventoryUnitId, inventoryUnitCode, salesUnitId, salesUnitCode, purchaseUnitId, purchaseUnitCode, unitGroupId, unitGroupName, valuationMethod, isBatch, isSerial, isInventory, isSalesItem, isPurchaseItem, active, eccnNumber, htsCode, countryOfOrigin, minStockLevel, minimumTransactionQuantity, leadTime, weight, weightUnit, grossWeight, netWeight, length, width, height, volumePerUnit, volumeUnit, defaultAllocationMode, isPerishable, shelfLifeDays, minShelfLifeDaysOnReceipt, minShelfLifeDaysOnDispatch, bestBeforeOffsetDays, storageTempMin, storageTempMax, createdDate, lastModifiedDate
page[size]— Page sizepage[cursor]— Opaque continuation cursor
Response
200 Success
Under data, an array of itemsRow:
| 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 item. Example: "517a93e4-cbb4-4571-9e3d-2343e56cfd84". |
itemCode |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | The item code, for example 'WIDGET-01'. Unique within the tenant. It is set when the item is created and cannot be changed. Example: "WIDGET-01". |
itemName |
string | null | no | no | no | The display name of the item. Example: "Standard widget". |
externalItemId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | Your own identifier for this item in an external system. |
brandName |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The display name of the brand. |
notes |
string | null | no | no | no | Free text on the item. |
imageAvatar |
string | null | no | no | no | The URL of the item's avatar image. Absent when none is set. |
itemTypeId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The unique identifier of the item's type. It is set when the item is created and cannot be changed. See id on GET inventory/item-types/:id. Example: "66aea173-07b8-4c4e-bc4a-5c35dedfdc16". |
itemTypeName |
string | null | no | no | no | The display name of the item's type. Example: "Stocked good". |
categoryId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The unique identifier of the item's category. See id on GET inventory/item-categories/:id. Example: "6709e2bf-d6cf-4800-9ffa-d5a496ec4d0b". |
categoryName |
string | null | no | no | no | The display name of the item's category. Example: "Components". |
inventoryUnitId |
string | null | no | no | no | The unique identifier of the unit stock is counted in. Every quantity on an inventory level or transaction is in this unit. See id on GET inventory/unit-of-measures/:id. Example: "77bd4c16-e1f0-426d-a98f-07b063df2d9c". |
inventoryUnitCode |
string | null | no | no | no | The code of the inventory unit. Example: "EA". |
salesUnitId |
string | null | no | no | no | The unique identifier of the unit used on sales documents. Absent when it is the same as the inventory unit. See id on GET inventory/unit-of-measures/:id. |
salesUnitCode |
string | null | no | no | no | The code of the sales unit. |
purchaseUnitId |
string | null | no | no | no | The unique identifier of the unit used on purchase documents. Absent when it is the same as the inventory unit. See id on GET inventory/unit-of-measures/:id. |
purchaseUnitCode |
string | null | no | no | no | The code of the purchase unit. |
unitGroupId |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The unique identifier of the unit of measure group that has the conversions between the item's units. See id on GET inventory/unit-of-measure-groups/:id. Example: "38b5454a-c3fe-452b-9754-61f9ead49e87". |
unitGroupName |
string | null | no | no | no | The display name of the unit of measure group. Example: "Each". |
valuationMethod |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
yes | How the item's stock is valued. Possible values: 'movingAverage', 'batch', 'serials', 'none'. 'none' is for an item that is not stocked. 'fifo' can be returned but cannot be written, because it is under development. Example: "movingAverage". |
isBatch |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
no | Whether the item is tracked by batch. Receipts and shipments of it name batches. Example: false. |
isSerial |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
no | Whether the item is tracked by serial number. Receipts and shipments of it name one serial per unit. Example: false. |
isInventory |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
no | Whether stock levels are kept for the item. False for a service or charge item. Example: true. |
isSalesItem |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
no | Whether the item can appear on sales documents. Example: true. |
isPurchaseItem |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
no | Whether the item can appear on purchase documents. Example: true. |
active |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | Whether the item can be selected on new documents. False means it is retired, and historical records keep it. Example: true. |
eccnNumber |
string | null | no | no | no | The Export Control Classification Number. |
htsCode |
string | null | no | no | no | The Harmonized Tariff Schedule code. |
countryOfOrigin |
string | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn), Pattern (like) |
no | The country the item originates from. |
minStockLevel |
decimal | null | no | no | no | The stock level below which the item should be reordered, in the inventory unit. |
minimumTransactionQuantity |
decimal | null | no | no | no | The smallest quantity any document can move. Absent when there is no restriction. |
leadTime |
decimal | null | no | no | no | The number of weeks between ordering the item and receiving it. |
weight |
decimal | null | no | no | no | The weight of one item, in weightUnit. A landed cost Weight allocation fails rather than falling back when an item on the receipt has none. Example: "1.4". |
weightUnit |
string | null | no | no | no | The unit weight is expressed in. Possible values: 'G', 'Kg', 'Lbs'. Example: "Kg". |
grossWeight |
decimal | null | no | no | no | The weight including packaging, in weightUnit. |
netWeight |
decimal | null | no | no | no | The weight excluding packaging, in weightUnit. |
length |
decimal | null | no | no | no | The length of one item. A landed cost Volume allocation needs length, width and height together, and fails when the set is incomplete. |
width |
decimal | null | no | no | no | The width of one item. |
height |
decimal | null | no | no | no | The height of one item. |
volumePerUnit |
decimal | null | no | no | no | The volume of one item, in volumeUnit. |
volumeUnit |
string | null | no | no | no | The unit volumePerUnit is expressed in. Possible values: 'L'. |
defaultAllocationMode |
string | null | no | no | no | The allocation mode a landed cost charge for this item falls back to when it names none. Possible values: 'Equal', 'Quantity', 'LineTotal', 'Weight', 'Volume'. |
isPerishable |
boolean | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
no | Whether the item expires. |
shelfLifeDays |
number | null | no | no | no | The number of days the item keeps from production. |
minShelfLifeDaysOnReceipt |
number | null | no | no | no | The least remaining shelf life a receipt of this item will accept. |
minShelfLifeDaysOnDispatch |
number | null | no | no | no | The least remaining shelf life a dispatch of this item will accept. |
bestBeforeOffsetDays |
number | null | no | no | no | The number of days between the expiry date and the best-before date printed on it. |
storageTempMin |
decimal | null | no | no | no | The lowest temperature the item can be stored at, in degrees Celsius. |
storageTempMax |
decimal | null | no | no | no | The highest temperature the item can be stored at, in degrees Celsius. |
createdDate |
date-time | null | no | no | yes | The date and time the item was created, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
lastModifiedDate |
date-time | null | no | Exact (eq, ne), Range (gt, gte, lt, lte, between), Any of (in, notIn) |
yes | The date and time the item record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. Example: "2026-08-18T09:14:22.517Z". |
{
"data": [
{
"id": "517a93e4-cbb4-4571-9e3d-2343e56cfd84",
"itemCode": "WIDGET-01",
"itemName": "Standard widget",
"externalItemId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"brandName": "<brandName>",
"notes": "<notes>",
"imageAvatar": "<imageAvatar>",
"itemTypeId": "66aea173-07b8-4c4e-bc4a-5c35dedfdc16",
"itemTypeName": "Stocked good",
"categoryId": "6709e2bf-d6cf-4800-9ffa-d5a496ec4d0b",
"categoryName": "Components",
"inventoryUnitId": "77bd4c16-e1f0-426d-a98f-07b063df2d9c",
"inventoryUnitCode": "EA",
"salesUnitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"salesUnitCode": "<salesUnitCode>",
"purchaseUnitId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"purchaseUnitCode": "<purchaseUnitCode>",
"unitGroupId": "38b5454a-c3fe-452b-9754-61f9ead49e87",
"unitGroupName": "Each",
"valuationMethod": "movingAverage",
"isBatch": false,
"isSerial": false,
"isInventory": true,
"isSalesItem": true,
"isPurchaseItem": true,
"active": true,
"eccnNumber": "<eccnNumber>",
"htsCode": "<htsCode>",
"countryOfOrigin": "<countryOfOrigin>",
"minStockLevel": "19.99",
"minimumTransactionQuantity": "19.99",
"leadTime": "19.99",
"weight": "1.4",
"weightUnit": "Kg",
"grossWeight": "19.99",
"netWeight": "19.99",
"length": "19.99",
"width": "19.99",
"height": "19.99",
"volumePerUnit": "19.99",
"volumeUnit": "<volumeUnit>",
"defaultAllocationMode": "<defaultAllocationMode>",
"isPerishable": true,
"shelfLifeDays": 0,
"minShelfLifeDaysOnReceipt": 0,
"minShelfLifeDaysOnDispatch": 0,
"bestBeforeOffsetDays": 0,
"storageTempMin": "19.99",
"storageTempMax": "19.99",
"createdDate": "2026-01-15T09:30:00.000Z",
"lastModifiedDate": "2026-08-18T09:14:22.517Z"
}
],
"pagination": {
"hasMore": true,
"nextCursor": "<nextCursor>"
}
}
Statuses
400— Invalid request or business failure401— The request carries no valid access token.403— Not authorized404— Not found429— Too many requests from this client address. The response has no body and noRetry-Afterheader.500— Internal server error