Skip to main content
POST
Create a webhook subscription

Authorizations

Authorization
string
header
required

Use Authorization: Bearer tc_live_xxxxx

Headers

Idempotency-Key
string

Makes a retry safe. A 2xx response is stored for 24 hours per account, and a retry with the same key gets it back with Idempotent-Replay: true instead of running again. Errors aren't stored, so a retry after one runs fresh. The key isn't tied to a path or body: use a new key for every different request. A malformed key gets 400.

Required string length: 8 - 255
Pattern: ^[A-Za-z0-9_-]+$
Example:

"a1b2c3d4-e5f6-7890-abcd-ef0123456789"

Body

application/json
event
string
required
Pattern: ^call\.completed(?:\.[a-z0-9_]+)?$|^lead\.status_changed$|^campaign\.(?:activated|paused)$
Example:

"call.completed.booked_callback"

url
string<uri>
required
Example:

"https://hooks.your-app.com/topcalls"

filters
object

Every key must match the top-level payload field of that name. Arrays match any listed string, strings with % are SQL LIKE patterns, anything else must be equal.

Example:

Response

Webhook subscription created

id
string<uuid>
account_id
string<uuid>
event
string
Example:

"call.completed.booked_callback"

url
string<uri>
filters
object
deleted_at
string<date-time> | null
created_by_api_key_id
string<uuid> | null
created_at
string<date-time>