Content and replays API
Read retained content and queue a delivery to the source’s current destination within your organization.
Read content and replay eligibility
GET /v1/events/{event_id}/content
Authorization: Bearer <token>
X-Org-ID: <organization_id>Requires event-read permission (webhooks:read for API keys with a permitted role). The response is no-store and includes event_id, state, body_size, body_hash, optional expires_at and replay eligibility. An available body has body_base64, including an empty string for zero bytes. Expired or not_retained content has no body field. Content is separate from event lists, detail metadata and Live updates.
Create a replay
POST /v1/replays
Authorization: Bearer <token>
X-Org-ID: <organization_id>
Idempotency-Key: <new UUID for this action>
Content-Type: application/json
{
"event_id": "<event_id>",
"destination_url": "<current source destination from eligibility>",
"source_revision": 7
}Requires replay permission (replay:write for API keys with a permitted role). Refresh eligibility before confirmation and send the current destination and revision. The server compares them atomically; arbitrary destinations and body/header overrides are not supported. Keep the same key and original inputs when retrying an uncertain request. Create a new key only for a separate deliberate action.
Accepted response
A new replay returns HTTP 202 with status pending. Repeating an accepted key returns that request’s current state, which may already be terminal. Acceptance does not certify a successful send. Inspect delivery_state, delivery_attempts, ambiguous, code and any recorded status_code in the history. Raw receiver responses are not retained for display.
List history for an event
GET /v1/replays/events/{event_id}History requires event-read permission, including webhooks:read for an API key. A new replay is another POST to /v1/replays after checking current eligibility. It keeps the original event and x-acklane-id but creates a separate delivery. Retention expires 30 days after the original reception and is never extended by replay.