# List Webhook Deliveries

What Aurea sent, or is sending, to your tenant's addresses: one row per event and address, newest first.

## Overview

- Every delivery to the [webhook of each environment](https://docs.aureahub.com/docs/tenant-webhooks-list.md) (`endpoint.kind` `environment`) and to the [endpoints](https://docs.aureahub.com/docs/webhook-endpoints-list.md) (`endpoint.kind` `endpoint`). One event sent to three addresses is three deliveries with the same `eventId`.
- With its status, its attempts and the last one. The body sent is never shown: the event is whatever its type carried ([Event Types](https://docs.aureahub.com/docs/guide-events.md)). Test deliveries are not here.
- Filters: `environment`; `status`, a comma-separated list (an unknown status answers `400` `WEBHOOK_QUERY_INVALID`); `eventId`; `eventType`; `endpointId`; `from` and `to`, which bound when the delivery was queued. Page with `limit` (1–100, default 20) and `offset`; `total` counts every row the filters match.
- Same roles as [List Endpoints](https://docs.aureahub.com/docs/webhook-endpoints-list.md).

## Statuses

| status | Meaning |
| --- | --- |
| pending | Waiting for its first attempt. |
| sending | Being posted. |
| delivered | Your server answered `2xx`. |
| skipped | Finished without being posted: its address was removed, switched off, or no longer asks for the type. |
| retrying | An attempt failed; `nextAttemptAt` says when the next one is made. |
| failed | Out of attempts (10). [Send it again](https://docs.aureahub.com/docs/webhook-deliveries-resend.md). |
| cancelled | Dropped by the queue. |

## Endpoint

### `GET /v1/admin/tenants/{id}/webhook-deliveries`

Authentication: bearer token required.

The tenant's deliveries, newest first, with their status and last attempt.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | yes | Tenant UUID |

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `environment` | string | no | `production` or `sandbox` |
| `status` | string | no | Comma-separated: `pending`, `sending`, `delivered`, `skipped`, `retrying`, `failed`, `cancelled` |
| `eventId` | string | no | `evt_` and 32 hex characters |
| `eventType` | string | no | One event type |
| `endpointId` | string | no | One endpoint, or the webhook of an environment, by id |
| `from` | string (date-time) | no | Queued at or after |
| `to` | string (date-time) | no | Queued before |
| `limit` | integer | no | 1–100, default 20 |
| `offset` | integer | no | Default 0 |

**Responses**

`200` OK

```json
{
  "total": 2,
  "limit": 20,
  "offset": 0,
  "deliveries": [
    {
      "id": "c41f2a8e-6d3b-4e7a-9f15-0b8d2c6e4a91",
      "eventId": "evt_9f2c41d87a0b5e36c1d4f8a2b7e05c93",
      "eventType": "ramp.deposit.updated",
      "environment": "production",
      "endpoint": { "kind": "endpoint", "id": "8a3c5e71-2b4d-4f60-9e1a-7c2d4b6f8e01" },
      "status": "retrying",
      "attempts": 2,
      "maxAttempts": 10,
      "nextAttemptAt": "2026-10-06T09:16:05.000Z",
      "lastAttempt": { "startedAt": "2026-10-06T09:15:03.412Z", "outcome": "failed", "statusCode": 503, "durationMs": 211 },
      "createdAt": "2026-10-06T09:14:03.418Z",
      "updatedAt": "2026-10-06T09:15:03.640Z",
      "completedAt": null
    },
    {
      "id": "5e0a9c37-1b2d-4f8e-a6c4-7d9e3b1f2a05",
      "eventId": "evt_9f2c41d87a0b5e36c1d4f8a2b7e05c93",
      "eventType": "ramp.deposit.updated",
      "environment": "production",
      "endpoint": { "kind": "environment", "id": "5c03a06e-55f0-425a-8562-bd7bae35825d" },
      "status": "delivered",
      "attempts": 1,
      "maxAttempts": 10,
      "nextAttemptAt": null,
      "lastAttempt": { "startedAt": "2026-10-06T09:14:03.502Z", "outcome": "delivered", "statusCode": 200, "durationMs": 143 },
      "createdAt": "2026-10-06T09:14:03.418Z",
      "updatedAt": "2026-10-06T09:14:03.660Z",
      "completedAt": "2026-10-06T09:14:03.660Z"
    }
  ]
}
```

`400` Unknown status

```json
{
  "statusCode": 400,
  "error": "BadRequestError",
  "message": "Unknown delivery status \"lost\": each must be one of pending, sending, delivered, skipped, retrying, failed, cancelled",
  "details": { "code": "WEBHOOK_QUERY_INVALID", "field": "status" }
}
```

`endpoint.id` of a delivery to the webhook of an environment is that webhook's id, or `null` once the webhook was removed.

---

Web version: https://docs.aureahub.com/#webhook-deliveries-list
