Webhook Retry Policy
FreJun automatically retries failed webhook deliveries to ensure your integration receives important events even if your endpoint experiences temporary issues.
Retry Schedule
When a webhook delivery fails, FreJun will retry the request 4 times with the following time intervals:
- First retry: 10 minutes after the initial failure
- Second retry: 30 minutes after the first retry
- Third retry: 1 hour after the second retry
- Fourth retry: 3 hours after the third retry
Non-Retryable Error Codes
Webhooks will not be retried if your endpoint returns any of the following HTTP status codes:
- 400 - Bad Request
- 401 - Unauthorized
- 403 - Forbidden
- 404 - Not Found
- 500 - Internal Server Error
These status codes indicate either a client-side error (400, 401, 403, 404) or a permanent server error (500), where retrying is unlikely to succeed.
Delayed Retries
If your endpoint returns any of the following HTTP status codes, the webhook retries will be delayed by an additional factor:
- 429 - Too Many Requests
- 502 - Bad Gateway
- 503 - Service Unavailable
- 504 - Gateway Timeout
These codes indicate temporary issues such as rate limiting or service unavailability, so FreJun extends the retry intervals to give your service more time to recover.
Failed Webhook Storage
Failed webhooks are stored for up to 4 days to allow for investigation and potential manual reprocessing. After 4 days, failed webhook records are permanently removed from the system.
- Ensure your webhook endpoint responds with appropriate HTTP status codes
- Return 2xx status codes for successfully processed webhooks
- Use 429 for rate limiting to trigger delayed retries
- Monitor failed webhooks and investigate recurring failures within the 4-day retention period