---
title: "List webhook deliveries"
canonical_url: https://docs.zvid.io/docs/endpoints/list-webhook-deliveries/
source: docs/endpoints/list-webhook-deliveries.api.mdx
content_revision: 6338386a1dd87e4a
---

# List webhook deliveries

`GET /api/webhooks/{id}/deliveries`

Delivery log with status, attempts, and response codes.

## Authentication

- Option 1: `x-api-key: YOUR_API_KEY` (header). API key for authentication. Create one in your dashboard.
- Option 2: `Authorization: Bearer YOUR_ACCESS_TOKEN`. Dashboard JWT in Authorization: Bearer &lt;token>, only on operations that explicitly list this scheme. Prefer x-api-key for REST integrations. OAuth for hosted MCP is a separate connection at https://mcp.zvid.io/mcp.

Create API keys at [app.zvid.io/api-keys](https://app.zvid.io/api-keys). Keep credentials on your server.

## Parameters

| Parameter | Location | Type | Required | Description and constraints |
| --- | --- | --- | --- | --- |
| `id` | path | string | Yes |  |
| `page` | query | integer | No |  |
| `limit` | query | integer | No | Default: `20`. Minimum: `1`. Maximum: `100`. |

## Request

The shell examples read credentials from `ZVID_API_KEY` (or `ZVID_ACCESS_TOKEN` for Bearer authentication). Set that variable in your environment. Replace sample project, template, job, and asset identifiers with values from your own account.

This operation does not take a request body.

### Request example

```bash
curl --request GET 'https://api.zvid.io/api/webhooks/YOUR_ID/deliveries' \
  --header "x-api-key: $ZVID_API_KEY"
```

## Responses


### HTTP 200

Delivery attempts

Content type: `application/json`.

Required properties: `deliveries`.

| Field | Type | Required | Description and constraints |
| --- | --- | --- | --- |
| `response.deliveries` | array of [WebhookDelivery](#schema-webhook-delivery) | Yes |  |

**Nested field: `response.deliveries`**

**Array item: `response.deliveries[]`**

Schema: [WebhookDelivery](#schema-webhook-delivery).


**Representative successful response response**

```json
{
  "deliveries": [
    {
      "id": 123,
      "jobId": "550e8400-e29b-41d4-a716-446655440000",
      "event": "render.completed",
      "status": "success",
      "attempts": 1,
      "responseStatus": 200
    }
  ]
}
```

## Schema definitions

The following definitions describe the fields referenced above. Expand a definition to inspect its complete contract.


### schema webhook delivery

**WebhookDelivery**


| Field | Type | Required | Description and constraints |
| --- | --- | --- | --- |
| `WebhookDelivery.id` | integer | No |  |
| `WebhookDelivery.jobId` | string | No |  |
| `WebhookDelivery.event` | string | No |  |
| `WebhookDelivery.url` | string | No |  |
| `WebhookDelivery.status` | string | No |  |
| `WebhookDelivery.attempts` | integer | No | Delivery attempts made (max 5, exponential backoff from 30s). |
| `WebhookDelivery.responseStatus` | integer OR null | No | At least one listed alternative must match. |
| `WebhookDelivery.errorMessage` | string OR null | No | At least one listed alternative must match. |
| `WebhookDelivery.createdAt` | string | No |  |
| `WebhookDelivery.deliveredAt` | string OR null | No | At least one listed alternative must match. |

**Nested field: `WebhookDelivery.responseStatus`**

At least one listed alternative must match.

**anyOf alternative 1**

Type: integer.

**anyOf alternative 2**

Type: null.

**Nested field: `WebhookDelivery.errorMessage`**

At least one listed alternative must match.

**anyOf alternative 1**

Type: string.

**anyOf alternative 2**

Type: null.

**Nested field: `WebhookDelivery.deliveredAt`**

At least one listed alternative must match.

**anyOf alternative 1**

Type: string.

**anyOf alternative 2**

Type: null.


## Related resources

- [OpenAPI specification](https://docs.zvid.io/openapi.yaml)
- [Project payload schema](https://docs.zvid.io/schemas/render-payload.schema.json)
- [Quick Start](https://docs.zvid.io/docs/quick-start/)
- [Authentication guide](https://docs.zvid.io/docs/authentication/)
