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

## List delivery attempts

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

The last 100 delivery attempts, newest first, including test deliveries. `total` counts every attempt ever logged for the webhook. With `from` and `to`, only attempts dispatched in that window; `total` counts the window.

### Path parameters

| Name | Type | Description |
| --- | --- | --- |
| `id` | string, required | Webhook id (UUID), as returned by create or list. |

### Query parameters

| Name | Type | Description |
| --- | --- | --- |
| `from` | string | Window start, inclusive, ISO 8601. Needs `to`; at most 31 days before it. |
| `to` | string | Window end, exclusive, ISO 8601. Needs `from`. |

### Returns

A cursor envelope; `data` holds `WebhookDelivery` objects.

### Responses

- `200` Recent delivery attempts
- `401` This bind requires the instance token, and it was missing or wrong
- `404` No webhook with this id

### Example

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

```json
{
  "total": 4182,
  "data": [
    {
      "id": "9b2e41c7-5d0a-4f3e-8c61-2a7f90d4e3b5",
      "seq": 4182,
      "attempt": 1,
      "statusCode": 200,
      "blockHeight": 8700076,
      "blockTime": "2026-09-22T14:02:58.000Z",
      "errorMessage": null,
      "durationMs": 142,
      "responseBody": "{\"received\":true}",
      "dispatchedAt": "2026-09-22T14:03:11.402Z"
    }
  ]
}
```
