---
title: "GET /webhooks/{webhookId}/deliveries"
method: GET
path: "/webhooks/{webhookId}/deliveries"
---

# GET /webhooks/{webhookId}/deliveries

`GET /webhooks/{webhookId}/deliveries`

## Request

- Base URL: `https://api.useanima.sh/v1`
- URL: `https://api.useanima.sh/v1/webhooks/{webhookId}/deliveries`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

## Path parameters

- `webhookId` string, required: Filter deliveries to this specific webhook

## Query parameters

- `cursor` string: Opaque cursor from a previous response to fetch the next page
- `limit` integer: Maximum number of items to return per page (1–100, default 20)

## Response `200`

OK

- object: Paginated list of webhook delivery records
  - `items` object[], required: Array of webhook delivery records in the current page
    - `id` string, required: Unique identifier for this delivery attempt record
    - `webhookId` string, required: Webhook subscription this delivery belongs to
    - `messageId` string, nullable, required: Associated message ID if the event is message-related
    - `event` 'message.received' | 'message.received.auto' | 'message.sent' | 'message.failed' | 'message.bounced' | 'message.loop_detected' | 'agent.created' | 'agent.updated' | 'agent.deleted' | 'phone.provisioned' | 'phone.released' | 'call.summary.ready' | 'call.score.ready' | 'call.security.alert' | 'call.security.scan.ready' | 'call.started' | 'call.ended' | 'a2a.task.received' | 'vault.credential.refresh_failed', required: Event type that triggered this delivery
    - `payload` object, required: JSON payload that was sent to the webhook endpoint
    - `statusCode` integer, nullable, required: HTTP status code returned by the endpoint, null if delivery failed
    - `responseBody` string, nullable, required: Response body returned by the endpoint, null if delivery failed
    - `attempts` integer, required: Number of delivery attempts made so far
    - `maxAttempts` integer, required: Maximum number of delivery attempts before giving up
    - `nextAttemptAt` string, date-time, nullable, required: ISO 8601 timestamp of the next scheduled retry, null if completed or exhausted
    - `completedAt` string, date-time, nullable, required: ISO 8601 timestamp when delivery succeeded or was abandoned
    - `status` 'PENDING' | 'IN_FLIGHT' | 'SUCCEEDED' | 'RETRYING' | 'DEAD_LETTERED', required: Lifecycle status of this delivery attempt
    - `lastError` string, nullable, required: Last error message if the delivery is retrying or dead-lettered
    - `deadLetteredAt` string, date-time, nullable, required: When the delivery moved to the DLQ (null if still in flight or succeeded)
    - `createdAt` string, date-time, required: ISO 8601 timestamp when the delivery was first attempted
  - `pagination` object, required: Cursor-based pagination metadata
    - `nextCursor` string, nullable, required: Cursor to pass as the `cursor` parameter to retrieve the next page, or null if no more results
    - `hasMore` boolean, required: Whether additional pages of results are available

---

[API](https://skmtc.dev/useanima/apis/anima-api.md) · [All operations](https://skmtc.dev/useanima/apis/anima-api/llms.txt) · [OpenAPI document](https://skmtc.dev/useanima/apis/anima-api/revisions/aaa148188980?raw)
