How long does Sume retry a webhook before giving up?
Sume job webhooks give up after about 4.5 minutes of gaps, run webhooks after about 3 hours. Cumulative timings per attempt, then redeliver or poll.

Not long: your receiver can be down for about 4.5 minutes of retries on a job webhook, or about three hours on a run webhook, before Sume stops trying automatically. After that, one call to redeliver or one poll recovers the event.
Timings are my arithmetic from Job webhooks and Run webhooks, read 2026-09-30.
How does that compare with the Standard Webhooks advice?
The spec recommends a schedule spanning multiple days, with exponential backoff and jitter. Neither Sume schedule reaches that, so size your deploys and outages against the numbers below rather than against a multi-day assumption.
How much downtime can each webhook ride out?
Ten attempts leave nine gaps. Job webhooks use a 30-second default gap. Run webhooks use the docs' formula min(max(30s x 2^(attempt-1) with jitter, Retry-After), 1h).
| Attempt | Job webhook (elapsed) | Run webhook (elapsed) |
|---|---|---|
| 1 | 0 s | 0 s |
| 2 | 30 s | 30 s |
| 3 | 60 s | 90 s |
| 5 | 120 s | 450 s |
| 7 | 180 s | 1,890 s |
| 8 | 210 s | 3,810 s |
| 10 | 270 s | 11,010 s |
What counts as down?
Anything that is not a 2xx inside 10 seconds: timeouts, errors, and redirects all consume an attempt. A restart that takes longer than the window loses all ten attempts, even if the app is healthy again a minute later.
How do I recover a missed event?
Call POST /v1/jobs/{job_id}/webhook/redeliver (needs jobs:write). It re-sends the real terminal event with a fresh signature and works after the automatic attempts are exhausted. Or poll status_url, since the job reached its terminal state regardless. A walkthrough of the per-attempt rules is in the ten-attempt schedule.
Sources
Related posts
More in Developers
- x402 vs Sume's 402: a prepaid-balance error, not a payment prompt
Sume returns HTTP 402 with the code insufficient_credits when the balance is too low. The fix is adding funds, not sending a payment header.
- Image 1.0 input_urls, n and format: deprecated names to replace
Sume's Image 1.0 still accepts input_urls, n and format, but prefers image_urls, num_images and output_format. What each maps to and their limits.
- Image 1.0: text, reference or masked edit - which fields to send
Image 1.0 uses prompt only for text-to-image, prompt plus image_urls for edits or references, and adds mask_image_url for masked edits. Fields and URL rules.
- mask_image_url or mask_url? Masked edits on Sume's image APIs
Image 1.0 takes mask_image_url with image_urls; POST /v1/images takes mask_url with input_references for GPT Image 2.5. Field names, models and limits.
Written by Sume