<!-- source: https://secondlayer.tools/docs/api-reference#get-webhook-replay -->

## Get a replay's progress

`GET /api/webhooks/{id}/replays/{replay_id}` (self-hosted instances only)

Where one replay stands: how many events it queued, how many are done, and once nothing is left pending, how many delivered and how many gave up. Poll it while the replay drains.

### Path parameters

| Name | Type | Description |
| --- | --- | --- |
| `id` | string, required | Webhook id (UUID), as returned by create or list. |
| `replay_id` | string, required | Replay id, the `replayId` from the replay response (16 hex characters). |

### Returns

One `WebhookReplayProgress` object.

### Responses

- `200` The replay's progress
- `401` This bind requires the instance token, and it was missing or wrong
- `404` No webhook with this id, or no replay with this id on it

### Example

```bash
curl http://127.0.0.1:3800/api/webhooks/{id}/replays/{replay_id} \
  -H "Authorization: Bearer $INSTANCE_TOKEN"
```

```json
{
  "replayId": "a41f09c3d27e8b65",
  "webhookId": "3f1c2a9e-8b7d-4c21-9a55-6e0d4b2f7c18",
  "status": "done",
  "fromBlock": 8650000,
  "toBlock": 8700000,
  "total": 312,
  "processed": 312,
  "pending": 0,
  "delivered": 309,
  "gaveUp": 3,
  "startedAt": "2026-09-22T14:00:02.000Z",
  "finishedAt": "2026-09-22T14:06:40.000Z",
  "error": null
}
```
