Webhook Guides
Webhook Retry Handling
Webhook retry handling decides what happens after a delivery fails. A provider may retry the original request, a webhook gateway may retry a stored event, or an operator may replay a failed window after a receiver is fixed. Without a clear model, recovery can create duplicate side effects or overload the same service that was already failing.
FastHook separates provider ingress from destination delivery. That means you can accept the provider request, inspect destination attempts, fix the receiver, and retry the failed branch without asking the provider to send every event again.
Retry paths
| Path | Who sends it | Use when | Risk |
|---|---|---|---|
| Provider retry | Stripe, GitHub, Okta, Shopify, etc. | Ingress endpoint failed before capture. | Duplicate original request. |
| Request replay | FastHook | Routing rules changed and the original request should run again. | May create new destination events. |
| Event retry | FastHook | One destination branch failed after routing. | Receiver must be idempotent. |
| Bulk replay | Operator or automation | A failed window needs recovery after an outage. | Can overload a fragile receiver. |
What to retry
- Retry timeouts, network errors, temporary 5xx responses, and rate-limit responses after backoff.
- Pause or throttle the destination before replaying a large failed window.
- Do not blindly retry authentication failures, validation errors, or malformed payloads.
- Inspect the response body and attempt history before converting a one-event retry into bulk replay.
- Make receivers idempotent before enabling automatic retry or operator replay.
Retry a failed FastHook event
Retry failed event
curl -X POST "https://api.fasthook.io/v1/events/evt_01JYFAILED/retry" \
-H "Authorization: Bearer fhp_xxx" \
-H "x-team-id: tm_3b5335b627084a838b"Recovery checklist
- Confirm the provider request was captured.
- Identify whether routing, transformation, authentication, timeout, or receiver code caused the failure.
- Fix the destination and confirm it can handle one replayed event.
- Retry one failed event and inspect the new attempt.
- Filter the failed window narrowly before bulk replay.
- Watch delivery rate, success rate, and duplicate side-effect logs during recovery.