---
title: "List webhook deliveries"
method: GET
path: "/v1/webhooks/deliveries"
tags: ["webhooks"]
---

# List webhook deliveries

`GET /v1/webhooks/deliveries`

## Request

- Base URL: `https://api.brixsignage.com`
- URL: `https://api.brixsignage.com/v1/webhooks/deliveries`
- Auth: HTTP bearer

List the webhook delivery log: what was sent, the response received, the number of attempts, and what is still pending. Each entry includes the exact payload that was sent. Results are paginated and can be filtered by endpoint and status. Failed deliveries are retried with increasing delay over roughly 8 to 12 hours before they are given up on.

**Notes.**
- Always paged: without `?limit` a page has 50 deliveries (not every row, unlike the lists that page only on request), and `nextCursor` is always present.
- Needs the permission at the workspace root: a location-scoped key is refused.

## Query parameters

- `limit` string
- `cursor` string
- `endpointId` string
- `status` 'pending' | 'delivered' | 'failed' | 'abandoned'

## Response `200`

Success.

- object
  - `data` WebhookDelivery[], required: Newest first.
    - `id` string, required: Webhook delivery id.
    - `endpointId` string, required
    - `event` string, required
    - `status` 'pending' | 'delivered' | 'failed' | 'abandoned', required: `failed` is retried later; `abandoned` is not retried again.
    - `attempts` integer, required
    - `occurredAt` string, required: ISO-8601 timestamp (UTC).
    - `createdAt` string, required: ISO-8601 timestamp (UTC).
    - `nextAttemptAt` string, nullable, required: ISO-8601 timestamp (UTC).
    - `deliveredAt` string, nullable, required: ISO-8601 timestamp (UTC).
    - `responseStatus` integer, nullable, required
    - `error` string, nullable, required
    - `replayOf` string, nullable, required: Set on a delivery made by a replay: the delivery it resends.
    - `payload` object, nullable, required: The JSON body as it was sent to the receiver.
      - `deliveryId` string, required
      - `event` string, required
      - `occurredAt` string, required: ISO-8601 timestamp (UTC).
      - `workspaceId` string, required
      - `attempt` integer, required
      - `data` object, required: The event's own fields. A test send carries `{ test: true, note }`.
      - `replayOf` string: On a replay: the delivery it resends.
  - `nextCursor` string, nullable, required: Send it back as `?cursor=` for the next page; null on the last page.

## Other responses

- `401`: Missing, expired or revoked bearer token.
- `403`: The token lacks the permission this operation needs (see `x-brix-permission`).
- `5XX`: Server error. The body carries a `requestId` to quote to support.

---

[API](https://skmtc.dev/brixsignage/apis/brix-api.md) · [All operations](https://skmtc.dev/brixsignage/apis/brix-api/llms.txt) · [OpenAPI document](https://skmtc.dev/brixsignage/apis/brix-api/revisions/02fd3665dc7d?raw)
