# One delivery attempt, in full

URL: https://docs.fxapis.com/api-reference/webhooks/one-delivery-attempt-in-full

> One delivery attempt, in full. The request as sent — URL, headers (signature included) and exact body — and what your endpoint answered: status, headers and…

`GET https://api.fxapis.com/v1/webhooks/{id}/deliveries/{deliveryId}`

The request as sent — URL, headers (signature included) and exact body — and what your endpoint answered: status, headers and the first 4 KB of the body. Latency is `durationMs`. Kept 30 days on every plan, even once the event itself has aged out of your event history.

Authentication: `Authorization: Bearer <API key>`.

#### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string (uuid) | yes |  |
| `deliveryId` | path | string (uuid) | yes |  |

#### Responses

- `200`
- `401`
- `403`
- `404`

Failures return `{ "error": { "code", "message" } }`; every code is listed at https://docs.fxapis.com/errors.

#### 200 response fields

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `data` | object | no |  |
| `data.id` | string (uuid) | no |  |
| `data.eventId` | string (uuid) | no | The event's id, as in the body and `fxapis-event-id`. |
| `data.eventType` | string | no | Example: `"order.filled"` |
| `data.attempt` | integer | no | 1 for the first attempt. |
| `data.state` | "succeeded" \| "failed" \| "sending" | no | `sending` while the attempt is in flight. |
| `data.succeeded` | boolean | no | Your endpoint answered 2xx. |
| `data.statusCode` | null \| integer | no | Null when no answer arrived. |
| `data.durationMs` | null \| integer | no |  |
| `data.error` | null \| string | no | Example: `"HTTP 500"` |
| `data.eventAvailable` | boolean | no | The event is still in this workspace's event history, so it can be redelivered. False once it has aged out: the attempt's log is kept longer than events are on some plans. |
| `data.createdAt` | string (date-time) | no |  |
| `data.request` | object | no |  |
| `data.request.url` | null \| string | no |  |
| `data.request.headers` | object | no |  |
| `data.request.body` | null \| string | no | The JSON body exactly as sent. |
| `data.response` | null \| object | no | Null when no answer arrived (a timeout, a refused connection). |
| `data.response.statusCode` | integer | no |  |
| `data.response.headers` | object | no |  |
| `data.response.body` | string | no | The first 4 KB of the answer. |