> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lacy.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get call permission

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

Returns the current WhatsApp calling permission for one sender and one customer phone number. Use this before you [ask](https://docs.lacy.ai/api-reference/whatsapp/request-call-permission.md) or [place a call](https://docs.lacy.ai/api-reference/whatsapp/place-whatsapp-call.md).

> [!NOTE]
>
> Rate-limited to **20 requests per minute** per user.

### Query Parameters

**sender\_id** `integer` *required*

WhatsApp sender ID from [Get Senders](https://docs.lacy.ai/api-reference/whatsapp/get-senders.md)

**recipient\_phone** `string` *required*

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

### Response Fields

**success** `boolean`

Request succeeded

**sender\_id** `integer`

The sender you queried

**customer\_phone** `string`

Normalized E.164 phone number

**conversation\_id** `string`

Conversation UUID if a chat already exists, otherwise `null`

**status** `string`

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

**can\_call** `boolean`

`true` only when consent is granted and still valid

**can\_request** `boolean`

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

**session\_open** `boolean`

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

**expires\_at** `string`

When granted consent ends (ISO 8601), or `null`

**requested\_at** `string`

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

```bash cURL theme={null}
curl -X GET "https://app.lacy.ai/api/user/whatsapp/voice/permission?sender_id=12&recipient_phone=%2B40711222333" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

```javascript JavaScript theme={null}
const params = new URLSearchParams({
  sender_id: '12',
  recipient_phone: '+40711222333',
});

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

console.log(await response.json());
```

```python Python theme={null}
import requests

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

print(response.json())
```

```json 200 Ready to ask theme={null}
{
  "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
}
```

```json 200 Consent granted theme={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"
}
```

```json 404 Sender not found theme={null}
{
  "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](https://docs.lacy.ai/api-reference/whatsapp/send-template.md) and wait for a reply first. See [WhatsApp Calling](https://docs.lacy.ai/whatsapp/calling.md).
* `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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.