- Docs
- Api%2Freference%2Fwebhooks%2FRedeliverWebhookEvent
Redeliver a webhook event
Send a failed delivery again, with a full set of retries. We make one initial attempt and retry up to three times. If all four attempts fail, the delivery is marked `failed`. Once your endpoint is healthy, this is how you send it again. Only a delivery that has `failed` can be sent again; anything else returns `409`. The delivery keeps its identifier, so this is the same event arriving a second time rather than a new one — your endpoint will see the same `X-Event-ID` it saw before, which is exactly why it should be safe to receive twice. The signature is recalculated for the new attempt, so always check the signature that arrives with the request rather than one you kept. The response comes back straight away with the delivery marked `pending`; the send itself follows a moment later. Requires the `webhooks.update` permission.
The access token returned after a successful sign-in, sent as
Authorization: Bearer <access_token>.
It identifies the person and the organization they are working in, and
it lasts about fifteen minutes. When it runs out, use their refresh
token at POST /auth/refresh-token instead of asking them to sign in
again.
In: header
Path Parameters
Identifier of the webhook, the same value sent as the X-Webhook-ID header.
Identifier of the webhook delivery, the same value sent as the X-Event-ID header.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.dual.network/webhooks/665f1c2d4b1a2c3d4e5f6ae0/events/665f1c2d4b1a2c3d4e5f6a40/redeliver"{
"id": "665f1c2d4b1a2c3d4e5f6a41",
"webhook_id": "665f1c2d4b1a2c3d4e5f6a7b",
"type": "template_activity",
"url": "https://hooks.example.com/dual",
"status": "pending",
"payload": "{\"id\":\"665f1c2d4b1a2c3d4e5f6a41\",\"type\":\"template_activity\",\"event\":{\"name\":\"burn\"},\"when_created\":\"2026-03-02T11:00:00Z\"}",
"signature": "t=1772449200,v1=1a2b3c4d5e6f70819293a4b5c6d7e8f90a1b2c3d4e5f60718293a4b5c6d7e8f9",
"when_created": "2026-03-02T11:00:00Z",
"when_modified": "2026-03-02T15:30:05Z"
}{
"code": 3,
"message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}{
"code": 16,
"message": "no auth provided"
}{
"code": 5,
"message": "object not found"
}{
"code": 10,
"message": "conflict"
}{
"code": 13,
"message": "internal error"
}