RinghouseAPI reference
Get started

Webhooks

Rotate webhook secret

Replace the signing secret. The old one stops verifying at once, including for retries still queued.

POST/v1/webhooks/{webhook_id}/rotate-secret

Needs the webhooks:write scope.

Path parameters

webhook_idstringrequired
Webhook id

Returns

The subscription, with its new signing secret. 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
secretstring
Verify every delivery against this. Keep it: no read hands it back, only a rotate replaces it.
curl -X POST https://api.ringhouse.ai/v1/webhooks/{webhook_id}/rotate-secret \
  -H "Authorization: Bearer rh_live_xxxxxxxx"
{
  "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",
  "secret": "whsec_MfKQ9r8GKYqrTwjUPD8ILPZIo2LaLaSw"
}