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

# List webhook deliveries

`GET /sender/webhooks`

Returns the authenticated sender's webhook delivery log, newest first.
Use this to audit which events were delivered and to find failed or expired
deliveries to replay. List items omit the large `requestPayload` and
`responseBody` fields — fetch a single delivery to see them.

## Query parameters

- `status` 'pending' | 'success' | 'failed' | 'expired'
- `event` string
- `event_id` string
- `order_id` string, uuid
- `from` string, date-time
- `to` string, date-time
- `page` integer
- `pageSize` integer

## Response `200`

List of webhook deliveries

- object
  - `status` string
  - `data` WebhookDeliveryList
    - `total` integer
    - `page` integer
    - `pageSize` integer
    - `deliveries` WebhookDelivery[]
      - `id` string, uuid — Unique ID of this delivery record.
      - `event` 'payment_order.deposited' | 'payment_order.pending' | 'payment_order.validated' | 'payment_order.settling' | 'payment_order.settled' | 'payment_order.refunding' | 'payment_order.refunded' | 'payment_order.expired' — The webhook event that was delivered.
      - `eventId` string — Identifier of the underlying event (matches the `event_id` filter).
      - `orderId` string, uuid — The payment order this delivery relates to, if any.
      - `status` 'pending' | 'success' | 'failed' | 'expired' — Delivery status. `pending` — queued or awaiting retry; `success` — the endpoint returned a 2xx; `failed` — a transport error or non-2xx response, scheduled for retry; `expired` — gave up after the 24h retry window.
      - `trigger` 'automatic' | 'cron_retry' | 'manual_sync' | 'manual_async' — What produced this attempt. `automatic` — first send on the event; `cron_retry` — automatic backoff retry; `manual_sync`/`manual_async` — a sender-initiated retry via the retry endpoint.
      - `httpStatusCode` integer — HTTP status code returned by your endpoint (0 if no response was received).
      - `attemptNumber` integer — 1-based attempt counter for this delivery.
      - `destinationUrl` string, uri — The webhook URL the request was sent to.
      - `signature` string — The `X-Paycrest-Signature` (HMAC-SHA256 hex) sent with the request.
      - `errorMessage` string — Transport or HTTP error message, if the attempt failed.
      - `durationMs` integer — Round-trip duration of the attempt, in milliseconds.
      - `nextRetryTime` string, date-time — When the next automatic retry is scheduled (null once delivered or expired).
      - `createdAt` string, date-time
      - `updatedAt` string, date-time

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/paycrest/apis/paycrest-aggregator-api.md) · [All operations](https://skmtc.net/paycrest/apis/paycrest-aggregator-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/paycrest/paycrest-aggregator-api/revisions/f20903971a91/schema)
