Replay a past event
POST /events//replay — encola una nueva entrega webhook para un evento existente.
X-ZoPay-Event-Id será el mismo evt_… que la entrega original — tu handler debe deduplicar por ese id.
- Idempotencia obligatoria. Misma
(org, Idempotency-Key, body)dentro de 24h devuelve la entrega original sin encolar otra. - Replayable siempre. Incluso eventos que ya entregaron 2xx pueden replicarse.
- Auditoría acumulativa. Cada replay crea una fila nueva en
webhook_deliveries— el historial crece, no muta.
| Trigger | HTTP | Code |
|---|---|---|
| Evento no existe (o cross-tenant) | 404 | event_not_found |
| Ningún webhook endpoint habilitado | 400 | webhook_endpoint_not_configured |
Mismo Idempotency-Key con otro body | 409 | idempotency_conflict |
Authorizations
Paste your Connect API key (sk_live_… for production, sk_test_… for sandbox) without the Bearer prefix. Mint and rotate keys from the admin panel.
Path Parameters
Event id to replay, beginning with evt_. Same 404-on-anything-that-doesn't-match semantics as the single-event GET endpoint.
Response
Successful Response
Body of POST /connect/v1/events/:id/replay.
Returns the newly-enqueued webhook_deliveries row's id and initial state. Partners poll their dashboard / GET /webhook-deliveries to watch the replay's lifecycle; the delivery's terminal state (delivered / failed / exhausted) is set asynchronously by the cron worker.
The new webhook_deliveries row id (UUID, rendered as string). Distinct from the original delivery's id if this event was delivered before; each replay produces a fresh row for audit clarity.
Always webhook_delivery. Stripe-style discriminator so polymorphic partner-side handlers can dispatch.
The connect_events id the delivery row points at. Identical to the path-param event_id -- echoed for convenience.
Always pending on the response. The worker claims the row on its next tick and transitions it through processing to a terminal state (delivered / failed / exhausted).
Always 0 on the response. The worker increments this on each attempt; a replay starts with a fresh budget.