Submits multiple inventory events in a single request to update stock levels across your locations.
request-id (required): A unique ID for this batch. Must not have been used before.Only these event types are supported for bulk import:
| Event Type | Description | Required Fields |
|---|---|---|
SNAPSHOT |
Set absolute values for both on_hand and unavailable | on_hand AND unavailable |
SNAPSHOT_ONHAND |
Set absolute value for on_hand only | on_hand only |
SNAPSHOT_UNAVAILABLE |
Set absolute value for unavailable only | unavailable only |
INVENTORY_ADJUSTMENT_ONHAND |
Adjust on_hand by delta (+/-) | on_hand only |
INVENTORY_ADJUSTMENT_UNAVAILABLE |
Adjust unavailable by delta (+/-) | unavailable only |
RETURN |
Record returned items | unavailable only |
TRANSFER_IN |
Record stock transfer into location | on_hand or unavailable |
TRANSFER_OUT |
Record stock transfer out of location | on_hand or unavailable |
SALE |
Record sales (usually negative adjustment) | on_hand or unavailable |
PO_RECEIPT |
Record purchase order receipt | on_hand or unavailable |
Not supported (Internal Events): ORDER_RESERVATION, ORDER_UPDATE, ORDER_CANCELLATION, ORDER_FULFILLMENT, ORDER_UNFULFILLED, ORDER_RETURN, SHIPMENT_SHIPPED
Events are processed asynchronously via a queue. The response indicates:
PROCESSING: Event accepted and queuedREJECTED: Event failed validation with a reasonrequest-id header to provide your own correlation IDevent_timestamp to ensure events are processed in the correct orderREJECTED itemsSuccessfully processed inventory events.
Invalid request payload.
[- {
- "product_id": "string",
- "location_id": "string",
- "on_hand": -1000000,
- "unavailable": -1000000,
- "event_type": "SNAPSHOT",
- "reason": "string",
- "event_timestamp": "2019-08-24T14:15:22Z"
}
]{- "request_id": "string",
- "results": [
- {
- "product_id": "string",
- "location_id": "string",
- "result": "PROCESSING",
- "reason": "string"
}
]
}