> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tracklysms.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Deliveries

> Inspect an endpoint's delivery log — what was sent, the response, and the retry state.

Every webhook attempt is logged. Use the delivery log to see what was sent to an endpoint and how it responded, then [replay](/api-reference/v2/webhooks/replay-delivery) anything your receiver missed.

## Path Parameters

<ParamField path="endpoint_id" type="string" required>
  The endpoint's id.
</ParamField>

## Query Parameters

<ParamField query="page" type="integer" default="1">Page number.</ParamField>
<ParamField query="per_page" type="integer" default="25">Page size, max 100.</ParamField>
<ParamField query="state" type="string">Filter by delivery state: `pending`, `delivered`, `failed`, or `dead`.</ParamField>

## Examples

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.tracklysms.com/api/v2/webhooks/66b0f7c84a1d4b2e9c3a1f2e/deliveries?state=dead" \
    -H "X-Api-Key: trk_your_api_key"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 — Success theme={null}
  {
    "deliveries": [
      {
        "id": "66d1a8d95b2e4c3f0d4b2e6f",
        "endpointId": "66b0f7c84a1d4b2e9c3a1f2e",
        "accountId": 1042,
        "eventId": "b2e0f7c8-4a1d-4b2e-9c3a-1f2e3d4c5b6a",
        "eventType": "message.delivered",
        "attemptCount": 6,
        "state": "dead",
        "statusCode": 500,
        "latencyMs": 143,
        "responseBodyPreview": "Internal Server Error",
        "lastError": "HTTP 500",
        "nextRetryAt": null,
        "createdAt": "2026-07-26T14:03:11Z",
        "updatedAt": "2026-07-26T18:03:11Z"
      }
    ],
    "page": 1,
    "perPage": 25,
    "total": 1
  }
  ```
</ResponseExample>

## Delivery states

| State       | Meaning                                                                                                   |
| ----------- | --------------------------------------------------------------------------------------------------------- |
| `pending`   | Scheduled for retry.                                                                                      |
| `delivered` | A 2xx was received.                                                                                       |
| `failed`    | The attempt failed and is orphaned — needs a manual [replay](/api-reference/v2/webhooks/replay-delivery). |
| `dead`      | The retry budget is exhausted.                                                                            |

## Error Codes

| HTTP Status | Error Code          | Description                              |
| ----------- | ------------------- | ---------------------------------------- |
| 400         | `validation_failed` | Invalid `state`.                         |
| 404         | `not_found`         | No endpoint with that id on the account. |
