Returns the serial transactions that match the given filters.

POST /inventory/serial-transactions/search

Group: Inventory › Serial Transactions · Operation ID: searchSerialTransactions

Every criterion is exact or a date range, and criteria combine with AND. Send an empty filters object to return every serial transaction.

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: searchSerialTransactionsInput.

Field Type Required Description
filters object yes The filters to apply. A serial transaction must match every filter you send. Send an empty object to return all serial transactions.
filters.serialNumberId string no Limits results to movements of the serial number with this identifier.
filters.serialNumber string no Limits results to movements of the unit with this serial number. The match is exact.
filters.manufacturerSerialNumber string no Limits results to movements of the unit with this manufacturer serial number. The match is exact.
filters.isSold boolean no Limits results to movements of units that have been sold when true, and to those not yet sold when false. This is a property of the unit, not of the movement.
filters.itemId string no Limits results to movements of this item. This matches the ledger row's item, what moved.
filters.locationId string no Limits results to movements posted at this location. This matches the ledger row's location, not where the unit is now.
filters.fromDate string (date) no Limits results to movements on or after this date. Format YYYY-MM-DD.
filters.toDate string (date) no Limits results to movements on or before this date. Format YYYY-MM-DD.
filters.modifiedSince string (date-time) no Limits results to serial lines 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 serial transactions per page. Defaults to 50. A value above 200 is treated as 200, not rejected.

Example:

{
  "filters": {
    "serialNumber": "SN-000412"
  },
  "page": {
    "cursor": "<cursor>",
    "size": 0
  }
}

Response

200 Success

Under data (searchSerialTransactionsOutput):

Field Type Required Description
items array of object yes The serial transactions on this page, oldest first. An empty array when nothing matches.
items[].id string yes The unique identifier for the serial transaction line. This is a different record from the ledger row (transactionId) and the unit (serialNumberId).
items[].serialNumberId string yes The unique identifier for the serial number that moved. See id on GET inventory/serial-numbers/:id.
items[].serialNumber string no The serial number stamped on the unit, for example 'SN-000412'.
items[].manufacturerSerialNumber string no The manufacturer's own serial number for the unit, where one is recorded.
items[].expirationDate string (date) no The date the unit expires, from the serial record. Format YYYY-MM-DD.
items[].entryDate string (date) no The date the unit entered inventory, from the serial record. Format YYYY-MM-DD.
items[].isSold boolean no Whether the unit has since been sold. This is a current property of the unit, not of this movement, so a receipt line shows true once the unit is later sold.
items[].transactionId string no The unique identifier for the ledger row this serial line belongs to. See id on GET inventory/inventory-transactions/:id.
items[].itemId string no The unique identifier for the item that moved, from the ledger row, not the unit's current item. See id on GET inventory/items/:id.
items[].itemCode string no The code of that item.
items[].itemName string no The display name of that item.
items[].locationId string no The unique identifier for the location the movement was posted at, from the ledger row, not where the unit is now. See id on GET inventory/warehouses/:id.
items[].locationCode string no The code of that location.
items[].locationName string no The display name of that location.
items[].transactionDate string (date) no The date the movement was posted. Format YYYY-MM-DD.
items[].inQuantity string (decimal) no The quantity into stock for this movement. It is 1 when the movement received the unit and 0 otherwise.
items[].outQuantity string (decimal) no The quantity out of stock for this movement. It is 1 when the movement issued the unit and 0 otherwise.
items[].cost string (decimal) no The cost of the unit at this movement, in the currency named by currency.
items[].currency string no The currency the cost is stated in. Format ISO 4217, for example 'USD'.
items[].sourceDocumentLineType string, one of "IMInventorySalesOrderLine", "IMInventorySalesDeliveryLine", "IMSalesOrderLine", "IMInventoryPurchaseReturnLine", "IMInventorySalesReturnLine", "IMWarehouseTransferLine", "IMInventoryDecreaseLine", "IMInventoryIncreaseLine", "IMInventoryRevaluationLine", "IMInventoryTransferLine", "IMInventoryAdjustmentLine", "IMInventoryCountLine", "IMInventoryPutAwayTask", "IMInventoryPurchaseReturnReversal", "PurchaseOrderLine", "IMLandedCostAllocationLine", "SalesOrderProductItem", "IMWarehouseTransferOrderLine", "VendorBillItemBase", "InvPurchaseDeliveryLine" no The kind of document line that produced the movement, from the ledger row.
items[].lastModifiedDate string (date-time) no The date and time the serial line 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 yes True when more serial transactions remain beyond this page.

Statuses