List phone numbers
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/phone-numbers \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/phone-numbers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/phone-numbers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"phone_numbers": [
{
"id": "7b0e2c4a-1f3d-4e8a-9c21-5d6f7a8b9c01",
"project_id": "3f6c1a52-8d0e-4b8f-9a51-2c7d4e0b9f13",
"e164": "14155550123",
"provider": null,
"voice_inbound": true,
"voice_outbound": true,
"sip_trunk_id": "2d4f6a8c-0e1b-4c3d-8e5f-7a9b1c2d3e4f",
"outbound_trunk_ids": [
"9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"
],
"outbound_agents": [
{
"id": "5c1d9e2f-3a4b-4c5d-9e6f-7a8b9c0d1e2f",
"name": "Appointment reminders"
}
],
"outbound_agents_inherited": [],
"max_calls_per_second": 1,
"abuse_protection_exempt": false,
"max_calls_per_second_updated_by": null,
"max_calls_per_second_updated_at": null,
"created_at": "Mon Nov 09 2026 14:02:11 GMT+0000 (Coordinated Universal Time)",
"updated_at": "Tue Nov 10 2026 08:45:37 GMT+0000 (Coordinated Universal Time)"
}
],
"max_calls_per_second_self_serve_max": 5
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}Phone numbers
List phone numbers
Returns every phone number of the project, oldest first, with where its calls come from (a carrier provider or one of your inbound SIP trunks), whether it takes inbound and places outbound calls, and its inbound call-rate limit. max_calls_per_second_self_serve_max is the highest rate limit you can set yourself.
GET
/
v1
/
projects
/
{projectId}
/
phone-numbers
List phone numbers
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/phone-numbers \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/phone-numbers"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://voice-api.onclarity.com/v1/projects/{projectId}/phone-numbers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"phone_numbers": [
{
"id": "7b0e2c4a-1f3d-4e8a-9c21-5d6f7a8b9c01",
"project_id": "3f6c1a52-8d0e-4b8f-9a51-2c7d4e0b9f13",
"e164": "14155550123",
"provider": null,
"voice_inbound": true,
"voice_outbound": true,
"sip_trunk_id": "2d4f6a8c-0e1b-4c3d-8e5f-7a9b1c2d3e4f",
"outbound_trunk_ids": [
"9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d"
],
"outbound_agents": [
{
"id": "5c1d9e2f-3a4b-4c5d-9e6f-7a8b9c0d1e2f",
"name": "Appointment reminders"
}
],
"outbound_agents_inherited": [],
"max_calls_per_second": 1,
"abuse_protection_exempt": false,
"max_calls_per_second_updated_by": null,
"max_calls_per_second_updated_at": null,
"created_at": "Mon Nov 09 2026 14:02:11 GMT+0000 (Coordinated Universal Time)",
"updated_at": "Tue Nov 10 2026 08:45:37 GMT+0000 (Coordinated Universal Time)"
}
],
"max_calls_per_second_self_serve_max": 5
}{
"error": "Invalid or revoked token"
}{
"error": "<string>",
"code": "<string>"
}Authorizations
Your organization API key (it starts with anek_org_). The same key works on the Voice API and the Support API. See Authentication.