Resolve Inventory Debt Policy
GET/api/inventory/debt/resolve-policy
Resolve the effective inventory-debt policy for a product at a warehouse, before attempting to ship it.
inventory:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Inventory debt lets stock ship when on-hand would go below zero: the units are recorded as a real inventory movement at an estimated cost, and the resulting claim is settled automatically by the next receipt.
Authentication: Requires Bearer token.
policy is one of:
block- the shipment is refused; the short quantity must be backordered.warn- the shipment may proceed once acknowledged with a reason by a user holding theinventory.debt.acknowledgepermission.allow- the shipment proceeds and the debt is recorded without prompting.
source says which level decided: tenant, warehouse, product, or hard_exclusion.
hard_exclusion_reason is non-null when debt is impossible regardless of configuration - serial-tracked stock, lot or expiry-tracked stock, consigned stock, and operations that record a physical count. Present it to the user verbatim; no setting will change the outcome.
estimated_unit_cost is the provisional cost a debt unit would carry, derived from estimate_basis. It is restated to the actual receipt cost when the claim settles, with the difference posted as a dated variance.
existing_outstanding_claims reports how much this product already owes at this warehouse, so the caller can weigh adding to that exposure.
- data.estimate_basis_used (string, nullable) - the basis that ACTUALLY produced the estimate, which is often not the preferred one
- data.estimate_basis_used_label (string, nullable) - human label for the above
- data.estimate_fell_back (boolean) - true when the preferred basis produced nothing and a later basis in the chain was used
- data.estimate_chain (array of string) - the configured fallback order, most preferred first
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.