Skip to content

Delivery, Retries & Failures

Webhooks are delivered asynchronously, so they never slow down PDF generation or your API requests. DocSpring sends a POST request to your URL and waits up to 30 seconds for a response.

A delivery is considered successful when your endpoint returns any 2xx status code. Any other status code, a connection error, or a timeout counts as a failure and triggers a retry.

When a delivery fails, DocSpring automatically retries it with an increasing delay, spread over roughly three days:

RetryDelay after previous attempt
11 minute
25 minutes
315 minutes
430 minutes
51 hour
62 hours
74 hours
88 hours
912 hours
10+24 hours

Retries continue until the endpoint succeeds, the webhook is disabled, or the schedule is exhausted (about three days).

If a webhook fails continuously for three days — with no successful delivery in between — DocSpring automatically disables it and stops sending events. A single successful delivery at any point resets the clock, so a webhook is only disabled when it has been broken the entire time.

A disabled webhook stays in your account; you can fix the endpoint and re-enable it from the dashboard whenever you’re ready. Re-enabling clears the failure state.

DocSpring emails your account’s billing user as a webhook degrades, so problems don’t go unnoticed:

  • First failure — a heads-up once an endpoint starts failing (sent at most once per hour, so a flaky endpoint won’t flood your inbox).
  • After 24 hours — a reminder if the endpoint has been failing continuously for a day.
  • Disabled — a final notice when the webhook is automatically disabled after three days of continuous failure.

Every delivery attempt is recorded in the Webhook Logs, available from the Webhooks page in the dashboard. Each log entry includes the event type, the request and response headers and bodies, the HTTP status code, the response latency, the attempt number, and any error message.

Use the logs to confirm that events are being delivered, inspect exactly what your endpoint received, and debug failures.