Skip to main content
Use live calls when your app needs to speak with a WhatsApp contact in real time. Version 1 supports audio-only calls over a WebSocket media stream.

Start the call

The token must be paired and connected.
POST /api/v1/sessions/{sessionId}/calls
Authorization: Bearer <api_key>
Content-Type: application/json
{
  "to": "[email protected]"
}
Save the returned callId.

Open the media stream

Upgrade the media endpoint to a WebSocket:
GET /api/v1/sessions/{sessionId}/calls/{callId}/media
Authorization: Bearer <api_key>
Upgrade: websocket
Send outbound audio as binary frames:
SettingValue
EncodingFloat32LE
Sample rate16000 Hz
Channels1 mono
Server binary frames contain inbound peer audio in the same format.

Handle backpressure

WADial sends buffer events with bufferedMs, pauseMs, and resumeMs. Pause your audio producer when bufferedMs reaches pauseMs. Resume when it drains near resumeMs.

End the call

End the call when your workflow finishes:
POST /api/v1/sessions/{sessionId}/calls/{callId}/end
Authorization: Bearer <api_key>