---
title: "List Webhook Deliveries"
method: GET
path: "/v1/webhooks/{webhook_id}/deliveries"
tags: ["Webhooks"]
---

# List Webhook Deliveries

`GET /v1/webhooks/{webhook_id}/deliveries`

## Request

- Base URL: `https://api.puntersedge.online`
- URL: `https://api.puntersedge.online/v1/webhooks/{webhook_id}/deliveries`
- Auth: API key in header `X-API-Key`

Your subscription's delivery log, newest first.

With no parameters this is the newest 50 rows, exactly as it has always been. `since`,
`status`, `limit` (up to 200) and `cursor` page through older rows: when a page is full the
response carries an `X-Next-Cursor` header to pass back as `cursor`. `include=attempts` adds
an `attempts` list to each row (time, status code, error and latency of every POST), filled
for rows written by the delivery queue.

Delivery is at-least-once: the same event can arrive more than once, so deduplicate on `event_id` (in the body, and sent as the `X-PuntersEdge-Id` and `Idempotency-Key` headers). There is no ordering guarantee between events. Each delivery carries `X-PuntersEdge-Timestamp`, `X-PuntersEdge-Attempt` and two signatures: `X-Webhook-Signature: sha256=<hex>` (HMAC-SHA256 of the raw body with your secret) and `X-PuntersEdge-Signature: t=<unix seconds>,v1=<hex>` (HMAC-SHA256 of `<t>.<raw body>`; refuse a `t` more than 5 minutes from now to block replays). Any 2xx answer is success. A 5xx, 408, 429, timeout or connection failure is retried after 1 min, 5 min, 30 min, 2 h, 6 h (6 tries in all, about 8.5 hours), honouring `Retry-After` up to the next step; any other answer is final. After 10 consecutive undeliverable events, or a day of continuous failure, the subscription is paused and the owner is emailed; POST /v1/webhooks/{id}/resume restarts it with the same secret, and POST /v1/webhooks/{id}/replay re-sends what was missed. The delivery log returns the newest 50 rows unless `limit` says otherwise.

## Path parameters

- `webhook_id` string, required

## Query parameters

- `since` string, nullable: Only rows recorded at or after this ISO-8601 time, e.g. 2026-10-13T06:00:00Z.
- `status` string, nullable: Only rows with this status.
- `limit` integer: Rows per page, newest first (max 200).
- `cursor` string, nullable: The `X-Next-Cursor` response header of the previous page, to read the next one.
- `include` string, nullable: `attempts` adds each row's per-attempt detail.

## Headers

- `X-API-Key` string
- `X-RapidAPI-Proxy-Secret` string

## Response `200`

Successful Response

- WebhookDeliveryResponse[]
  - `id` string, required
  - `webhook_id` string, required
  - `event_type` string, required
  - `payload` unknown, required
  - `status` string: delivered (receiver answered 2xx) or failed (every attempt refused or the answer was final, see `error`). Rows written before 2026-09-03 read `pending`.
  - `attempt_count` integer: POST attempts made for this row: at most 2, or at most 6 when the delivery queue is enabled.
  - `status_code` integer, nullable, required
  - `error` string, nullable, required
  - `delivered_at` string, nullable, required
  - `attempts` WebhookAttempt[], nullable: Per-attempt detail, only with `include=attempts`.
    - `attempt` integer, required
    - `started_at` string, nullable, required
    - `finished_at` string, nullable, required
    - `status_code` integer, nullable, required
    - `error` string, nullable, required
    - `latency_ms` integer, nullable, required

## Other responses

- `401`: Missing or invalid API key. Send `X-API-Key`. See https://puntersedge.online/developers/errors
- `402`: Monthly credit allowance exhausted for this plan. Upgrade at https://puntersedge.online/api/pricing
- `422`: Validation Error
- `429`: Rate limit exceeded for this plan. Honour the `Retry-After` header (seconds) before retrying. See https://puntersedge.online/developers/rate-limits
- `500`: Unexpected server error. Safe to retry with backoff.

---

[API](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api.md) · [All operations](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/llms.txt) · [OpenAPI document](https://skmtc.dev/puntersedge/apis/puntersedge-odds-api/revisions/f35b6aab1946?raw)
