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.
| Field | Required | Notes |
|---|---|---|
name | yes | For your own reference. Max 255 characters. |
url | yes | http or https, must include a host. Max 1024 characters. |
type | yes | One event type. GET /webhooks/types lists the valid values. |
description | no | Free text. |
enabled | no | Defaults 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.