Return stock into a product location balance
API key scope: inventory:write.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”Unique key used to safely retry stock write operations.
Optional client request id returned in structured errors.
Request Bodyrequired
Section titled “Request Bodyrequired”object
Inventory owner id. Defaults to the organization default owner.
Inventory channel id. Defaults to the organization default channel.
Alternative unit code. When provided, unitQuantity is converted to base quantity.
Example
CASEQuantity in unitCode. The converted base quantity must match quantity.
Product id being returned to stock.
Location id receiving returned stock.
State receiving the returned stock.
Example
Customer return receivedExample
returnExample
ret_01JABCobject
Example
{ "disposition": "inspect"}Existing lot id to return into.
Example
LOT-2026-001Example
BATCH-AExample
2027-07-01T00:00:00.000ZExample
2026-07-01T12:00:00.000Zobject
Example
{ "supplierLot": "SUP-A1"}object
Example
SN-2026-0001object
Example
{ "warranty": "standard"}Responses
Section titled “Responses”Stock returned with updated balance and ledger movements.
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
object
Example
{ "balance": { "id": "55555555-5555-4555-8555-555555555555", "organizationId": "11111111-1111-4111-8111-111111111111", "environment": "test", "productId": "22222222-2222-4222-8222-222222222222", "locationId": "33333333-3333-4333-8333-333333333333", "onHand": 10, "available": 10, "reserved": 0, "committed": 0, "incoming": 0, "damaged": 0, "qualityControl": 0, "safetyStock": 0, "version": 1, "product": { "id": "22222222-2222-4222-8222-222222222222", "name": "Black T-Shirt - Medium", "sku": "TSHIRT-BLACK-M" }, "location": { "id": "33333333-3333-4333-8333-333333333333", "name": "Main Warehouse", "code": "MAIN-WH", "type": "warehouse" }, "createdAt": "2026-06-29T10:00:00.000Z", "updatedAt": "2026-06-29T10:00:00.000Z" }, "movements": [ { "id": "88888888-8888-4888-8888-888888888888", "organizationId": "11111111-1111-4111-8111-111111111111", "environment": "test", "productId": "22222222-2222-4222-8222-222222222222", "locationId": "33333333-3333-4333-8333-333333333333", "lotId": "12121212-1212-4212-8212-121212121212", "operation": "receive", "inventoryState": "onHand", "quantity": 10, "unitCode": "CASE", "unitQuantity": 1, "baseUnitCode": "EA", "balanceBefore": 0, "balanceAfter": 10, "reason": "Initial receipt", "referenceType": "purchase_order", "referenceId": "po_01JABC", "source": "api_key", "idempotencyKey": "receive-unique-key", "metadata": { "batch": "A1" }, "actor": { "type": "api_key", "id": "api-key-1", "label": "Public test integration" }, "product": { "id": "22222222-2222-4222-8222-222222222222", "name": "Black T-Shirt - Medium", "sku": "TSHIRT-BLACK-M" }, "location": { "id": "33333333-3333-4333-8333-333333333333", "name": "Main Warehouse", "code": "MAIN-WH", "type": "warehouse" }, "lot": { "id": "12121212-1212-4212-8212-121212121212", "lotCode": "LOT-2026-001", "batchCode": "BATCH-A", "expiresAt": "2027-07-01T00:00:00.000Z", "status": "active" }, "serials": [ { "id": "14141414-1414-4414-8414-141414141414", "serialNumber": "SN-2026-0001", "status": "in_stock", "productId": "22222222-2222-4222-8222-222222222222", "locationId": "33333333-3333-4333-8333-333333333333", "lotId": "12121212-1212-4212-8212-121212121212" } ], "createdAt": "2026-06-29T10:00:00.000Z" } ]}The organization has exhausted its monthly public API request quota.
The organization has exhausted an applicable monthly billing quota.
Examples
{ "error": { "code": "PLAN_LIMIT_EXCEEDED", "message": "Plan limit exceeded for billable_inventory_operations", "requestId": "req_123", "details": { "entitlementKey": "billable_inventory_operations", "scope": "environment", "environment": "live", "configured": true, "limit": "2000", "used": "2000", "requested": "1", "currentPlan": { "code": "free", "version": 1 }, "requiredPlan": { "code": "starter", "version": 1, "requiresOverride": false } } }}{ "error": { "code": "PLAN_LIMIT_EXCEEDED", "message": "Plan limit exceeded for api_requests", "requestId": "req_123", "details": { "entitlementKey": "api_requests", "scope": "environment", "environment": "live", "configured": true, "limit": "50000", "used": "50000", "requested": "1", "currentPlan": { "code": "free", "version": 1 }, "requiredPlan": { "code": "starter", "version": 1, "requiresOverride": false } } }}