Skip to main content

Retry behaviour

Prudra retries webhook deliveries up to 5 times with exponential backoff. After 5 failures, the delivery moves to the dead-letter queue where you can replay it manually.

Retry schedule

Total time from first attempt to dead-letter: ~2.5 minutes.

What counts as a failure

Prudra considers a delivery failed if:
  • Your endpoint returns any non-2xx status code
  • Your endpoint does not respond within 10 seconds
  • The TCP connection is refused
Returning 200 immediately (before processing) and processing asynchronously is the correct pattern.

Respond 200 before processing

If you respond 200 only after your processing is complete, slow handlers will cause retries when they exceed the 10-second timeout.

Manual replay

View and replay failed deliveries from the API:

Idempotency

Your webhook handler must be idempotent. Retries deliver the same eventId — check whether you’ve already processed an event before acting: