Skip to navigation

Replay a delivery

Schedule a fresh attempt for the given (message, endpoint). Idempotent via the stable webhook-id. Messages older than the replay ceiling (default 30 days) are refused with 409 webhook_replay_too_old; the envelope’s timestamp carries the original occurrence time.

Authentication: Supports API key and bearer token authentication.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

message_idstringRequiredformat: "uuid"

Headers

X-Organization-IDstring or nullOptional
Idempotency-KeystringOptional<=255 characters

A unique key (up to 255 printable ASCII characters, e.g. a UUID) that makes a retry of this request safe. Envoy stores the response for 24 hours; a retry with the same key and the same request returns it again with Idempotent-Replayed: true instead of running twice. The same key with a different request returns 422 idempotency_key_reused; while the first request is still running, 409 idempotency_key_in_progress. 5xx and 429 responses are not stored.

Request

This endpoint expects an object.
endpoint_idstringRequiredformat: "^ep_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
Endpoint to redeliver to.

Response

Successful Response
idstringformat: "^msg_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
endpoint_idstringformat: "^ep_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
latest_statusenum

Per-attempt delivery state.

SENDING is the transient state that prevents double-sends: the delivery task atomically flips PENDING → SENDING (compare-and-set on the row) before doing the outbound POST, so any other worker that picks up the same row from the sweeper backs off cleanly. Always a terminal status (SUCCEEDED/FAILED/DEAD) by the time the task returns.

Allowed values:
attempt_countinteger
last_response_status_codeinteger or null
created_atdatetime
payloadmap from strings to any or nullOptional

The envelope as delivered (id, type, timestamp, data).

Errors

401
Unauthorized Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
422
Unprocessable Entity Error
429
Too Many Requests Error