Retries & Failures
Retry policy
Notifo retries failed webhook deliveries up to 3 times with exponential backoff:
| Attempt | Delay |
|---|---|
| 1st | immediate |
| 2nd | 2 seconds |
| 3rd | 4 seconds |
A delivery is considered failed if:
- The endpoint returns a non-
2xxHTTP status - The connection times out (10-second timeout)
- A network error occurs
Failure counter
Each failed delivery increments the webhook's failureCount. You can see this in the dashboard.
Disabling unhealthy endpoints
If an endpoint consistently fails, disable it in the dashboard or via API to avoid unnecessary delivery attempts:
PATCH /v1/webhooks/:id/disable
Authorization: Bearer eyJ...
Re-enable when your endpoint is healthy:
PATCH /v1/webhooks/:id/enable
Best practices
- Respond quickly — return
200immediately and process the event asynchronously - Be idempotent — the same event may be delivered more than once; use
X-Notifo-Delivery-Idto deduplicate - Verify before processing — always check the signature first