# Replay events

`POST https://api.parasend.com/v1/webhook_endpoints/{id}/replay`

Source: https://parasend.com/docs/api/webhooks/replay

Authentication: `Authorization: Bearer <API key>` (a `ps_test_` key in test mode, `ps_live_` in live mode).
Send an `Idempotency-Key` header: a retry with the same key returns the first answer.

Sends events to the endpoint again, signed with a fresh timestamp. An unknown `event_id` is 404 `event_not_found`.

## Path parameters

- `id` (string, required): The webhook endpoint's ID, starting `whk_`.

## Body (application/json)

- `event_id` (string, required): The event's ID, starting `evt_`.

## Example: Replay one event

```bash
curl -X POST "https://api.parasend.com/v1/webhook_endpoints/whk_01M6R27T4KCSN7M0CHFGVH7JRA/replay" \
  -H "Authorization: Bearer $PARASEND_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "event_id": "evt_01M6R27T08JTMBJ4B6GQP90838"
  }'
```

```js
const res = await fetch('https://api.parasend.com/v1/webhook_endpoints/whk_01M6R27T4KCSN7M0CHFGVH7JRA/replay', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.PARASEND_KEY}`,
    'Idempotency-Key': crypto.randomUUID(),
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    event_id: 'evt_01M6R27T08JTMBJ4B6GQP90838',
  }),
});
const data = await res.json();
```

## Response 200

Replay attempt result.

```json
{
  "id": "wha_01M6R27T5FDNZNP8H9PR7YDM94",
  "event_id": "evt_01M6R27T08JTMBJ4B6GQP90838",
  "event_type": "delivery.created",
  "attempt_number": 1,
  "ok": true,
  "status_code": 200,
  "latency_ms": 0,
  "replay": true,
  "test": false,
  "failure_stage": null,
  "error": null,
  "created": "2026-11-06T09:15:05.775Z",
  "next_retry_at": null,
  "exhausted": false
}
```

Errors: one shape, `{"error": {type, code, message, param, request_id}}`; every code is listed at https://parasend.com/docs/errors.
