get_webhook_delivery
One outbound webhook delivery by UUID — its event, status, attempts, the payload that was posted and what the endpoint answered.
Read one delivery back, typically the row test_webhook_endpoint
returned or one picked out of list_webhook_deliveries, to see
whether the worker has posted it yet and what the target said. The row shape is the list's.
Requires ability
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
It reads and never changes anything.
Arguments
delivery_id*stringUUID of the webhook delivery to fetch.
What it returns
{ "data": { "id": "34f1d78e-05a2-4b69-8c3d-7e921ab06f45", "endpoint_id": "c62a08f4-1b7d-4e35-9860-a37f5d21e0b9", "event": "subscription.created", "event_id": "01HXZ3Q8M7Y2K4N6P9R1T3V5W7", "status": "delivered", "attempts": 3, "response_status": 200, "response_excerpt": "{\"ok\":true}", "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": null, "delivered_at": "2026-09-06T10:31:00+00:00", "dead_lettered_at": null, "created_at": "2026-09-06T10:05:00+00:00" }}attempts counts every post made so far, so a delivered row with attempts: 3 succeeded on the
third try. event_id is the envelope's id without its evt_ prefix — the same value the
consumer saw in the SB-Event-Id header, which is how a row here is matched to a line in the
consumer's own log.
How it fails
RESOURCE_NOT_FOUNDunknown delivery_id, or a delivery to another team's endpoint.
AUTHENTICATION_REQUIREDno authenticated user on the request.
TOKEN_MISSING_ABILITYtoken lacks webhook-delivery:view-any.
How is this guide?
Last updated on