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.
Idempotency: send an Idempotency-Key header to make retries
safe; same key + same body replays the original response instead of
dialing (and billing) a second call.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Header Parameters
Optional client-generated unique key (e.g. a UUID) that makes retries safe. Same key + same body replays the original response; same key + different body → 422; key still processing → 409.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response 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}List call history for an account
Compact history listing for a single connected account. Results are scoped to the resolved SocialAccount; profile-scoped team members cannot read calls on sibling accounts. Cursor pagination: pass the returned `nextCursor` as `before` to fetch the next page (same scheme as `GET /v1/calls`). `since`/`until` remain as absolute range filters and combine with the cursor.
Get a single call
Next Page