# The Attempts Log

Every attempt Aurea made to post a delivery to your tenant's addresses: when, how long, and what your server answered — or why no answer came.

## Overview

- One row per attempt that posted, newest first, for the webhook of each environment and for the endpoints. `attempt` is the delivery's attempt number; after a [resend](https://docs.aureahub.com/docs/webhook-deliveries-resend.md) it starts again from 1 (tell them apart by time).
- `outcome` is `delivered` for a `2xx`, else `failed`. `statusCode` is what your server answered, or `null` when no answer came; then `error` says why (a timeout, an address that is not public, a network error). Aurea never reads your answer's body, so the log doesn't keep it.
- `url` is the address as it was when posted to. `jwsKid` names the key of the `X-Webhook-Jws` header, when one was sent ([Verify the JWS](https://docs.aureahub.com/docs/guide-events.md)).
- Kept **30 days**. Test deliveries are not logged.
- Filters: `environment`, `deliveryId`, `eventId`, `endpointId`, `outcome`, `from` and `to` (when the attempt started). Page with `limit` (1–100, default 20) and `offset`. Same roles as [List Endpoints](https://docs.aureahub.com/docs/webhook-endpoints-list.md).

## Endpoint

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

Authentication: bearer token required.

The log of the tenant's delivery attempts, newest first.

**Path parameters**

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

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `environment` | string | no | `production` or `sandbox` |
| `deliveryId` | string | no | One delivery |
| `eventId` | string | no | `evt_` and 32 hex characters |
| `endpointId` | string | no | One endpoint, or the webhook of an environment, by id |
| `outcome` | string | no | `delivered` or `failed` |
| `from` | string (date-time) | no | Started at or after |
| `to` | string (date-time) | no | Started before |
| `limit` | integer | no | 1–100, default 20 |
| `offset` | integer | no | Default 0 |

**Responses**

`200` OK

```json
{
  "total": 2,
  "limit": 20,
  "offset": 0,
  "attempts": [
    {
      "id": "0e7b3d91-5a2c-4f68-b1e4-9c8d7a6f5e32",
      "deliveryId": "c41f2a8e-6d3b-4e7a-9f15-0b8d2c6e4a91",
      "eventId": "evt_9f2c41d87a0b5e36c1d4f8a2b7e05c93",
      "eventType": "ramp.deposit.updated",
      "environment": "production",
      "endpoint": { "kind": "endpoint", "id": "8a3c5e71-2b4d-4f60-9e1a-7c2d4b6f8e01" },
      "url": "https://ledger.example.com/aurea/events",
      "attempt": 2,
      "startedAt": "2026-10-06T09:15:03.412Z",
      "durationMs": 211,
      "outcome": "failed",
      "statusCode": 503,
      "error": null,
      "jwsKid": null
    },
    {
      "id": "6b2f8e04-3c9a-4d17-8e5b-2a1c0f9d8e76",
      "deliveryId": "c41f2a8e-6d3b-4e7a-9f15-0b8d2c6e4a91",
      "eventId": "evt_9f2c41d87a0b5e36c1d4f8a2b7e05c93",
      "eventType": "ramp.deposit.updated",
      "environment": "production",
      "endpoint": { "kind": "endpoint", "id": "8a3c5e71-2b4d-4f60-9e1a-7c2d4b6f8e01" },
      "url": "https://ledger.example.com/aurea/events",
      "attempt": 1,
      "startedAt": "2026-10-06T09:14:03.497Z",
      "durationMs": 10004,
      "outcome": "failed",
      "statusCode": null,
      "error": "The tenant's server did not answer within 10000 ms",
      "jwsKid": null
    }
  ]
}
```

---

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