Initiate outbound call
Initiates an outbound Business-Initiated Call. The Telnyx-side SIP
leg is originated server-side (Option B: SIP-first). Telnyx INVITEs
Meta directly over TLS:5061 with the SIP digest credentials we
captured at calling-enablement time). No client-side SDP is
required; pass only accountId and to.
To send the consumer the call-consent prompt instead of placing a
call, pass action: "send_call_permission_request" (+ optional
bodyText). The consumer must tap Allow in WhatsApp before
start_call is permitted; Meta limits the prompt to 1 per consumer
per 24h (2 per 7 days) and requires an open 24h service window.
API key authentication - use your Zernio API key as a Bearer token
In: header
Consumer wa_id (E.164, leading + optional)
Omit to place a call. Set to send the consent prompt instead.
"send_call_permission_request"Body text shown with the consent prompt (send_call_permission_request only).
length <= 1024Per-call destination override. Same accepted shape as the number's stored forwardTo (tel:+E164, sip:..., wss://...).
Accepted for forward compatibility. Not currently echoed back in webhook payloads (SIP-first flow does not pass through Meta's Graph API where Meta would echo this).
length <= 512Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.whatsappcalling.initiateWhatsAppCall({ body: { accountId: 'account_abc123', to: 'string', },});console.log(data);{
"success": true,
"callId": "string",
"telnyxCallControlId": "string",
"status": "dialing",
"direction": "outbound",
"to": "string",
"forwardTo": "string",
"recordingEnabled": true
}{
"error": "Unauthorized"
}