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

# List webhook deliveries

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

## Request

- Base URL: `https://api.arkhq.io/v1`
- URL: `https://api.arkhq.io/v1/tenants/{tenantId}/webhooks/{webhookId}/deliveries`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/arkhq-io/apis/ark-email-api/docs/tenants/:tenantId/webhooks/:webhookId/deliveries/get.ts> (a function with typed inputs; its response is checked against the schema)

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

## Changes

- **2026-02-08** `37bce0c9a4d7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/arkhq-io/apis/ark-email-api/changes/tenants/:tenantId/webhooks/:webhookId/deliveries/get.md)

---

[API](https://skmtc.dev/arkhq-io/apis/ark-email-api.md) - [All operations](https://skmtc.dev/arkhq-io/apis/ark-email-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arkhq-io/apis/ark-email-api/revisions/98a90852ffca?raw)
