# List deliveries

Source: https://checkslip.com/en/docs/list-deliveries

GET `https://api.checkslip.com/api/webhooks/deliveries`

API key

The account's deliveries, newest first, filterable by endpoint_id, status, event_type, since and until. status is PENDING, RETRYING, SUCCEEDED, FAILED or CANCELLED. FAILED means 8 attempts over about 27.5 hours got no 2xx, or your system answered 410. Deliveries are kept for 30 days. Use next_cursor for the next page; there is no total. Needs an API key with webhook:read.

## Parameters

| Field | In | Type | Required |
| --- | --- | --- | --- |
| `traceparent` | header | `string` | no |
| `endpoint_id` | query | `string` | no |
| `status` | query | `PENDING \| RETRYING \| SUCCEEDED \| FAILED \| CANCELLED` | no |
| `event_type` | query | `slip.checked \| webhook.test` | no |
| `since` | query | `string (date-time)` | no |
| `until` | query | `string (date-time)` | no |
| `limit` | query | `integer` | no |
| `cursor` | query | `string` | no |

## Responses

### 200 `application/json`

| Field | Type | Required |
| --- | --- | --- |
| `items` | `Delivery[]` | yes |
| `items[].id` | `string` | yes |
| `items[].message_id` | `string` | yes |
| `items[].endpoint_id` | `string` | yes |
| `items[].event_type` | `slip.checked \| webhook.test` | yes |
| `items[].request_id` | `string (uuid) \| null` | yes |
| `items[].status` | `PENDING \| RETRYING \| SUCCEEDED \| FAILED \| CANCELLED` | yes |
| `items[].attempt_count` | `integer` | yes |
| `items[].next_attempt_at` | `string (date-time) \| null` | yes |
| `items[].last_attempt_at` | `string (date-time) \| null` | yes |
| `items[].last_http_status` | `integer \| null` | yes |
| `items[].created_at` | `string (date-time)` | yes |
| `next_cursor` | `string \| null` | yes |

### Possible errors

400 401 403

An error as Problem Details. All codes are listed at [Error codes](https://checkslip.com/en/docs/errors)

**cURL**

```bash
curl https://api.checkslip.com/api/webhooks/deliveries \
  -H "Authorization: Bearer $CHECKSLIP_API_KEY"
```

**Node.js**

```javascript
const res = await fetch("https://api.checkslip.com/api/webhooks/deliveries", {
  headers: {
    Authorization: `Bearer ${process.env.CHECKSLIP_API_KEY}`,
  },
});
const data = await res.json();
```

**Python**

```python
import os

import requests

res = requests.get(
    "https://api.checkslip.com/api/webhooks/deliveries",
    headers={
        "Authorization": f"Bearer {os.environ['CHECKSLIP_API_KEY']}",
    },
)
data = res.json()
```

```json
{
  "items": [
    {
      "id": "string",
      "message_id": "string",
      "endpoint_id": "string",
      "event_type": "slip.checked",
      "request_id": "0b6c2f5e-8a41-4d1e-9c3a-5f7e2d18a6b4",
      "status": "PENDING",
      "attempt_count": 1,
      "next_attempt_at": "2026-11-05T09:30:00+07:00",
      "last_attempt_at": "2026-11-05T09:30:00+07:00",
      "last_http_status": 1,
      "created_at": "2026-11-05T09:30:00+07:00"
    }
  ],
  "next_cursor": "string"
}
```
