RinghouseAPI reference
Get started

Webhooks

Update a webhook

Change its name, where it points, what it hears, or whether it is on. Fields left out keep their value.

PATCH/v1/webhooks/{webhook_id}

Needs the webhooks:write scope.

Path parameters

webhook_idstringrequired
Webhook id

Body parameters

enabledboolean
true turns a disabled webhook back on; false turns it off. Deliveries given up on stay given up; retry them one by one.
eventsstring[]
Replaces the whole list.
namestring
Absent keeps the name; null or empty clears it.
numberIdsstring[]
Absent keeps the numbers; null hears every number; a list hears only those.
urlstring

Returns

The subscription as it now is. A failed call answers with an error instead.

idstring
createdAtstring
disabledAtstringnullable
Null while the endpoint is live; set when we stopped trying, with `disabledReason` saying why.
disabledReasonstringnullable
eventsstring[]
namestringnullable
What the workspace calls it; null when nobody named it.
numberIdsstring[]nullable
The numbers whose calls and messages it hears; null means every number.
urlstring
curl -X PATCH https://api.ringhouse.ai/v1/webhooks/{webhook_id} \
  -H "Authorization: Bearer rh_live_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": "<boolean>",
    "events": "<string[]>",
    "name": "<string>",
    "numberIds": "<string[]>",
    "url": "<string>"
  }'
{
  "id": "8c1d4e7a-5b2f-4a90-9e1c-3f7d2b6a1c08",
  "createdAt": "2026-09-25T14:02:11Z",
  "disabledAt": null,
  "disabledReason": null,
  "events": [
    "call.missed"
  ],
  "name": "Missed calls → Slack",
  "numberIds": null,
  "url": "https://hooks.example.com/ringhouse"
}