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

# List Deliveries

> Lists a webhook's deliveries of the last 15 days, newest event first

```
GET /openapi/memorylake/admin/v1/webhooks/{webhook_id}/deliveries
```

Lists a webhook's deliveries of the last 15 days, newest event first. One delivery is one event sent to this webhook; automatic retries and resends are further attempts of the same delivery.

> [!NOTE]
>
> **Permission required:** `webhook:manage`

### Path Parameters

**webhook\_id** `string` *required*

Identifier of the webhook

### Query Parameters

**result** `string`

Only deliveries with this result; failed includes those still retrying. One of: `succeeded`, `failed`, `skipped`.

**event\_type** `string`

Only this event type

**page\_size** `integer` (default: 20)

Items per page (1–100)

**continuation\_token** `string`

Token from the previous page

```bash cURL theme={null}
curl -X GET 'https://app.memorylake.ai/openapi/memorylake/admin/v1/webhooks/16522a01eaa7b9feef48caafb0b487a5/deliveries' \
  -H 'Authorization: Bearer sk_xxxxxx'
```

### Response

**data** `object`

**Load More Response Webhook Delivery object**

**items** `array`

List of items in the current page

**Webhook Delivery object**

**attempts** `integer`

Attempts made so far

**created\_at** `integer`

When the event happened, Unix seconds

**delivery\_id** `integer`

Identifier of the delivery

**event\_id** `string`

Event identifier sent in the webhook-id header; unchanged across retries and resends

**event\_type** `string`

Event type; webhook.test for test events

**status** `string`

pending = queued, no result yet; retrying = failed, the next retry is at next\_attempt\_at; skipped = not sent because the webhook was disabled. One of: `pending`, `retrying`, `succeeded`, `failed`, `skipped`.

**duration\_ms** `integer`

Duration of the latest attempt in milliseconds

**error\_kind** `string`

Why the latest attempt got no response. One of: `timeout`, `connect`.

**last\_attempt\_at** `integer`

Time of the latest attempt, Unix seconds

**next\_attempt\_at** `integer`

When the next automatic retry is due, Unix seconds

**status\_code** `integer`

HTTP status of the latest response

**continuation\_token** `string`

Token to fetch the next page; absent on the last page

**total** `integer`

Total number of items matching the filter across all pages; omitted when the count is unavailable

```json Success (200) theme={null}
{
  "success": true,
  "message": "Operation completed successfully",
  "data": {
    "items": [
      {
        "attempts": 1,
        "created_at": 1760000000,
        "delivery_id": 1,
        "event_id": "8085a81b91bad7009b3fd09854461edf",
        "event_type": "example",
        "status": "pending",
        "duration_ms": 1,
        "error_kind": "timeout",
        "last_attempt_at": 1760000000,
        "next_attempt_at": 1760000000,
        "status_code": 1
      }
    ],
    "continuation_token": "eyJvZmZzZXQiOjIwfQ",
    "total": 1
  }
}
```

### Errors

Errors answer with `success: false`, a `message` and an `error_code`. See [Error Codes](https://docs.memorylake.ai/features/memorylake/api-reference/errors.md) for every code.

| Status | Meaning |
| - | - |
| `400` | A parameter or the body is invalid |
| `401` | The API key is missing, invalid, disabled or expired |
| `403` | The key is not allowed to do this |
| `404` | The resource does not exist |
| `422` | The body or a parameter failed validation |
| `429` | Too many requests. Wait for the time in `Retry-After` |
| `500` | Server-side error |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.