Get Expiry & Shelf-Life Report
GET/api/inventory-expiry
Paginated Inventory Expiry & Shelf-Life report. Blends internal lot-tracked FIFO layers with Amazon FBA/AWD layers, bucketed by days-to-expiry. Defaults to the lot_detail view (one row per lot/FIFO layer, each carrying a real fifo_layer_id for disposition actions); pass view=product_summary for one row per product rolled up to the worst-case (soonest) expiry.
Available on both GET and POST (the POST variant mirrors all filters and additionally accepts the filter_groups product advanced-filter tree in the body).
Authentication: Requires Bearer token. Scope: reports:read.
Buckets: expired, 0-30, 31-60, 61-90, 91-180, 180+, no_expiry. Sort: fixed — soonest-to-expire first, undated lots last. Pagination: page (default 1), per_page (default 50, max 500).
reports:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
This endpoint accepts the canonical list view param contract used by the application UI: filters as filter[<key>], a sort param (see below), page/per_page, and a base64-encoded filter_groups tree — in addition to the flat params shown.
Request
Responses
- 200
- 401
- 403
- 422
- 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.
Unprocessable Entity
Response Headers
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.