Delivery, retries, and redelivery
Handle success, transient failures, retry timing, stable delivery data, logs, and manual redelivery.
Last updated
Quire delivers on a dedicated queue with recovery dispatching, so a temporary queue-enqueue failure does not strand a durable pending delivery.
Success and failure classes
Any 2xx response succeeds. Network failures, HTTP 408, 425, 429, and all 5xx responses are retryable. Other 3xx and 4xx responses fail immediately. Redirects are never followed.
Quire makes up to seven total attempts. The delays after failures are:
- 1 minute
- 5 minutes
- 30 minutes
- 2 hours
- 6 hours
- 12 hours
A valid Retry-After can extend the applicable delay, bounded to 12 hours. Connect timeout is 3 seconds and total request timeout is 10 seconds by default.
Stable data and deduplication
The delivery ID, event ID, and snapshotted JSON body remain stable across automatic retries. The attempt number, signing timestamp, and signature change per attempt. Delivery is at least once, so persist a processed delivery ID before starting non-idempotent work.
There is no global ordering guarantee. If order matters for a document, use the history sequence bounds and fetch the current state through MCP.
Disable, delete, or lose access
Disabling or deleting a subscription cancels pending attempts. Delivery is also canceled if its owner is no longer an active member or no longer has access to the affected resource. Retries use the subscription's current endpoint and signing secret, allowing an owner to correct configuration.
Logs and redelivery
The Webhooks page shows delivery status and attempt history, including endpoint, response status or error, duration, and time. History is retained for 30 days.
A failed delivery can be manually redelivered. Manual redelivery restarts an attempt cycle for the same snapshotted delivery, using the current endpoint and secret. Fix the receiver before choosing redelivery.