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

# Replay a webhook delivery

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

## Request

- Base URL: `https://app.arkova.ai/api/v1`
- URL: `https://app.arkova.ai/api/v1/webhooks/deliveries/{id}/replay`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Re-fires a previously-attempted delivery using its original payload, signed with a fresh timestamp. Inserts a new delivery log row (idempotency_key=`replay-{id}-{ts}`) — the original attempt is preserved for audit. Cross-org access returns 404.

## Path parameters

- `id` string, uuid, required

## Response `200`

Replay attempted (ok reflects whether the retried delivery itself succeeded)

- object
  - `replayed` boolean
  - `ok` boolean
  - `delivery_id` string, uuid, nullable
  - `status_code` integer, nullable

## Other responses

- `401`: Authentication required
- `403`: Either the API key does not hold the `webhooks:manage` scope (`insufficient_scope`), or the endpoint URL now targets a private network (SSRF protection re-validated on replay).
- `404`: Delivery not found or does not belong to your organization
- `409`: Cannot replay to a disabled webhook endpoint

---

[API](https://skmtc.dev/arkova/apis/arkova-verification-api.md) · [All operations](https://skmtc.dev/arkova/apis/arkova-verification-api/llms.txt) · [OpenAPI document](https://skmtc.dev/arkova/apis/arkova-verification-api/revisions/a14858d1efd4?raw)
