Get Inventory Value Change
GET/api/reporting/inventory-value-change
Returns the Inventory Value Change statement: on-hand quantity and value at the opening and closing dates (on the same basis as the Inventory Valuation report), the change between them, and that change broken into categories — sales, receipts, adjustments, returns, transfers, manufacturing, and revaluations — each with sub-rows carrying a drilldown descriptor whose fields can be passed to the transactions endpoint.
reports:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
The lenses object adds two more views over the same period. in_transit re-states the change in the warehouse-transfer in-transit balance, split into dispatches (into transit), arrivals (physical receipts and Amazon check-ins, out of transit), transit losses (declared shortages and close-out write-offs — value that left transit without arriving anywhere), and the two derived Amazon positions (FC-to-FC, AWD-to-FBA relay; positions have a null drilldown since no documents exist behind them). total is the conservation audit: on-hand plus in-transit, where internal transfers net to approximately zero by construction and the only movers are external flows and named losses. lenses is null when a warehouse filter is applied, because the in-transit balance is a whole-tenant figure.
The residual line quantifies rounding on Amazon FIFO layers fully consumed inside the period; it is flagged when its absolute value reaches $1. total_check confirms that opening + categories + residual equals closing exactly, per lens.
Authentication: Requires Bearer token.
Dates are calendar dates interpreted in the account timezone; each anchor is that day's end.
Amazon arrivals whose inbound shipment is matched to a warehouse transfer are classified under the Transfers category (event keys WtReceipts for FBA and WtAwdReceipts for AWD) rather than Receipts — they are the on-hand side of an internal move, not an external receipt.
On the total lens, the internal_transfers category carries a pairing array: each row pairs an on-hand movement group with the in-transit leg it mirrors (on_hand_value, in_transit_value, net_value, note), and the rows' nets sum to the category value exactly — so a non-zero internal-transfers net decomposes into named effects (cost capitalized at receipt, check-in repricing, period-boundary timing) instead of reading as missing stock.
in_period_revaluations is a MEMO: it is already inside the category values (which is why residual ties to 0.00) and must never be added to them. It names the part of this period's movement values that is dated cost revision rather than trade — the exact gap between a roll-forward built from as-booked movement values and this statement, split into the part capitalised into stock still on hand and the part restating the cost of units already sold.
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.