Create or verify a WhatsApp sender, or turn WhatsApp calls on/off, for a workspace (sms:write + admin).

action=connect returns the one signup link the business owner opens to put WhatsApp on one of its own KaiCalls lines (optional phone_number); the owner signs in to Facebook as the business and verifies the number, and the link is reused while valid. action=sync reads the carrier back; a number is connected only when the carrier lists it verified for WhatsApp. The GET response carries these as telnyx.connections. Otherwise uses a customer-owned Twilio account or KaiCalls-managed subaccount. action=create registers the Meta Embedded Signup WABA and assigned phone through Twilio v2; action=verify submits a six-digit OTP. Both actions require a durable idempotency key. Mutation responses are acknowledgements only; connected requires a following exact GET read-back of the tenant-bound sender as ONLINE. action=voice with enabled attaches (or detaches) the voice application that lets the agent answer calls placed from WhatsApp; it requires a connected sender and a Meta-verified business at the 2,000-conversation messaging tier, and is unavailable until the deployment enables WhatsApp calls.

post/v1/whatsapp-sender

Request

  • Base URL: https://www.kaicalls.com/api
  • URL: https://www.kaicalls.com/api/v1/whatsapp-sender
  • Auth: HTTP bearer

Request body

business_idstring required
action'connect' | 'sync' | 'create' | 'verify' | 'voice' required
enabledboolean

For action=voice: true to let the agent answer WhatsApp calls

phone_numberstring

E.164 number for create

waba_idstring

WABA returned by Embedded Signup

profile_namestring
verification_method'sms' | 'voice'
idempotency_keystring

Required for create and verify; reuse only for the same request

sender_sidstring

Twilio XE SID for verify

codestring

Six-digit OTP for verify

Response

Provider-backed sender lifecycle state

Changes

No recorded changes to this operation across all 1 revision of this API.