List Webhook Deliveries
List recent webhook delivery attempts for a bucket you own.
| Endpoint | Method | Admin Required |
|---|---|---|
/api/v1/buckets/:bucketName/notifications/deliveries | GET | No |
Lists the bucket's most recent webhook delivery attempts (both still-pending and dead-lettered failed rows), most-recent-first, capped at 100 - so you can see whether your webhooks are actually being delivered, and why a delivery is stuck or has failed. See Webhooks for the retry/backoff behavior these deliveries follow.
Successfully delivered events aren't listed here - a delivery row only exists while it's pending its first attempt or retrying, and is removed as soon as it succeeds.
Path Parameters
bucketName
string required
The name of the bucket.
Response
{
"deliveries": [
{
"id": "1a2b3c4d-0000-0000-0000-000000000000",
"ruleId": "6ff08747-4ec0-48fd-a0b1-f5adda6d3161",
"url": "https://example.com/webhook",
"state": "failed",
"attempts": 8,
"nextAttemptAt": "2026-07-02T16:27:42.503Z",
"lastError": "HTTP 503",
"createdAt": "2026-07-02T15:27:42.503Z"
}
]
}
Response Fields
id
string
The delivery's id - pass this to Retry Webhook Delivery to requeue it.
ruleId
string
The webhook rule this delivery belongs to.
url
string
The target URL - snapshotted at the time the event was queued, so it stays accurate even if the rule's URL has since changed.
state
string
pending (still retrying) or failed (retries exhausted, dead-lettered).attempts
integer
Number of delivery attempts made so far.
nextAttemptAt
string
When the next retry is scheduled (only meaningful while
state is pending).lastError
string
The reason the most recent attempt failed - an HTTP status (e.g.
HTTP 503) or a transport error description. null if no attempt has failed yet.createdAt
string
When the event was originally queued.
Errors
| Status | Reason |
|---|---|
400 | Missing bucket name |
404 | Bucket not found (or not owned by you) |