Delete Inbound Shipment Receipt
DELETE/api/inbound-shipment-receipts/:receipt
Deletes an inbound shipment receipt and reverses the inventory movements it created. Because it removes the stock the receipt added, it behaves like a manual negative adjustment and rebalances any now-unbacked reservations to backorder.
purchase-orders:writeGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Voiding hard-allocated labels (void_confirmations): When this removal would consume stock that is hard-allocated to a fulfillment (a printed shipping label), include a void_confirmations array in the request body — one entry per fulfillment you authorize voiding: { "fulfillment_id": <int>, "attempt_void": true, "reason": <string|null> }. Each confirmed label is voided first so the removal can proceed. Omit void_confirmations (or leave out a fulfillment that is in the way) and the request is rejected with 422 when hard-allocated stock blocks the operation. Call the matching delete-impact / reverse-impact preview endpoint first to see exactly which fulfillments block it.
Authentication: Requires Bearer token.
Requires permission: purchase_orders.receive
Receipts whose stock has been used: if any of the stock this receipt added has already been shipped, adjusted, or transferred out, the request is rejected with 422 and lists the documents that used it. Reverse those first, or correct the quantity with a negative inventory adjustment.
Request
Responses
- 200
- 401
- 403
- 404
- 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
Response Headers
Not found — no record with the given identifier (or the route does not exist). Verify the ID before retrying.
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.