Version
READ

list_webhook_deliveries

The team's outbound webhook delivery log, newest first — what was posted, what the endpoint answered, and where each row is on the retry ladder.

Every event Subscriby posts to one of the team's endpoints is a delivery: one row per endpoint per event, with the signed envelope that was sent, the target's response status and an excerpt of its body, and the row's position on the retry ladder. This is the dashboard's delivery log over MCP, for seeing why a consumer rejected an event before deciding to retry_webhook_delivery or retry_dead_webhook_deliveries.

The status tabs

pending — queued or waiting for its next attempt; delivered — the target answered 2xx; failed — the last attempt failed and the ladder has more tries; dead — the ladder ran out, and only a retry brings it back. all is the default. Anything else is VALIDATION_FAILED.

The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.

Runs the same action as

The REST endpoint and this tool share one action, so validation, permissions and events are identical.

Annotations

Read-only

It reads and never changes anything.

Arguments

statusstringoptional

Tab of the delivery log: all, pending, delivered, failed or dead. Defaults to all.

limitintegeroptional

Maximum deliveries to return per page (1..100).

min1max100
pageintegeroptional

1-indexed page number.

min1

What it returns

{  "data": [    {      "id": "34f1d78e-05a2-4b69-8c3d-7e921ab06f45",      "endpoint_id": "c62a08f4-1b7d-4e35-9860-a37f5d21e0b9",      "event": "subscription.created",      "event_id": "01HXZ3Q8M7Y2K4N6P9R1T3V5W7",      "status": "failed",      "attempts": 2,      "response_status": 500,      "response_excerpt": "upstream unavailable",      "payload": {        "id": "evt_01HXZ3Q8M7Y2K4N6P9R1T3V5W7",        "type": "subscription.created",        "created_at": "2026-09-06T10:05:00+00:00",        "api_version": "2026-05-01",        "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13",        "data": { "subscription_id": "5b7e2d40-1a86-4c39-97f2-e83d0b16c5a4" }      },      "next_attempt_at": "2026-09-06T10:15:00+00:00",      "delivered_at": null,      "dead_lettered_at": null,      "created_at": "2026-09-06T10:05:00+00:00"    }  ],  "meta": {    "page": 1,    "limit": 25,    "total": 312,    "has_more": true  }}

payload is the envelope exactly as the endpoint received it, so a consumer's bug can be reproduced from the log. response_excerpt is the first few kilobytes of the target's body, not the whole response.

How it fails

VALIDATION_FAILED

status is not one of the five tabs, or limit/page is out of range.

AUTHENTICATION_REQUIRED

no authenticated user on the request.

TOKEN_MISSING_ABILITY

token lacks webhook-delivery:view-any.

How is this guide?

Last updated on