Webhooks
Delivery & Retries
How Svix delivers webhook events and handles retries.
Delivery & Retries
Webhook delivery is powered by Svix, which provides reliable delivery with automatic retries.
Delivery Lifecycle
- Sending — Event is dispatched to your endpoint
- Success (2xx response) — Delivery is marked as successful
- Failure (non-2xx or timeout) — Retry is scheduled
- Failed — After all retry attempts are exhausted
Retry Policy
Svix uses exponential backoff with the following schedule:
| Attempt | Delay |
|---|---|
| 1 | Immediate |
| 2 | 5 seconds |
| 3 | 5 minutes |
| 4 | 30 minutes |
| 5 | 2 hours |
| 6 | 8 hours |
Total: 6 attempts over approximately 10 hours.
Delivery History
View delivery history via the dashboard (Integrations → Webhooks → History) or the API:
curl http://localhost:6000/api/webhooks/history \
-H "Authorization: Bearer ksh_xxx"Each entry shows: event type, endpoint URL, HTTP status, response body, and timestamp.
Timeout
Endpoints must respond within 30 seconds. After that, the delivery is marked as failed and a retry is scheduled.
Best Practices
- Return 200 quickly — acknowledge receipt, process asynchronously
- Implement idempotency — events may be delivered more than once
- Verify signatures — see Verifying Signatures
- Monitor delivery history — catch failures early

