API Reference
WhatsApp Messaging

Ask a contact for permission to call them

POST
/v1/whatsapp/call-permissions/request

Sends a call-permission request to a contact. You cannot place a WhatsApp call to someone who has not granted permission, so this is the step that unlocks outbound WhatsApp calling to them.

Two forms, selected by mode:

  • free_form (default) — an interactive permission-request message built from text. Subject to the same 24-hour customer service window as any free-form message.
  • template — an already-approved template whose components include a call_permission_request component. Use this outside the 24-hour window.

The contact's answer arrives as the whatsapp.call_permission.updated workspace webhook.

API-key scope: whatsapp.messages.

Authorization

bearerAuth
AuthorizationBearer <token>

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

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/whatsapp/call-permissions/request" \  -H "Content-Type: application/json" \  -d '{    "connection_id": "d3547de1-d1f2-4344-b4c2-17169b7526f9",    "wa_id": "254700000001"  }'
{  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",  "workspace_id": "0967198e-ec7b-4c6b-b4d3-f71244cadbe9",  "connection_id": "d3547de1-d1f2-4344-b4c2-17169b7526f9",  "wa_id": "254700000001",  "status": "string",  "is_permanent": true,  "expires_at": "2019-08-24T14:15:22Z",  "last_requested_at": "2019-08-24T14:15:22Z",  "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"    ]  }}