Returns the landed cost items that match the given filters.
POST /inventory/landed-cost-items/search
Group: Inventory › Landed Cost Items · Operation ID: searchLandedCostItems
Searches landed cost items by exact criteria in a request body, returning the same item schema as get and list.
Every criterion is an exact match and they combine with AND. An empty filters object returns everything, page by page. There is no substring or free-text matching on any endpoint of this resource.
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: searchLandedCostItemsInput.
| Field | Type | Required | Description |
|---|---|---|---|
filters |
object | yes | The search criteria, combined with AND. An empty object returns every landed cost item, page by page. |
filters.itemId |
string | no | Limits results to landed cost items that select on this service item. An id that is not an item matches nothing. |
filters.accountId |
string | no | Limits results to landed cost items that select on this GL account. An id that is not an account matches nothing. |
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 with this costing element type. |
filters.active |
boolean | no | Limits results to landed cost items that are in force when true, or out of force when false. Omit for both. |
filters.modifiedSince |
string (date-time) | no | Limits results to landed cost items changed on or after this time, in UTC. 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 on the first request. |
page.size |
number | no | The number of landed cost items per page, between 1 and 200. Defaults to 50. A value above 200 is treated as 200, not rejected. |
Example:
{
"filters": {
"allocationMode": "Weight",
"active": true
},
"page": {
"size": 50
}
}
Response
200 Success
Under data (searchLandedCostItemsOutput):
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of object | yes | The landed cost items that match, oldest first. An empty array when nothing matches. |
items[].id |
string | yes | The unique identifier for the landed cost item. |
items[].itemId |
string | no | The service item a vendor bill line must reference to be caught by this row. Absent when the row selects by account instead. See id on GET inventory/items/:id. |
items[].itemCode |
string | no | The short code of that item. |
items[].itemName |
string | no | The name of that item. |
items[].accountId |
string | no | The GL account a vendor bill line must post to to be caught by this row. Absent when the row selects by item instead. See id on GET accounting/accounts/:id. |
items[].accountNumber |
string | no | The number of that account. |
items[].accountName |
string | no | The name of that account. |
items[].allocationMode |
string | no | How a charge caught by this row is spread over the receipt lines it lands on. Possible values: 'Equal', 'Quantity', 'LineTotal', 'Weight', 'Volume'. 'Weight' and 'Volume' require every item on the receipt to carry the measurement, and a missing one fails the allocation rather than falling back to an even split. A landed cost may override this per vendor bill line. |
items[].costingElementTypeId |
string | no | The costing element type carried onto the inventory revaluation the landed cost commit raises. Absent when the row sets none. There is no endpoint for it. |
items[].costingElementTypeCode |
string | no | The code of that costing element type. |
items[].costingElementTypeName |
string | no | The name of that costing element type. |
items[].active |
boolean | no | Whether the row is in force. When false, the charges it used to catch are no longer eligible, and existing landed costs keep theirs. |
items[].createdDate |
string (date-time) | no | The date and time the row was created, in UTC. Format YYYY-MM-DDTHH:mm:ss.sssZ. |
items[].lastModifiedDate |
string (date-time) | no | The date and time the row 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 | Whether more results remain beyond this page. |
Statuses
400— Invalid request or business failure401— Missing or invalid access token403— Not authorized404— Not found429— Too many requests500— Internal server error