Skip to main content
AhaSend retries failed webhook and inbound route deliveries: webhooks get 6 attempts over about 16 minutes, and routes get 12 attempts over about 11 hours. Attempt counts include the first attempt. Signed webhooks and routes are available on Free, Pro and Max. See plans and features.

What Counts as a Failed Attempt?

Any 2xx response is successful. Any non-2xx response, timeout or connection error is a failure. Each attempt times out after 5 seconds.

When Does AhaSend Retry?

The delay before each retry is (failures so far)^4 seconds, ±10%. Times in this table exclude that jitter and the time spent making requests.

How Do I Re-enable a Disabled Endpoint?

After more than 100 consecutive failed attempts, the webhook or route is disabled and account users are emailed. Correct the endpoint, then update the webhook or update the route with enabled: true to turn it back on. Redirects are followed, but 301, 302 and 303 turn the POST into a GET without a body, so point the endpoint at its final URL. Verify signatures before processing events. Acknowledge verified unknown event types with a 2xx response so new event types do not cause repeated failures.

How Do I Handle Duplicate Deliveries?

Verify the signature, then use webhook-id to identify a delivery across retries. Commit that ID and the durable work it protects together, so a retry cannot repeat a side effect or lose work. Return 2xx for an already-processed delivery.