---
title: "List the webhook's deliveries."
method: GET
path: "/api/webhook/deliveries"
tags: ["Webhook"]
---

# List the webhook's deliveries.

`GET /api/webhook/deliveries`

## Request

- Base URL: `/` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/api/webhook/deliveries`
- Auth: HTTP bearer

Lists the user's webhook deliveries, newest first, with each one's status, attempts, last error, and when it was queued, last changed, is next due, and was delivered, so a failing webhook can be diagnosed. The secret and the event body are not included. A delivery that ended, delivered or failed, is kept for WEBHOOK_DELIVERIES_TTL_SECONDS (30 days by default). Paged with offset and limit (25 by default, at most 100). Admins may list another user's deliveries via the owner parameter. Requires the `webhooks:read` scope.

## Query parameters

- `owner` string
- `order` string
- `offset` integer
- `limit` integer

## Headers

- `Authorization` string, required

## Response `200`

A page of deliveries and the total.

- WebhookDeliveriesResponse
  - `deliveries` WebhookDeliveryView[]: The deliveries on this page, newest first.
    - `url` string: Where the delivery is sent: the webhook URL when the event was queued.
    - `attempts` integer: How many attempts have been made.
    - `createdAt` string, date-time: When the event was queued.
    - `deliveredAt` string, date-time: When the receiver accepted the delivery.
    - `documentId` string: The document the event is about.
    - `event` string: The event: DOCUMENT_REDACTION_COMPLETE or DOCUMENT_REDACTION_FAILED.
    - `id` string: The delivery's id, sent as X-Philter-Delivery-Id with each attempt.
    - `lastError` string: Why the most recent attempt failed, or null.
    - `nextAttemptAt` string, date-time: When the next attempt is due, for a delivery that is PENDING.
    - `status` 'PENDING' | 'PROCESSING' | 'DELIVERED' | 'FAILED': PENDING (waiting for its next attempt), PROCESSING (being sent), DELIVERED, or FAILED (every attempt failed).
    - `updatedAt` string, date-time: When the delivery last changed.
  - `total` integer: How many deliveries the user has.

## Other responses

- `400`: Bad Request
- `401`: The Authorization header is absent or the API key is not recognized.
- `403`: The key does not hold webhooks:read.
- `404`: The owner does not exist, or the caller may not reach it.
- `406`: No representation matches Accept.
- `413`: Content Too Large
- `415`: Unsupported Media Type
- `500`: Internal Server Error
- `503`: Service Unavailable

## Changes

- **2026-10-10** `c4f85daa9208`: 14 info
  - added the optional property `field` to the response with the `400` status
  - added the optional property `field` to the response with the `401` status
  - added the optional property `field` to the response with the `403` status
  - added the optional property `field` to the response with the `413` status
  - …10 more
- **2026-10-10** `1e983a7188bf`: 1 info
  - added the new optional `query` request parameter `order`
- **2026-10-10** `b0989dc2f6bf`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/philterd/apis/philter-api/changes/api/webhook/deliveries/get.md)

---

[API](https://skmtc.dev/philterd/apis/philter-api.md) - [All operations](https://skmtc.dev/philterd/apis/philter-api/llms.txt) - [OpenAPI document](https://skmtc.dev/philterd/apis/philter-api/revisions/aa3d7ad1aab4?raw)
