Skip to main content

Webhook Retry Policy

When a webhook delivery fails, Kallglot automatically retries the request with exponential backoff.

What Triggers a Retry

A webhook delivery is considered failed if:
  • Your endpoint returns a non-2xx HTTP status code
  • Your endpoint doesn’t respond within 30 seconds
  • The connection cannot be established
  • SSL/TLS handshake fails

Retry Schedule

Kallglot uses exponential backoff with jitter: After 8 failed attempts (~41 hours), the webhook is marked as permanently failed.

Retry Headers

Retry attempts include additional headers:

Idempotency

Because webhooks may be delivered multiple times, your handler must be idempotent. Use the id field to deduplicate:

Monitoring Deliveries

Developer Portal

View delivery status in the Developer Portal:
  1. Go to Webhooks > select your endpoint
  2. Click Delivery History
  3. View status, response, and retry history for each event

Delivery Statuses

Webhook Events

Subscribe to meta-events about your webhooks:

Automatic Disabling

Endpoints are automatically disabled after:
  • 100 consecutive failed deliveries, or
  • 7 days of continuous failures
When disabled, you’ll receive an email notification and a webhook_endpoint.disabled event (to other healthy endpoints). To re-enable:
  1. Fix the underlying issue
  2. Go to Developer Portal > Webhooks
  3. Select the disabled endpoint
  4. Click Re-enable

Best Practices

Acknowledge receipt immediately and process asynchronously:
For reliability, enqueue webhooks in your own workload queue (for example SQS or RabbitMQ):
Events may arrive out of order. Use timestamps to handle this:
Treat repeated 4xx/5xx responses to Kallglot retries as a paging incident. Most teams wire alerts from their own metrics (log counts, health checks) or from periodically reviewing Webhooks → Delivery History in the Developer Portal.

Manual Retry

Retry failed deliveries from the Developer Portal:
  1. Go to Webhooks > select endpoint > Delivery History
  2. Find the failed event
  3. Click Retry
There is no documented public HTTP endpoint for delivery retries; use the portal unless your account team provides a private automation.

Event Expiration

Events are retained for 30 days. After that:
  • Events cannot be viewed in the Developer Portal
  • Manual retries are no longer possible
  • The event data is permanently deleted