Delivered
A successful HTTP 2xx response marks the attempt as succeeded and the event as delivered.
Webhook Safe Cloud forwards received events to your destination, records each delivery attempt, and automatically retries failures with exponential backoff.
Webhook Safe sends an HTTP POST request to the destination URL configured for your endpoint. The request body contains the original webhook payload bytes.
| Property | Behavior |
|---|---|
| HTTP method | POST |
| Successful response | HTTP 200–299 |
| Failed response | Non-2xx status or request error |
| Request timeout | 30 seconds |
| Redirects | Not followed |
| Content-Type | Preserved when provided |
| Request body | Original payload bytes |
Failed deliveries are retried automatically, up to a maximum of ten total attempts, including the initial delivery.
Retry delays increase exponentially, starting at 30 seconds and capped at 60 minutes.
Each failure schedules the next attempt after a longer delay, reducing repeated pressure on unavailable destinations.
Delay in seconds = min(30 × 2^(attempt − 1), 3600).
| Failed attempt | Delay before next attempt |
|---|---|
| 1 | 30 seconds |
| 2 | 1 minute |
| 3 | 2 minutes |
| 4 | 4 minutes |
| 5 | 8 minutes |
| 6 | 16 minutes |
| 7 | 32 minutes |
| 8 | 60 minutes |
| 9 | 60 minutes |
| 10 | No retry — exhausted |
Webhook Safe records each attempt and updates the event according to the delivery result.
A successful HTTP 2xx response marks the attempt as succeeded and the event as delivered.
A failed attempt with retries remaining schedules another delivery after the calculated delay.
When the tenth attempt fails, the event becomes exhausted and automatic retries stop.
Each attempt records its number, timestamps, status, response status when available, and error information.
Retrieve an event through the management API to inspect its current status and delivery history.
curl "$BASE_URL/v1/events/EVENT_ID" \
-H "Authorization: Bearer $API_TOKEN"The response includes an attempts array with fields such as attemptNumber, startedAt, completedAt, status, responseStatus, and errorMessage.
Webhook Safe also exposes a management API route for replaying an event:
curl -X POST "$BASE_URL/v1/events/EVENT_ID/replay" \
-H "Authorization: Bearer $API_TOKEN"Manual replay is separate from the automatic retry schedule. Use it when you need to request another delivery after investigating an event.