Delivery webhooks

Register a delivery webhook

We POST to you. This is the surface for an application that has no process to keep running — a Cloud Function, a Lambda, anything that wakes on a request. GET /v1/events needs a held connection; a flow answers for you but cannot consult your own model. This does neither: it hands the event to your endpoint and lets you decide.

Not to be confused with PUT /v1/agents/{id}/webhook, which points Google at a URL instead of at Cadence and switches off flow handling entirely.

The signing secret is returned once and cannot be read back — it is derived from a server secret rather than stored. Rotate with PATCH /v1/webhooks/{id} {"rotateSecret": true}.

Delivery is at-least-once: one attempt plus six retries spanning about nine hours (~10s, 1m, 5m, 30m, 2h, 6h after each failure). Anything other than a 2xx is a failure; so is taking longer than 10s. nextAttemptAt is the earliest we will retry, not a promise — the loop wakes on an interval, so delivery lands at or shortly after it. After 20 consecutive events exhaust their retries the endpoint is disabled with a reason.

post/v1/webhooks

Request

  • Base URL: https://api.cadencercs.com
  • URL: https://api.cadencercs.com/v1/webhooks
  • Auth: HTTP bearer

Request body

urlstring required

A public https:// endpoint. Loopback and private ranges are refused — the payload carries message bodies and phone numbers.

eventsstring[]

Defaults to all six. An unknown name is rejected rather than silently subscribing to nothing. Subscribe to optin if you cache consent: optout sets your flag and nothing else clears it.

brandIdstring

Narrow to one brand. Omit for every brand on the account.

descriptionstring

Response

Registered. The secret is shown once.

idstring required
urlstring required

Your https:// endpoint.

eventsstring[] required
brandIdstring nullable

Null means every brand on the account.

descriptionstring nullable
activeboolean required

False once disabled, whether by you or by repeated failure.

createdAtstring
secretstring required

Shown once. Sign with this.

verifystring

How to verify, in one sentence.

notestring
nextStepstring

Changes

No recorded changes to this operation across all 1 revision of this API.