Skip to main content

Retries & Failures

Retry policy

Notifo retries failed webhook deliveries up to 3 times with exponential backoff:

AttemptDelay
1stimmediate
2nd2 seconds
3rd4 seconds

A delivery is considered failed if:

  • The endpoint returns a non-2xx HTTP 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 200 immediately and process the event asynchronously
  • Be idempotent — the same event may be delivered more than once; use X-Notifo-Delivery-Id to deduplicate
  • Verify before processing — always check the signature first