curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/calls \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/calls"
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}/calls', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"calls": [
{
"id": "1b6453892473a467d07372d45eb05abc",
"project_id": "3c59dc04-8a4b-4f7e-9b1a-6c2a0e5d1f22",
"platform_id": "RM_kQ3vZx7pLm2T",
"platform_name": "livekit",
"conversation_id": "8f14e45f-ceea-467f-a0e6-3f1c2b9d7a10",
"participant_identity": "sip_+966500000000",
"originator": {
"type": "pstn",
"phone_number": "+966500000000"
},
"receiver": {
"type": "pstn",
"phone_number": "+966110000000"
},
"did": "+966110000000",
"remote_number": "+966500000000",
"status": "completed",
"direction": "incoming",
"type": "pstn",
"duration": 184,
"hangup_reason": "caller_hangup",
"hangup_sip_code": null,
"agent_id": "6f4922f4-5568-461a-8f1d-9c3b2a1e7d55",
"warnings": [],
"created_at": "2026-10-20T09:15:00.000Z",
"answered_at": "2026-10-20T09:15:01.000Z",
"ended_at": "2026-10-20T09:18:05.000Z"
}
]
}{
"error": "Invalid or revoked token"
}{
"error": "Live call monitoring access required",
"code": "LIVE_MONITOR_ACCESS_REQUIRED"
}{
"error": "Project not found"
}List calls
Lists the project’s calls (individual telephony, SIP, web or WhatsApp legs), newest first. A conversation can contain several calls; use the conversations endpoints for a per-interaction view, paging and totals. This list is not paginated: pass limit to cap the number of rows.
status=ongoing returns the calls in progress right now (calls stuck as ongoing for more than four hours are left out), and each row then carries a live_monitor block and, for Voice Assist calls, an assist block.
curl --request GET \
--url https://voice-api.onclarity.com/v1/projects/{projectId}/calls \
--header 'Authorization: Bearer <token>'import requests
url = "https://voice-api.onclarity.com/v1/projects/{projectId}/calls"
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}/calls', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"calls": [
{
"id": "1b6453892473a467d07372d45eb05abc",
"project_id": "3c59dc04-8a4b-4f7e-9b1a-6c2a0e5d1f22",
"platform_id": "RM_kQ3vZx7pLm2T",
"platform_name": "livekit",
"conversation_id": "8f14e45f-ceea-467f-a0e6-3f1c2b9d7a10",
"participant_identity": "sip_+966500000000",
"originator": {
"type": "pstn",
"phone_number": "+966500000000"
},
"receiver": {
"type": "pstn",
"phone_number": "+966110000000"
},
"did": "+966110000000",
"remote_number": "+966500000000",
"status": "completed",
"direction": "incoming",
"type": "pstn",
"duration": 184,
"hangup_reason": "caller_hangup",
"hangup_sip_code": null,
"agent_id": "6f4922f4-5568-461a-8f1d-9c3b2a1e7d55",
"warnings": [],
"created_at": "2026-10-20T09:15:00.000Z",
"answered_at": "2026-10-20T09:15:01.000Z",
"ended_at": "2026-10-20T09:18:05.000Z"
}
]
}{
"error": "Invalid or revoked token"
}{
"error": "Live call monitoring access required",
"code": "LIVE_MONITOR_ACCESS_REQUIRED"
}{
"error": "Project not found"
}Authorizations
Your organization API key (it starts with anek_org_). The same key works on the Voice API and the Support API. See Authentication.
Path Parameters
Project id
Query Parameters
Only inbound (incoming) or outbound (outgoing) calls.
incoming, outgoing Substring match on either phone number of the call.
Only calls of conversations that this agent id took part in.
Only calls created at or after this time (ISO 8601).
Only calls created at or before this time (ISO 8601).
Only calls in this state. See the description for ongoing.
scheduled, accepted, ringing, ongoing, completed, busy, no-answer, failed, cancelled true returns only calls whose conversation raised an in-call warning, false only calls with none.
Only calls with a warning in one of these categories. Repeat the parameter or separate values with commas.
tool_failure, caller_not_understood, abuse_attempt, provider_unavailable, negative_sentiment, escalation_risk Minimum warning severity. critical matches critical warnings only.
warning, critical true returns calls whose conversation had a fatal error or an in-call warning.
Evaluation (test) calls. Omit to include them; false hides them, true returns only them.
Maximum number of calls to return (clamped to 1–200). Without it every matching call is returned.
1 <= x <= 200Response
The matching calls.
Show child attributes
Show child attributes