# List deliveries
Source: https://www.desktopaccountingapi.com/docs/api/reference/operations/webhookendpointslistdeliveries/

`GET https://api.desktopaccountingapi.com/v1/webhook-endpoints/{id}/deliveries`

Operation ID: `webhookEndpoints.listDeliveries`. Tag: Webhooks.

Returns the endpoint's deliveries (kept 30 days), newest first, each with every attempt: status code, latency, a response excerpt and the error.

Authentication: `Authorization: Bearer <secret key>`.

## Path parameters

- `id` (string, required): Unique identifier for the webhook endpoint. example `whe_01j9x4m6v4c8k2t7q0r5s3w1zg`.

## Query parameters

- `cursor` (string): The `nextCursor` from the previous page. 1–200 characters.
- `limit` (integer): Page size, 1–100. Default 50. 1 to 100; default `50`; example `50`.
- `status` (string): Only deliveries in this status. one of `pending`, `succeeded`, `failed`.

## Responses

### 200

A page of deliveries.

Body (application/json): object (WebhookDeliveryList).

- `objectType` (string, required): Always `list`. one of `list`.
- `url` (string, required): The endpoint that produced this list. one of `/v1/webhook-endpoints/{id}/deliveries`.
- `data` (array of object (WebhookDelivery), required): Objects on this page, newest first.
  - `id` (string, required): Unique identifier for the delivery of one event to one endpoint. example `whd_01j9x4m6v4c8k2t7q0r5s3w1zj`.
  - `objectType` (string, required): Always `webhook_delivery`. one of `webhook_delivery`.
  - `createdAt` (string (date-time), required): When the delivery was created. UTC, ISO 8601 with milliseconds. example `2026-10-05T16:03:59.002Z`.
  - `endpointId` (string, required): Unique identifier for the webhook endpoint. example `whe_01j9x4m6v4c8k2t7q0r5s3w1zg`.
  - `eventId` (string, required): Unique identifier for the event. Also sent as the `webhook-id` header; deduplicate on it. example `evt_01j9x4m6v4c8k2t7q0r5s3w1zh`.
  - `eventType` (string, required): The event type (including `webhook.test`). example `request.succeeded`.
  - `status` (string, required): `pending` while attempts remain, `succeeded` after a 2xx, `failed` after the last scheduled attempt (dead-lettered). one of `pending`, `succeeded`, `failed` (open: accept unknown values).
  - `attemptCount` (integer, required): Attempts made so far (at most 8).
  - `nextAttemptAt` (string, nullable, required): When the next attempt is scheduled. UTC, ISO 8601.
  - `completedAt` (string, nullable, required): When the delivery succeeded or failed for good. UTC, ISO 8601.
  - `attempts` (array of object (WebhookDeliveryAttempt), required): Every attempt, oldest first.
    - `attempt` (integer, required): Attempt number, starting at 1.
    - `at` (string (date-time), required): When the attempt started. UTC, ISO 8601 with milliseconds. example `2026-10-05T16:03:59.002Z`.
    - `statusCode` (integer, nullable, required): HTTP status your endpoint returned; `null` when no response arrived.
    - `latencyMs` (integer, nullable, required): Milliseconds until the response.
    - `responseExcerpt` (string, nullable, required): First 512 characters of the response body.
    - `error` (string, nullable, required): Why the attempt failed: `non_2xx_status`, `timeout`, `redirect_not_followed`, `network_error: ...` or `blocked_destination: ...`.
- `nextCursor` (string, nullable, required): Pass as `cursor` to fetch the next page; `null` on the last page.
- `hasMore` (boolean, required): Whether another page exists.
- `remainingCount` (integer, nullable, required): Always `null` for platform lists.
- `cursorExpiresAt` (string, nullable, required): Always `null`: platform cursors do not expire.

### Errors

Every error body is the error object described at https://www.desktopaccountingapi.com/docs/errors/.

- `400`: The request is invalid. Codes: `UNKNOWN_HEADER`, `INVALID_PARAMETER`, `CURSOR_INVALID`.
- `401`: The API key is missing or invalid. Codes: `API_KEY_MISSING`, `API_KEY_INVALID`.
- `404`: The object does not exist in this project. Codes: `RESOURCE_MISSING`.
- `429`: Too many requests. Codes: `RATE_LIMITED`.
- `500`: Unexpected server error. Codes: `INTERNAL_ERROR`.
- `503`: QuickBooks Desktop or the service is not available. Codes: `SERVICE_UNAVAILABLE`.
