Retries & Disaster Recovery

If your webhook endpoint times out or returns a non-200 status code, Fork PDF automatically attempts to deliver the payload again using a staggered backoff strategy (15s, 30s, 45s delays). If all automated attempts fail, the payload is moved to your DLQ.

Programmatic Recovery

You can inspect your failed queue and trigger retries using cURL or the SDK. When using retryAllFailedWebhooks(), Fork PDF initiates a Canary Strike: we send exactly one failed payload first. If your server successfully processes it, we stagger the remaining queue. If it fails, the bulk job safely aborts to prevent overwhelming your infrastructure.

# 1. View all failed webhooks in your DLQ
curl -X GET "https://api.forkpdf.com/v1/webhooks/failed" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-project-id: YOUR_PROJECT_ID"

# 2. Retry a specific webhook by PDF ID
curl -X POST "https://api.forkpdf.com/v1/webhooks/failed/{pdf_id}/retry" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-project-id: YOUR_PROJECT_ID"

# 3. Trigger a smart bulk-recovery (Canary Strike)
curl -X POST "https://api.forkpdf.com/v1/webhooks/failed/retry-all" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "x-project-id: YOUR_PROJECT_ID"