A return disposition authorizes the final outcome for received merchandise. It records a physical fact and grants no refund or resolution authority.
Create a disposition with POST /v1/returns/{return_id}/dispositions. Read dispositions with GET /v1/return-dispositions?return_id= and GET /v1/return-dispositions/{return_disposition_id}, or expand return_dispositions on GET /v1/returns/{return_id}. Dispositions are written under their Return and read from their own top-level list.
These routes use the commerce.returns.operations.write scope, shared with receipts and inspections. POST /v1/returns/{return_id}/process combines this work with decisions and resolutions, so it requires all three scopes: commerce.returns.write, commerce.returns.operations.write, and commerce.returns.resolutions.write. The Receiving and inspecting guide walks one parcel through receipt, inspection, and disposition.
Disposition types#
A disposition targets either a receipt line or an inspection line, never both. Four of the eleven types change stock levels at the inventory_location_id you name.
| Disposition type | Stock effect | inventory_location_id |
|---|---|---|
sellable | Adds to sellable stock | Required |
quality_control | On hand, not sellable | Required |
damaged | On hand, not sellable | Required |
quarantined | On hand, not sellable | Required |
lost | None. Records that the unit never arrived | Required |
repair, refurbish, liquidate, donate, discard, return_to_buyer | None | Rejected |
lost takes a location but moves no stock; it records where the loss was booked. The last row rejects inventory_location_id rather than ignoring it, so sending one fails the request.
Retry and replacement#
A failed disposition exposes retry, which preserves the disposition and effect identities so stock cannot move twice. When the type, destination, quantity, or source has changed, create a new disposition naming replaces_return_disposition_id instead. Replacement transfers only unused capacity, and both retry and replacement are refused once an inventory effect starts processing.
