Skip to main content
GET
/
webhooks
/
{id}
/
deliveries
List deliveries
curl --request GET \
  --url https://xquik.com/api/v1/webhooks/{id}/deliveries \
  --header 'x-api-key: <api-key>'

Documentation Index

Fetch the complete documentation index at: https://docs.xquik.com/llms.txt

Use this file to discover all available pages before exploring further.

Free - does not consume credits
curl https://xquik.com/api/v1/webhooks/15/deliveries \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq

Path parameters

id
string
required
The webhook ID to retrieve deliveries for.

Headers

x-api-key
string
required
Your API key.

Operational handoff

Use this endpoint when your queue, CRM, warehouse, or alerting system needs to reconcile webhook delivery health. It returns the 100 most recent delivery records for one webhook, newest first. Store these fields for support and retry triage:

Delivery ID

Store id for delivery-level idempotency and support lookup.

Event Join

Store streamEventId to join back to the stored monitor event with GET /events/{id}.

Status Route

Use status to route pending, failed, and exhausted deliveries to the right queue.

Attempt Count

Use attempts to decide whether a failed delivery is early, repeated, or at the retry cap.

Receiver Result

Use lastStatusCode to separate receiver errors such as 500 from unreachable endpoints with status 0.

Failure Reason

Show lastError as the most recent failure reason for the operator.

Timing

Compare createdAt and deliveredAt to measure delivery latency and recovery time.
Failures retry up to 10 attempts with exponential backoff, starting at 1 second and capped at 60 seconds. A 410 Gone response marks the delivery exhausted immediately. Other non-2xx responses and network failures stay failed until they are delivered or exhaust all attempts. For incident response, page on exhausted, warn on repeated failed, and ignore delivered. Fix the receiving endpoint, then use POST /webhooks/{id}/test to confirm it accepts signed requests before waiting for the next production event.

Response

deliveries
array
List of delivery attempts, most recent first. Returns up to 100 deliveries.
{
  "deliveries": [
    {
      "id": "501",
      "streamEventId": "9001",
      "status": "delivered",
      "attempts": 1,
      "lastStatusCode": 200,
      "createdAt": "2026-02-24T14:22:01.000Z",
      "deliveredAt": "2026-02-24T14:22:02.000Z"
    },
    {
      "id": "502",
      "streamEventId": "9002",
      "status": "failed",
      "attempts": 3,
      "lastStatusCode": 500,
      "lastError": "HTTP 500",
      "createdAt": "2026-02-24T14:25:00.000Z"
    },
    {
      "id": "503",
      "streamEventId": "9003",
      "status": "exhausted",
      "attempts": 5,
      "lastStatusCode": 503,
      "lastError": "HTTP 503",
      "createdAt": "2026-02-24T14:30:00.000Z"
    },
    {
      "id": "504",
      "streamEventId": "9004",
      "status": "pending",
      "attempts": 0,
      "createdAt": "2026-02-24T14:35:00.000Z"
    }
  ]
}

Delivery statuses

pending

Delivery is queued and waiting for the next attempt.

delivered

Your endpoint returned 2xx. Delivery is complete.

failed

The most recent attempt failed because the endpoint returned non-2xx or the network request failed. Xquik retries with exponential backoff.

exhausted

All retry attempts have been used. Xquik will not retry this delivery. Check the receiver endpoint and create a new webhook if needed.
Deliveries follow an exponential backoff retry schedule. After each failed attempt, the wait time increases. Once all retries are exhausted, the status transitions to exhausted and no further attempts are made.
Last modified on May 11, 2026