Monitor
Monitor deliveries
See every message, delivery and attempt, find a customer's failed webhooks, and answer "did you send it?".
“I never got your webhook” is the support ticket every webhook sender gets. Dispatch records every message, every delivery and every attempt, with the response your customer’s server gave, so you can answer in one lookup.
Messages and deliveries
| Record | What it is |
|---|---|
| Message | One event you sent: type, version, customer, data and idempotency key. |
| Delivery | The message going to one endpoint. Same statuses as Gateway events: queued, retrying, delivered, failed, cancelled. |
| Attempt | One try: the endpoint URL, response status, latency and when. |
Find a message
In the dashboard open Events and set the product filter to Dispatch. Filter by customer, event type, status or time.
Over the API:
curl "https://api.getensue.com/v1/dispatch/events?customer=acme&type=order.shipped" \
-H "authorization: Bearer ens_<key>"
| Query | Finds |
|---|---|
customer |
One customer’s messages. |
type |
One event type. |
before |
Messages older than a message ID, for paging. |
GET /v1/dispatch/events/:id returns the message with a delivery for each endpoint and its attempts.
Read a delivery
Open a delivery to see its timeline: when it was queued, each attempt with the status your customer returned, and the next retry if one is scheduled.
09:30:00 message accepted · fan-out to 2 endpoints
09:30:00 attempt 1 · 503 in 204ms
09:30:05 attempt 2 · 200 in 118ms · delivered
Events are also reachable through the shared events API with kind=dispatch, so any tooling you build for Gateway works for Dispatch.
Answer “did you send it?”
- Find the customer’s message by type and time.
- Check each delivery’s status.
deliveredmeans their server returned2xx, and the attempt shows when. - If it is
failed, the last attempt’s response says why (a timeout, a500, a404for a wrong URL). - Once they’ve fixed it, retry it or recover the endpoint.
Metrics and usage
Dispatch traffic appears in the same metrics and usage views as Gateway. Each delivery counts as an event against your monthly quota, so a message that fans out to three endpoints counts as three.
Get told when something breaks
Set a workspace notification URL to receive destination.breaker_opened when a customer’s endpoint stops responding, and destination.breaker_closed when it recovers.