Search landed cost items
Operation ID: searchLandedCostItems
Group: Inventory › Landed Cost Items
Open in the interactive reference
POST /inventory/landed-cost-items/search
Read-only: A read that takes its filters in the body. Changes nothing, and ignores Idempotency-Key.
Searches landed cost items, with the names of their items, accounts, and costing element types.
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. |
Request body
Required, application/json: searchLandedCostItemsInput.
| Field | Type | Required | Description |
|---|---|---|---|
filters |
object | yes | The filters to apply. A landed cost item must match every filter you send. Send an empty object to return all landed cost items. Example: {"allocationMode":"Weight","active":true}. |
filters.itemId |
string | no | Limits results to landed cost items for the item with this unique identifier. Format: UUID. See id on GET inventory/items/:id (getItem). |
filters.accountId |
string | no | Limits results to landed cost items for the general ledger account with this unique identifier. Format: UUID. See id on GET accounting/accounts/:id (getAccount). |
filters.allocationMode |
string | no | Limits results to landed cost items with this allocation mode. Accepted values: 'Equal', 'Quantity', 'LineTotal', 'Weight', 'Volume'. |
filters.costingElementTypeId |
string | no | Limits results to landed cost items for the costing element type with this unique identifier. Format: UUID. |
filters.active |
boolean | no | Limits results to active landed cost items when true, and to inactive landed cost items when false. |
filters.modifiedSince |
date-time | no | Limits results to landed cost items whose lastModifiedDate is on or after this time. Format: YYYY-MM-DDTHH:mm:ss.sssZ. |
page |
object | no | The page to return and its size. Omit to get the first page at the default size. Example: {"size":50}. |
page.cursor |
string | no | The cursor from the previous response's pagination.nextCursor. Send it exactly as you received it. Omit on the first request. |
page.size |
number | no | The number of landed cost items per page, from 1 to 200. Defaults to 50. A value above 200 is treated as 200, not rejected. |
{
"filters": {
"allocationMode": "Weight",
"active": true
},
"page": {
"size": 50
}
}
Response
200 Success
Under data (searchLandedCostItemsOutput):
| Field | Type | Required | Description |
|---|---|---|---|
items |
array<object> | yes | The matching landed cost items in this response. When more landed cost items match than fit in one response, use pagination to get the rest. Empty when nothing matches. Example: [{"id":"9f3c71a4-2e58-4b06-8d19-5a7e0c34b2f1","itemId":"3d81e07c-95a2-4f63-b1c8-27e5a94d0b36","itemCode":"SVC-FREIGHT","itemName":"Inbound freight","allocationMode":"Weight","costingElementTypeId":"c4a90e21-7b35-4d18-9e02-6f13a85c7d40","costingElementTypeCode":"FRT","costingElementTypeName":"Freight","active":true,"createdDate":"2026-08-01T11:02:19.880Z","lastModifiedDate":"2026-08-18T09:14:22.517Z"}]. |
items[].id |
string | yes | The unique identifier for the landed cost item. Format: UUID. |
items[].itemId |
string | no | The unique identifier of the item this landed cost item covers, such as a freight, handling, or insurance service item. Format: UUID. A vendor bill line for this item counts as a landed cost charge. Absent when the landed cost item covers only an account. See id on GET inventory/items/:id (getItem). |
items[].itemCode |
string | no | The code of the item in itemId. |
items[].itemName |
string | no | The name of the item in itemId. |
items[].accountId |
string | no | The unique identifier of the general ledger account this landed cost item covers. Format: UUID. A vendor bill line with this expense account counts as a landed cost charge. Absent when the landed cost item covers only an item. See id on GET accounting/accounts/:id (getAccount). |
items[].accountNumber |
string | no | The number of the account in accountId. |
items[].accountName |
string | no | The name of the account in accountId. |
items[].allocationMode |
string | no | How a charge is spread (allocated) over the receipt lines. Possible values: 'Equal', 'Quantity', 'LineTotal', 'Weight', 'Volume'. |
items[].costingElementTypeId |
string | no | The unique identifier of the costing element type for this landed cost item's charges. Format: UUID. A costing element type is a category of inventory cost, such as duties. When a landed cost is committed, its inventory revaluations for these charges get this costing element type. Absent when the landed cost item has none. |
items[].costingElementTypeCode |
string | no | The code of the costing element type in costingElementTypeId. |
items[].costingElementTypeName |
string | no | The name of the costing element type in costingElementTypeId. |
items[].active |
boolean | no | Whether the landed cost item is active. |
items[].createdDate |
date-time | no | The date and time the landed cost item was created, in UTC. Format: YYYY-MM-DDTHH:mm:ss.sssZ. |
items[].lastModifiedDate |
date-time | no | The date and time the landed cost item last changed, in UTC. Format: YYYY-MM-DDTHH:mm:ss.sssZ. |
pagination |
object | yes | Whether there are more results than are in this response, and the cursor you use to get the next ones. Example: {"hasMore":false}. |
pagination.nextCursor |
string | no | The cursor that marks where this response stopped. To get the next results, send it as page.cursor in your next request. Absent when there are no more results. |
pagination.hasMore |
boolean | no | Whether there are more results than are in this response. |
{
"data": {
"items": [
{
"id": "9f3c71a4-2e58-4b06-8d19-5a7e0c34b2f1",
"itemId": "3d81e07c-95a2-4f63-b1c8-27e5a94d0b36",
"itemCode": "SVC-FREIGHT",
"itemName": "Inbound freight",
"allocationMode": "Weight",
"costingElementTypeId": "c4a90e21-7b35-4d18-9e02-6f13a85c7d40",
"costingElementTypeCode": "FRT",
"costingElementTypeName": "Freight",
"active": true,
"createdDate": "2026-08-01T11:02:19.880Z",
"lastModifiedDate": "2026-08-18T09:14:22.517Z"
}
],
"pagination": {
"hasMore": false
}
},
"diagnostics": [
{
"code": "<code>",
"message": "<message>",
"severity": "error",
"path": [
"<path>"
],
"details": "<details>"
}
]
}
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