Enable WhatsApp calling on a number
Binds this SautiKit number to a Meta phone_number_id and starts
the BYOC SIP provisioning saga.
Returns 202, not 200: provisioning is asynchronous. The trunk
comes back as pending; poll GET /v1/numbers/{id}/whatsapp until
it reaches active or failed.
The phone_number_id must belong to a WhatsApp Business account
you have connected, and this number must carry the whatsapp
capability.
Authorization
bearerAuth Long-lived ES256 JWT minted from the dashboard (https://app.sautikit.com/developers/api-keys). Signed by the
platform keyring. Carries workspace_id and scopes claims;
revoked via the platform deny-list.
In: header
Path Parameters
The tenant NUMBER id (not the trunk id).
uuidRequest Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/numbers/497f6eca-6276-4993-bfeb-53cbbbba6f08/whatsapp" \ -H "Content-Type: application/json" \ -d '{ "phone_number_id": "109876543210987" }'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "tenant_number_id": "1d93922a-9238-4447-bea9-285b295a748e", "provider": "whatsapp", "external_id": "109876543210987", "status": "pending", "provisioning_step": "string", "provider_config": {}, "readiness": {}, "last_error": "string", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z"}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ] }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ] }}{ "error": { "code": "validation.bad_request", "message": "string", "request_id": "string", "details": [ "string" ] }}Get a number's WhatsApp calling trunk GET
Returns the WhatsApp Business Calling trunk for this number, including provisioning progress. Read-only — any workspace member can poll it without a writer role. Poll this after `POST` until `status` leaves `pending`.
Disable WhatsApp calling on a number DELETE
Starts deprovisioning of the number's WhatsApp trunk. Asynchronous like enable — returns **202** with the trunk as it stood when the request was accepted; poll `GET` to watch it wind down. WhatsApp calls to this number stop routing once deprovisioning completes. Messaging is unaffected: it belongs to the WhatsApp connection, not to this trunk.