Delivery behavior
Rewrite considers a delivery successful when your endpoint returns any2xx response.
Retries happen when the endpoint:
- returns a non-
2xxstatus - times out
- fails at the network layer
Retry schedule
The backend currently uses 5 total attempts:
After the last attempt, delivery is permanently failed.
When retries stop
Retries stop when:- your endpoint returns
2xx - the fifth attempt fails
- the webhook is deleted or set inactive before the next delivery
Idempotency expectations
Webhook delivery is at-least-once. Your handler should:- store processed event ids
- ignore duplicates safely
- make downstream writes idempotent
Delivery logs
Use:GET /webhooks/{id}/deliveriesto list attempts for a specific webhookGET /deliveriesto browse webhook deliveries at project scopeGET /logs/{id}to inspect a single delivery log or request log by id
- Starter/default: 3 days
- Pro: 14 days
- Business: 16 days
- Enterprise: 1 month