Create Return Receipt
POST/api/return-receipts
Create a new return receipt (blind or RMA-linked). Adjusts inventory based on each line's action.
This endpoint currently requires session authentication; Personal Access Token scope support is in progress.
Authentication: Requires Bearer token.
Fields:
- warehouse_id (required): Warehouse where items are being received
- rma_id (optional): Link to an RMA; omit for blind receipts
- received_at (optional): ISO 8601 datetime; defaults to now
- notes (optional): General notes for the receipt
- return_receipt_lines (required): Array of line items
- product_id (required): Product being returned
- original_product_id (optional): If different from product_id (e.g., substituted product)
- rma_line_id (optional): Link to specific RMA line
- quantity (required): Quantity received (min: 1)
- action (required): One of: return_to_stock, dispose, refurbish
- return_reason_id (optional): ID of return reason
- notes (optional): Line-level notes (max 500 chars)
Requires permission: returns.receive
Request
Responses
- 201
- 401
- 403
- 422
- 429
Created
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.