RinghouseAPI reference
Get started

Webhooks

List deliveries

What was sent to this webhook, and how each one went.

GET/v1/webhooks/{webhook_id}/deliveries

Needs the webhooks:write scope.

Path parameters

webhook_idstringrequired
Webhook id

Query parameters

limitinteger
1–100, default 25.
cursorstring
The `nextCursor` from a previous response.

Returns

A page of deliveries, newest first. The items are in data, and nextCursor fetches the next page. A failed call answers with an error instead.

idstring
The `webhook-id` header it was sent with.
attemptsinteger
createdAtstring
deliveredAtstringnullable
eventstring
lastErrorstringnullable
Why the last attempt failed; kept while it is retried.
nextAttemptAtstringnullable
Null once it has settled.
payloadobject
responseMsintegernullable
How long the latest try took, answered or not.
responseStatusintegernullable
The HTTP status the latest try got back; null when it never answered.
statusDeliveryStatus
Where a delivery stands: still being tried, arrived, or given up on.
curl https://api.ringhouse.ai/v1/webhooks/{webhook_id}/deliveries \
  -H "Authorization: Bearer rh_live_xxxxxxxx"
{
  "data": [
    {
      "id": "4b1a8d2e-6c3f-47b9-8e05-d91a2c7f6b34",
      "attempts": 1,
      "createdAt": "2026-09-25T14:02:11Z",
      "deliveredAt": "2026-09-25T14:05:16Z",
      "event": "call.missed",
      "lastError": null,
      "nextAttemptAt": null,
      "payload": {
        "id": "0f6e2d1c-9a8b-4e7f-b3c2-1d0e9f8a7b6c",
        "type": "call.missed",
        "apiVersion": "2026-09-25",
        "createdAt": "2026-09-25T14:02:11Z",
        "data": {
          "id": "4b1a8d2e-6c3f-47b9-8e05-d91a2c7f6b34"
        }
      },
      "responseMs": 142,
      "responseStatus": 200,
      "status": "delivered"
    }
  ],
  "nextCursor": "MjAyNi0wOS0yNVQxNDowMjoxMVp8M2Y5YzFhMmU"
}