List Serial Numbers
GET/api/v2/serial-numbers
Paginated list of individual serial numbers across all products, with their lifecycle status and current location/order.
inventory:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Advanced filters. Pass filter_groups — a base64-encoded JSON tree of AND/OR groups, e.g. {"conjunction":"and","children":[{"type":"condition","condition":{"column":"product_sku","operator":"is","value":"ATL-GPS-60"}}]}. Columns: id, serial, status, product_id, warehouse_id, product_sku, product_name (text/numeric operators: is, is_not, is_one_of, is_not_one_of, contains, does_not_contain, starts_with, ends_with, is_empty, is_not_empty, greater_than, less_than, between) and the datetimes received_at, shipped_at, quarantined_at, created_at.
Search. filter[search] matches the serial (partial), the product SKU (partial) and the id (exact). Narrow it with search_columns=serial,product_sku,id.
Sorts. id, serial, status, received_at, shipped_at, quarantined_at, created_at (prefix - for descending; default -id). Default page size 10.
Request
Responses
- 200
- 401
- 403
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden — the token lacks a required scope, the endpoint is not available to API tokens, or the user behind the token lacks the permission. A human must adjust the token scopes or user permissions; do not retry.
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.