Webhook Deliveries & Retries
How DocuClipper retries failed webhook deliveries and how to inspect the delivery log.
DocuClipper keeps a log of every webhook delivery attempt so you can see exactly what was sent, what your endpoint returned, and when each retry fired.
Viewing deliveries
Open Webhooks, click a webhook in the list, and select Deliveries. Each row shows:
- Event — the event that triggered the delivery.
- Status code — what your endpoint returned.
- Attempt — which retry this is.
- Timestamp — when the delivery was attempted.
Click a row to see the full request body, headers, response body, and any error.
Success and failure
A delivery is considered successful when your endpoint returns any 2xx status within 10 seconds. Any other status (including 3xx redirects), or a timeout, counts as a failure and triggers the retry policy.
Retry policy
Failed deliveries are retried with exponential backoff:
- Attempt 1 — immediately
- Attempt 2 — 30 seconds later
- Attempt 3 — 2 minutes later
- Attempt 4 — 10 minutes later
- Attempt 5 — 1 hour later
- Attempt 6 — 6 hours later
After the final attempt fails, the delivery is marked Permanently failed and stops retrying. You can manually re-deliver any failed payload from the delivery detail view.
Replaying a delivery
From the delivery detail view, click Replay. DocuClipper re-sends the exact same payload (same id, same body) so your endpoint can handle replays idempotently — key off the id field to avoid processing the same event twice.
Debugging tips
- If your endpoint consistently 500s, check the request body shape in the delivery log — the payload includes everything your handler needs.
- Responses larger than ~4KB are truncated in the delivery log; your endpoint can still accept them, but only the first chunk is shown for debugging.
- For local development, tunnel with a service like ngrok and point the webhook at the tunnel URL.