Skip to main content
POST
Create Webhook
Changes state - verify before retry
Recommended. This endpoint is part of the public /v1 API reference and is the supported path for new integrations. See the migration guide for versioning guidance.
Registers a URL endpoint to receive event notifications. When a call ends, DialNexa sends an HTTP POST to your URL with a plain JSON payload — no encryption. The secret is required. Generate a long random value, store it in a secret manager, and send it only over HTTPS. The create response is the only response that exposes the unmasked value; later reads mask it.

Payload delivered when a call ends

billing is only present for organizations on the new billing system.

Verifying the signature

Every delivery includes an x-nexa-signature header:
Computed as HMAC-SHA256(secret, JSON.stringify(payload)) over the raw request body. Always verify against the raw body before parsing JSON.
Node.js
Python

When to use this

  • Call outcome processing: get notified the moment a call ends instead of polling Get Call Details, then write the outcome to your CRM or trigger the next step.
  • Live dashboards: track call starts and completions in real time.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
url
string
required

The URL to which webhook events will be sent.

Example:

"https://webhook.site/your-endpoint"

events
string[]
required

List of events this webhook is subscribed to.

Example:
secret
string
required

Secret used to sign webhook payloads.

Example:

"mySuperSecret"

is_active
boolean

Whether the webhook is active.

Example:

true

Response

Webhook created successfully.

message
string
Example:

"Webhook created successfully"

webhook
object