Event catalog
The full list of webhook events you can subscribe to. Payloads under data mirror the corresponding v1 API resource shape.
| Topic | When it fires |
|---|---|
order.created | A new order is placed (online checkout, POS sale, or manual entry). |
order.updated | Order status changes for any reason. |
order.paid | Fires alongside order.created when the order is already paid at creation time (POS, prepaid online checkout, Shopify/Woo inbound sync). Online COD orders marked paid later do not yet emit — wire from your payment provider success path if you need that. |
order.cancelled | Order is cancelled. Inventory reservations are released atomically before this fires. |
order.fulfilled | Order reaches the delivered status. Stock decrement is finalized. |
product.created | A new product is added to the catalog. |
product.updated | A product's details (price, description, status, etc.) change. |
product.deleted | A product is removed. Payload contains only id and name. |
customer.created | Fires for POS-created customers on creation, and for online customers on their first order with this store — that's when the customer↔store relationship is established. |
customer.updated | A customer's profile is updated through admin tools. |
inventory.updated | Stock levels change — direct edits, reservations, completions, releases. |
test.ping | Sent only via the "Send test ping" button. Useful for endpoint verification. |
Example: order.created payload
json{ "id": "delivery_7f3a9c1e", "event": "order.created", "createdAt": "2026-05-21T14:32:00.000Z", "data": { "id": "67e1...", "orderNumber": "1001", "status": "pending", "customer": { "name": "Jane Doe", "email": "jane@example.com" }, "items": [ ... ], "subtotal": 178, "shipping": 12, "total": 190 } }
Example: inventory.updated payload
json{ "id": "delivery_a2b1...", "event": "inventory.updated", "createdAt": "2026-05-21T14:32:00.000Z", "data": { "productId": "67e0...", "stock": 47, "reserved": 3, "available": 44, "minStock": 10, "variants": [ ... ] } }