Skip to main content

WhatsApp Calling API

WhatsApp Business voice/video call capability management Base path: /api/v1/whatsapp Endpoint count: 3

WhatsApp Business Calling KPIs

GET /api/v1/whatsapp/calling/analytics
Returns aggregated KPIs (totals, answered, declined, missed, failed, avg duration, total cost) plus a per-day call-volume trend over a configurable window (1-365 days, default 30).
waba_id
string
phone_number_id
string
days
integer

List WhatsApp Business Call logs

GET /api/v1/whatsapp/calling/calls
Cursor-paginated list of wa_call_logs rows. Phone columns are masked for viewer/billing roles; owner/admin/developer see raw E.164. The q search covers phone + contact name + contact email + conversation_id columns.
status
string
CSV of statuses to include. Allowed: queued, ringing, in_progress, completed, failed, missed.
direction
string (enum: inbound|outbound)
waba_id
string
phone_number_id
string
contact_id
string
Restrict results to a single contact’s call history. Unlike q (free-text search across phone, contact name, contact email, and conversation_id), this matches on the exact contact id, so it returns only calls linked to that contact. Use it to build a per-contact call-history view. Max 64 characters.
start
string
end
string
q
string
cursor
string
limit
integer

Initiate an outbound WhatsApp Business Call (Phase 5)

POST /api/v1/whatsapp/calling/calls
Initiate a WhatsApp Business outbound call. Walks pre-flight gates: connection lookup + access-token decrypt, country block-list (WA_CALLING_BLOCKED_COUNTRIES), calling-enabled flag on the WABA, and recipient call-permission grant. Permission-missing returns 422 with code WHATSAPP_CALLING_NO_PERMISSION; the dashboard surfaces a CTA to send the call-permission template first.
to
string
required
Recipient phone number in E.164 format, including the leading + (e.g. +14155552671). The + is required — omitting it fails validation.
from_phone_number_id
string
required
Meta phone_number_id of the sender WABA number.
conversation_id
string
biz_opaque_callback_data
string
Echoed back on every webhook event for the call (correlation handle).
sdp_offer
string
SDP offer for browser-side WebRTC. Omit for server-bridged calls.