---
title: "List webhook deliveries"
method: GET
path: "/tenants/{tenantId}/webhooks/{webhookId}/deliveries"
tags: ["Webhooks"]
---

# List webhook deliveries

`GET /tenants/{tenantId}/webhooks/{webhookId}/deliveries`

Get a paginated list of delivery attempts for a specific webhook.

Use this to:
- Monitor webhook health and delivery success rate
- Debug failed deliveries
- Find specific events to replay

**Filtering:**
- Filter by success/failure to find problematic deliveries
- Filter by event type to find specific events
- Filter by time range for debugging recent issues

**Retry behavior:**
Failed deliveries are automatically retried with exponential backoff over ~3 days.
Check `willRetry` to see if more attempts are scheduled.

## Query parameters

- `page` integer
- `perPage` integer
- `success` boolean
- `event` 'MessageSent' | 'MessageDelayed' | 'MessageDeliveryFailed' | 'MessageHeld' | 'MessageBounced' | 'MessageLinkClicked' | 'MessageLoaded' | 'DomainDNSError'
- `before` integer
- `after` integer

## Response `200`

List of webhook deliveries

- ListWebhookDeliveriesResponse — Paginated list of webhook delivery attempts
  - `data` WebhookDeliverySummary[], required
    - `id` string, required — Unique delivery ID (UUID)
    - `webhookId` string, required — ID of the webhook this delivery belongs to
    - `event` 'MessageSent' | 'MessageDelayed' | 'MessageDeliveryFailed' | 'MessageHeld' | 'MessageBounced' | 'MessageLinkClicked' | 'MessageLoaded' | 'DomainDNSError', required — Event type that triggered this delivery
    - `url` string, uri, required — URL the webhook was delivered to
    - `statusCode` integer, nullable, required — HTTP status code returned by the endpoint (null if connection failed)
    - `success` boolean, required — Whether the delivery was successful (2xx response)
    - `attempt` integer, required — Attempt number (1 for first attempt, increments with retries)
    - `willRetry` boolean, required — Whether this delivery will be retried (true if failed and retries remaining)
    - `timestamp` string, date-time, required — When this delivery attempt occurred
  - `page` integer, required — Current page number
  - `perPage` integer, required — Items per page
  - `total` integer, required — Total number of deliveries matching the filter
  - `totalPages` integer, required — Total number of pages
  - `meta` ApiMeta, required
    - `requestId` string, required — Unique request identifier for debugging and support

## Other responses

- `401` — Invalid or missing API key
- `404` — Resource not found
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/arkhq-io/apis/ark-email-api.md) · [All operations](https://skmtc.net/arkhq-io/apis/ark-email-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arkhq-io/ark-email-api/revisions/98a90852ffca/schema)
