Skip to main content

Subscribing

Managed over the REST API — per-endpoint detail in the Reference. Scopes: webhooks:read to view, webhooks:write to change.

:::note Prefer the portal? The admin center manages the same subscriptions. See Webhook Integrations for the click path — everything below works either way. :::

Create one

curl -X POST https://api.account.telebroad.com/api/public/v1/webhooks \
-H "Authorization: Bearer $TB_KEY" \
-H 'Content-Type: application/json' \
-d '{
"name": "SMS to helpdesk",
"url": "https://example.com/telebroad/hook",
"type": "AccountSMS",
"enabled": true
}'

Returns 201 with a Location header pointing at the new subscription.

FieldRequiredNotes
nameyesFor your own reference. Max 255 characters.
urlyeshttp or https, must include a host. Max 1024 characters.
typeyesOne event type. GET /webhooks/types lists the valid values.
descriptionnoFree text.
enablednoDefaults to false.

One type per subscription

There is no "all events" subscription. To receive SMS and ended calls, create two — the same URL is fine, and your receiver tells them apart by webhookType.

An unknown type is rejected at create time rather than saved.

Turn delivery on and off

curl -X POST .../webhooks/2074/disable -H "Authorization: Bearer $TB_KEY"
curl -X POST .../webhooks/2074/enable -H "Authorization: Bearer $TB_KEY"

Disabling keeps the subscription and its configuration. It queues nothing — events during a disabled window are not delivered, and there is no replay.

Update

curl -X PATCH .../webhooks/2074 \
-H "Authorization: Bearer $TB_KEY" \
-H 'Content-Type: application/json' \
-d '{"url": "https://example.com/telebroad/hook/v2"}'

PUT and PATCH both merge — omitted fields are unchanged. There is no replace-everything variant. Unknown fields are rejected, so "enable": true fails loudly instead of silently doing nothing.

Delete

curl -X DELETE .../webhooks/2074 -H "Authorization: Bearer $TB_KEY"

204, no body. Disable instead if you might want it back.

Discover the types

curl .../webhooks/types -H "Authorization: Bearer $TB_KEY"
{ "data": ["AccountRealTimeCalls", "AccountEndedCalls", "UserEndedCalls", "AccountSMS", "AccountAITranscription"] }

Read the vocabulary from here rather than hardcoding it from this page.