POST /v1/webhook-deliveries/:deliveryId/replay
Queue a fresh delivery attempt with the same payload as a past delivery.
POST
/v1/webhook-deliveries/{deliveryId}/replayPhase 1stableidempotent
- Auth
- X-Api-Key
Queues a fresh delivery carrying the same data as the original delivery. Useful when a partner's endpoint was down during the retry window and the original exhausted its attempts.
The replay gets a NEW eventId (so the dedupe index doesn't reject the enqueue), plus a top-level replayOf: <original delivery id> inside the payload so your handler can reconcile.
Path
deliveryIdstring (UUID)requiredThe delivery to replay. Must be owned by the calling org.
Headers
Idempotency-Keystring (UUID)optionalReplays within 24h return the same replay delivery id.
Example
curl -X POST https://api.layers.com/v1/webhook-deliveries/9b8a41e2-.../replay \
-H "X-Api-Key: $LAYERS_API_KEY" \
-H "Idempotency-Key: $(uuidgen)"200Accepted — replay enqueued
{
"originalDeliveryId": "9b8a41e2-0cc6-4c7a-9f89-1a7d19a1c233",
"replayDeliveryId": "a1c29d44-0ff2-4e8e-b6a7-2f3ce1a4d78b",
"scheduledAt": "2026-04-22T14:02:00.000Z"
}The replay fires within ~1 minute. Treat the new delivery like any other webhook — verify the signature, dedupe on eventId (the new one), and act.
Errors
| Status | Code | When |
|---|---|---|
| 404 | NOT_FOUND | Delivery not owned by the calling org. |
| 409 | IDEMPOTENCY_CONFLICT | Idempotency-Key reused with a different body. |