2xx (timeouts, 5xx, redirects, and
connection errors all count), we retry with backoff:
- Deduplicate on
X-Contour-Delivery-Id(alsoidin the body). It is the same on every retry of the same event. Retries can arrive more than once if a previous attempt succeeded on your side but we didn’t see the response. - Events can arrive out of order under retries, for example
call.analyzedbefore a retriedcall.ended. The call object is complete on every event, so usecall.statusandcall.analysisrather than the sequence. recording_urlis minted fresh on every attempt and expires after about an hour. Fetch it promptly, or useGET /v1/calls/{call_id}/recordingany time.- After the final attempt the delivery is marked
failed. You can see it, and retry it, via the deliveries endpoints.
Delivery statuses
Pausing
PATCH an endpoint with "enabled": false to pause it. Events that occur
while paused are not queued, so pausing is for maintenance windows, not for
buffering.