Skip to main content
Version: v2

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:

  1. First retry: 10 minutes after the initial failure
  2. Second retry: 30 minutes after the first retry
  3. Third retry: 1 hour after the second retry
  4. 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.

Best Practices
  • 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