# GET /v1/webhook-endpoints/:endpointId/deliveries (/docs/api/reference/webhooks/list-deliveries)



<Endpoint method="GET" path="/v1/webhook-endpoints/{endpointId}/deliveries" auth="X-Api-Key" phase="1" />

Returns up to `limit` recent delivery attempts for this endpoint with attempt count, current status, last HTTP response, and error message. Payloads are omitted from the list response — call [replay](/docs/api/reference/webhooks/replay-delivery) to receive the payload at your endpoint again.

Use this to:

* See why an endpoint auto-paused (inspect `lastErrorMessage` / `lastResponseStatus` across recent rows).
* Verify a delivery your handler doesn't have a record of.
* Observe the retry ladder in action (a single `eventId` with multiple rows is a replay chain; a single row with `attempts > 1` is the automatic retry).

<Parameters
  title="Path"
  rows="[
  { name: 'endpointId', type: 'string (UUID)', required: true, description: '' },
]"
/>

<Parameters
  title="Query"
  rows="[
  { name: 'eventType', type: 'string', description: 'Filter to one event type.' },
  { name: 'status', type: 'string', description: &#x22;One of `pending`, `delivering`, `delivered`, `failed`, `abandoned`.&#x22; },
  { name: 'cursor', type: 'string', description: 'Opaque cursor from previous response.' },
  { name: 'limit', type: 'integer', description: 'Default 25, max 100.' },
]"
/>

## Example [#example]

```bash
curl "https://api.layers.com/v1/webhook-endpoints/d4c71b62-.../deliveries?status=failed&limit=10" \
  -H "X-Api-Key: $LAYERS_API_KEY"
```

<Response status="200" description="OK">
  ```json
  {
    "items": [
      {
        "id": "9b8a41e2-0cc6-4c7a-9f89-1a7d19a1c233",
        "endpointId": "d4c71b62-7f08-4dc9-9d2c-8f7e2b9c4411",
        "eventId": "evt_01KPM7QZEC6NJF4XJTCZRR6S3N",
        "eventType": "job.completed",
        "status": "failed",
        "attempts": 8,
        "nextRetryAt": "2026-04-21T18:28:00.000Z",
        "deliveredAt": null,
        "abandonedAt": "2026-04-21T18:28:00.000Z",
        "lastResponseStatus": 502,
        "lastResponseAt": "2026-04-21T18:28:00.000Z",
        "lastErrorMessage": null,
        "createdAt": "2026-04-20T18:28:00.000Z"
      }
    ],
    "nextCursor": null
  }
  ```
</Response>

## Errors [#errors]

| Status | Code        | When                                   |
| ------ | ----------- | -------------------------------------- |
| 404    | `NOT_FOUND` | Endpoint not owned by the calling org. |

## See also [#see-also]

* [Replay delivery](/docs/api/reference/webhooks/replay-delivery)
* [Webhooks overview](/docs/api/operational/webhooks)
