Event catalog
Every event type, when it fires, and what's in data.object.
| Event | Fires when | data.object |
|---|---|---|
order.created | A new order is ingested from any channel (poller or channel webhook) | Order |
order.status_changed | An order's normalized status changes (e.g. paid → shipped) | Order |
product.updated | A product's content changes — from the dashboard, the API, or a channel-side edit synced in | Product |
product.deleted | A product is deleted | { "id": … } |
inventory.updated | A variant's quantity changes — from a sale on any channel, a channel-side edit, the dashboard, or the API | Product (with updated variants[]) |
listing.status_changed | A per-channel listing changes status (ongoing → listed, → error, → delisted) | Product (see listings[]) |
operation.completed | An asynchronous operation finishes (succeeded, partial or failed) — subscribe to this instead of polling /operations | Operation |
New event types are added over time — consumers must tolerate unknown
type values (log and ack them).
Which events do I need?
- Order sync into your system →
order.created+order.status_changed. - Stock sync back to your system →
inventory.updated(fires for sales on any channel — this is how you keep an external warehouse in sync). - "Is my product live?" →
listing.status_changed(oroperation.completedafter a publish). - Fire-and-forget writes →
operation.completedto get the per-channel outcome without polling.
Last updated on July 28, 2026
Need help?
The API is in private beta — email us and a human replies, usually within one business day.