Docs β€Ί Webhooks

Retries & delivery logs

Retry schedule, auto-disable, delivery attempts.

When a message is retried

A delivery is retried when your endpoint times out, can't be reached, or answers 5xx, 408, 409 or 429. Any other 4xx is treated as final.

Schedule

The same as Nash/Svix: attempts after 0 s, 5 s, 5 min, 30 min, 2 h, 5 h, 10 h and 10 h. That is eight attempts over about a day.

Controlling delivery from your side

You respond withEffect
2xxDelivered.
410 GoneThe endpoint is disabled.
Header webhook-delivery: disableThe endpoint is disabled.
Header webhook-delivery: abort-messageStops retrying this message only.

Ten consecutive messages that exhaust their retries auto-disable the endpoint. Re-enable it with PATCH /v1/webhooks/{id} and { "isActive": true }.

Delivery log

bash
curl -s "https://api.trydragonfly.com/v1/webhooks/ENDPOINT_ID/deliveries?limit=50" -H "Authorization: Bearer $DRAGONFLY_API_KEY"

Each attempt shows eventType, status, attempts, responseStatus, error, nextAttemptAt and deliveredAt.

Testing your receiver

POST /v1/webhooks/{id}/test replays your most recent order's current state as a delivery.updated message. You must have created at least one order with this key. In sandbox, every simulated status change also produces real webhook messages.

Something unclear or missing? Tell us.