Returns the items that match the given filters.

POST /inventory/items/search

Group: Inventory › Items · Operation ID: searchItems

Returns the items that match the given filters. Every criterion is exact and criteria combine with AND. Send an empty filters object to return every item. missingWeight and missingDimensions find the items a landed cost Weight or Volume allocation would fail on, because those modes refuse the whole allocation rather than falling back. itemCode is unique, so filtering on it returns at most one item.

Open in the interactive reference

Parameters

Name In Type Required Description
Api-Version header "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.

Request body

Required, application/json: searchItemsInput.

Field Type Required Description
filters object yes The filters to apply. An item must match every filter you send. Send an empty object to return all items.
filters.itemCode string no Limits results to the item with this item code. The match is exact. Item codes are unique, so this matches at most one item.
filters.itemTypeId string no Limits results to items with this item type. See id on GET inventory/item-types/:id.
filters.categoryId string no Limits results to items in this category. See id on GET inventory/item-categories/:id.
filters.unitGroupId string no Limits results to items in this unit of measure group. See id on GET inventory/unit-of-measure-groups/:id.
filters.valuationMethod string no Limits results to items with this valuation method. Accepted values: 'movingAverage', 'batch', 'serials', 'none', 'fifo'. 'fifo' can be matched on read but cannot be written.
filters.isBatch boolean no Limits results to items with the given isBatch value.
filters.isSerial boolean no Limits results to items with the given isSerial value.
filters.isInventory boolean no Limits results to items with the given isInventory value. False finds service and charge items.
filters.isSalesItem boolean no Limits results to items with the given isSalesItem value.
filters.isPurchaseItem boolean no Limits results to items with the given isPurchaseItem value.
filters.isPerishable boolean no Limits results to items with the given isPerishable value.
filters.active boolean no Limits results to items with the given active value. Omit to return both.
filters.externalItemId string no Limits results to the item with this external identifier. The match is exact.
filters.brandName string no Limits results to items with this brand name. The match is exact.
filters.countryOfOrigin string no Limits results to items with this country of origin. The match is exact.
filters.missingWeight boolean no True to return only items that have no weight, the items a landed cost Weight allocation would fail on.
filters.missingDimensions boolean no True to return only items missing length, width or height, the items a landed cost Volume allocation would fail on.
filters.modifiedSince string (date-time) no Limits results to items changed on or after this time. Format YYYY-MM-DDTHH:mm:ss.sssZ.
page object no The pagination controls. Omit for the first page.
page.cursor string no The cursor from the previous response's pagination.nextCursor. Omit for the first page.
page.size number no The number of items per page. Defaults to 50. A value above 200 is treated as 200, not rejected.

Example:

{
  "filters": {
    "missingWeight": true
  },
  "page": {
    "size": 50
  }
}

Response

200 Success

Under data (searchItemsOutput):

Field Type Required Description
items array of object yes The items on this page, oldest first. An empty array when nothing matches.
items[].id string yes The unique identifier for the item.
items[].itemCode string no The item code, for example 'WIDGET-01'. Unique within the tenant. It is set when the item is created and cannot be changed.
items[].itemName string no The display name of the item.
items[].externalItemId string no Your own identifier for this item in an external system.
items[].brandName string no The display name of the brand.
items[].notes string no Free text on the item.
items[].imageAvatar string no The URL of the item's avatar image. Absent when none is set.
items[].itemTypeId string 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.
items[].itemTypeName string no The display name of the item's type.
items[].categoryId string no The unique identifier of the item's category. See id on GET inventory/item-categories/:id.
items[].categoryName string no The display name of the item's category.
items[].inventoryUnitId string 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.
items[].inventoryUnitCode string no The code of the inventory unit.
items[].salesUnitId string 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.
items[].salesUnitCode string no The code of the sales unit.
items[].purchaseUnitId string 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.
items[].purchaseUnitCode string no The code of the purchase unit.
items[].unitGroupId string 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.
items[].unitGroupName string no The display name of the unit of measure group.
items[].valuationMethod string no 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.
items[].isBatch boolean no Whether the item is tracked by batch. Receipts and shipments of it name batches.
items[].isSerial boolean no Whether the item is tracked by serial number. Receipts and shipments of it name one serial per unit.
items[].isInventory boolean no Whether stock levels are kept for the item. False for a service or charge item.
items[].isSalesItem boolean no Whether the item can appear on sales documents.
items[].isPurchaseItem boolean no Whether the item can appear on purchase documents.
items[].active boolean no Whether the item can be selected on new documents. False means it is retired, and historical records keep it.
items[].eccnNumber string no The Export Control Classification Number.
items[].htsCode string no The Harmonized Tariff Schedule code.
items[].countryOfOrigin string no The country the item originates from.
items[].minStockLevel string (decimal) no The stock level below which the item should be reordered, in the inventory unit.
items[].minimumTransactionQuantity string (decimal) no The smallest quantity any document can move. Absent when there is no restriction.
items[].leadTime string (decimal) no The number of days between ordering the item and receiving it.
items[].standardCost string (decimal) no The standard cost carried for planning, in the item's currency. It is not the value of the stock on hand. Read that from GET inventory/inventory-levels.
items[].itemPurchasePrice string (decimal) no The expected purchase price, in the item's currency.
items[].currency string no The currency of standardCost and itemPurchasePrice. Format ISO 4217, for example 'USD'.
items[].weight string (decimal) 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.
items[].weightUnit string no The unit weight is expressed in. Possible values: 'G', 'Kg', 'Lbs'.
items[].grossWeight string (decimal) no The weight including packaging, in weightUnit.
items[].netWeight string (decimal) no The weight excluding packaging, in weightUnit.
items[].length string (decimal) no The length of one item. A landed cost Volume allocation needs length, width and height together, and fails when the set is incomplete.
items[].width string (decimal) no The width of one item.
items[].height string (decimal) no The height of one item.
items[].volumePerUnit string (decimal) no The volume of one item, in volumeUnit.
items[].volumeUnit string no The unit volumePerUnit is expressed in. Possible values: 'L'.
items[].defaultAllocationMode string 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'.
items[].isPerishable boolean no Whether the item expires.
items[].shelfLifeDays number no The number of days the item keeps from production.
items[].minShelfLifeDaysOnReceipt number no The least remaining shelf life a receipt of this item will accept.
items[].minShelfLifeDaysOnDispatch number no The least remaining shelf life a dispatch of this item will accept.
items[].bestBeforeOffsetDays number no The number of days between the expiry date and the best-before date printed on it.
items[].storageTempMin string (decimal) no The lowest temperature the item can be stored at, in degrees Celsius.
items[].storageTempMax string (decimal) no The highest temperature the item can be stored at, in degrees Celsius.
items[].createdDate string (date-time) no The date and time the item was created, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
items[].lastModifiedDate string (date-time) no The date and time the item record last changed, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ.
pagination object yes The pagination cursor for this page.
pagination.nextCursor string no The cursor for the next page. Pass it as page.cursor. Absent on the last page.
pagination.hasMore boolean no True when more items remain beyond this page.

Statuses