VoxLink.ai

API Reference

Get call permission

Check whether a contact can be asked to call, or already allowed WhatsApp calls

Updated 15 Aug 2026

Returns the current WhatsApp calling permission for one sender and one customer phone number. Use this before you ask or place a call.

Rate-limited to 20 requests per minute per user.

Query Parameters

sender_idintegerrequired

WhatsApp sender ID from Get Senders

recipient_phonestringrequired

Customer phone number in E.164 format (e.g. +40711222333)

Response Fields

successboolean

Request succeeded

sender_idinteger

The sender you queried

customer_phonestring

Normalized E.164 phone number

conversation_idstring

Conversation UUID if a chat already exists, otherwise null

statusstring

pending, granted, rejected, revoked, expired, or null if never asked

can_callboolean

true only when consent is granted and still valid

can_requestboolean

true when the 24-hour chat window is open and WhatsApp still allows another ask

session_openboolean

true when the customer messaged this sender in the last 24 hours

expires_atstring

When granted consent ends (ISO 8601), or null

requested_atstring

When the last ask was sent (ISO 8601), or null

curl -X GET "https://app.voxlink.ai/api/user/whatsapp/voice/permission?sender_id=12&recipient_phone=%2B40711222333" \
  -H "Authorization: Bearer YOUR_API_KEY"
const params = new URLSearchParams({
  sender_id: '12',
  recipient_phone: '+40711222333',
});

const response = await fetch(
  `https://app.voxlink.ai/api/user/whatsapp/voice/permission?${params}`,
  { headers: { Authorization: 'Bearer YOUR_API_KEY' } }
);

console.log(await response.json());
import requests

response = requests.get(
    'https://app.voxlink.ai/api/user/whatsapp/voice/permission',
    headers={'Authorization': 'Bearer YOUR_API_KEY'},
    params={'sender_id': 12, 'recipient_phone': '+40711222333'},
)

print(response.json())
{
  "success": true,
  "sender_id": 12,
  "customer_phone": "+40711222333",
  "conversation_id": "9c2e1d4a-6b8f-4c11-9a0e-1f2d3c4b5a67",
  "status": null,
  "can_call": false,
  "can_request": true,
  "session_open": true,
  "expires_at": null,
  "requested_at": null
}
{
  "success": true,
  "sender_id": 12,
  "customer_phone": "+40711222333",
  "conversation_id": "9c2e1d4a-6b8f-4c11-9a0e-1f2d3c4b5a67",
  "status": "granted",
  "can_call": true,
  "can_request": false,
  "session_open": true,
  "expires_at": "2026-08-22T10:15:00+00:00",
  "requested_at": "2026-08-15T10:15:00+00:00"
}
{
  "success": false,
  "error": "Sender not found or does not belong to you",
  "error_code": "SENDER_NOT_FOUND"
}

Notes

  • Only senders that belong to your account are visible. A missing or foreign sender_id returns SENDER_NOT_FOUND.
  • can_request is false when the chat window is closed — send a regular template and wait for a reply first. See WhatsApp Calling.
  • can_request and can_call are also false when the sender's country does not allow business-initiated WhatsApp calls (United States, Canada, Egypt, Vietnam, Nigeria, Türkiye). Inbound calls still work.

Related guides