Replay a webhook delivery
Re-enqueue the original event for delivery to its endpoint. The replayed
delivery carries the same data as the original attempt; publish-time
filters are not re-evaluated. The replay arrives with a fresh event id
(evt_<uuid>), so receivers should dedupe on the event id. Treat a
replay the same as any other delivery.
You can pass an optional reason, which is recorded with the replay.
This endpoint is rate limited per organization (10 per minute by
default). Bursts return 429 RATE_LIMITED with a Retry-After header.
Listing and reading deliveries are not throttled.
If the original event has aged out of retention, there is nothing to
replay and the endpoint returns 410 GONE with code: EVENT_EXPIRED.
Requires the webhooks:write scope.
Authenticate by sending your API key as a bearer token:
Authorization: Bearer am_live_.... Every request is automatically
scoped to the organization that owns the key and to the scopes granted
to that key.
In: header
Path Parameters
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/webhooks/deliveries/497f6eca-6276-4993-bfeb-53cbbbba6f08/replay" \ -H "Content-Type: application/json" \ -d '{}'{
"delivery_id": "0190a1b2-c3d4-e5f6-a7b8-c9d0e1f2a3d4",
"endpoint_id": "0190a1b2-c3d4-e5f6-a7b8-c9d0e1f2a3b4",
"event_type": "brand.vetted",
"new_event_id": "0190a1b2-c3d4-e5f6-a7b8-c9d0e1f2c0d0",
"audit_log_id": "0190a1b2-c3d4-e5f6-a7b8-c9d0e1f2c0d1",
"enqueued_at": "2026-04-29T14:35:00Z"
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "authentication failed",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "missing required scope",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "not found",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}{
"success": false,
"error": {
"code": "EVENT_EXPIRED",
"message": "source event has been pruned and cannot be replayed",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "validation failed",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM",
"details": {
"to": "must be E.164",
"body": "must be 1..1600 chars"
}
}
}{
"success": false,
"error": {
"code": "RATE_LIMITED",
"message": "rate limited",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}