Events API
The Avvyr Events API lets you subscribe to domain events — notifications fired whenever something happens on the platform (an order is created, a product is updated, inventory changes, etc.). You register a webhook URL, choose which events you care about, and Avvyr delivers them to your endpoint in real time.
Why the Events API?
If you need your own system to react to things happening in Avvyr — without polling — the Events API is the way to go. Common scenarios:
- Sync orders to your ERP as they're created
- Update your search index when products change
- Trigger fulfillment workflows when orders are ready for pickup
- Push data to your data warehouse for analytics
- Notify external systems about inventory changes
Always fetch fresh data
The webhook payload contains the entity data at the time the event was fired. In some cases the payload may be limited, and the entity could have been updated again between the event firing and your system processing it. We recommend that you always make a follow-up request to the Management API to fetch the latest version of the entity when you receive a webhook. Treat the webhook as a notification that something changed, and the API call as the source of truth.
1. Receive webhook → "orderUpdated" for order 12345
2. GET /v1/orders/12345 → fetch the latest order state
3. Process the fresh data in your system
How it works
Something happens in Avvyr (e.g. order created)
↓
Domain event published to message bus
↓
Webhook delivery service checks for matching subscriptions
↓
POST to your endpoint with event payload + auth headers
Each event subscription targets a specific event type and a destination URL. When a matching event fires, Avvyr sends an HTTP POST to your endpoint with the event payload. You can configure authentication, custom headers, and retry behavior per subscription.
Available events
Orders
| Event | Fired when |
|---|---|
orderCreated | A new order is created |
orderUpdated | An order is modified (status change, line items, etc.) |
orderDeleted | An order is deleted |
orderReadyForPickup | An order is marked as ready for customer pickup |
Cart
| Event | Fired when |
|---|---|
cartCreated | A new cart is created |
cartUpdated | A cart is modified (items added/removed, customer set, etc.) |
cartDeleted | A cart is deleted |
cartFullyPaid | A cart is fully paid and ready for completion |
Products
| Event | Fired when |
|---|---|
productCreated | A new product is created |
productUpdated | A product is modified (name, price, attributes, etc.) |
productDeleted | A product is deleted |
Transfers
| Event | Fired when |
|---|---|
transferCreated | A stock transfer is created |
transferUpdated | A stock transfer is modified |
transferDeleted | A stock transfer is deleted |
Purchases
| Event | Fired when |
|---|---|
purchaseCreated | A purchase order is created |
purchaseUpdated | A purchase order is modified |
purchaseDeleted | A purchase order is deleted |
Fulfillment
| Event | Fired when |
|---|---|
fulfillmentCreated | A fulfillment is created |
fulfillmentUpdated | A fulfillment is modified |
fulfillmentDeleted | A fulfillment is deleted |
Next steps
- Subscribing — create your first event subscription
- Event Delivery — payload format, auth, retries, and verification
- Event Reference — all available events with payload examples