---
title: "Replay a webhook delivery"
method: POST
path: "/api/webhooks/{id}/deliveries/{deliveryId}/replay"
tags: ["Webhooks"]
---

# Replay a webhook delivery

`POST /api/webhooks/{id}/deliveries/{deliveryId}/replay`

## Request

- Base URL: `https://domani.run`
- URL: `https://domani.run/api/webhooks/{id}/deliveries/{deliveryId}/replay`
- Auth: HTTP bearer

Clone and immediately redeliver an immutable webhook event. The event payload and event ID stay identical; the HMAC signature receives a fresh timestamp. A required idempotency key guarantees caller retries never send twice. A mailbox-confined token reaches only the webhooks confined to its own mailboxes (404 otherwise). One exception to an identical payload: a subject copied from authentication mail is sent redacted, since the webhook's URL may have changed since the first delivery.

## Path parameters

- `id` string, required
- `deliveryId` string, required

## Request body

- object
  - `idempotency_key` string, required

## Response `200`

Replay operation receipt

- object
  - `delivery_id` string, required
  - `original_delivery_id` string, required
  - `event_type` string, required
  - `status` 'pending' | 'delivered' | 'failed', required
  - `http_status` integer, nullable
  - `attempts` integer, required
  - `idempotency_key` string, required
  - `idempotent_replay` boolean, required
  - `created_at` string, date-time, required
  - `hint` string

## Other responses

- `400`: Invalid request parameters
- `401`: Missing or invalid API key
- `404`: Webhook delivery not found
- `409`: Webhook inactive or idempotency key reused for another delivery
- `429`: Rate limit exceeded - wait and retry

---

[API](https://skmtc.dev/domani/apis/domani-run-api.md) · [All operations](https://skmtc.dev/domani/apis/domani-run-api/llms.txt) · [OpenAPI document](https://skmtc.dev/domani/apis/domani-run-api/revisions/7679f8159533?raw)
