List active calls
curl --request GET \
--url https://dashboard.ondial.ai/api/v1/calls/active \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://dashboard.ondial.ai/api/v1/calls/active', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dashboard.ondial.ai/api/v1/calls/active"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"calls": [
{
"id": "<string>",
"direction": "inbound",
"callId": "<string>",
"callSessionId": "<string>",
"callSid": "<string>",
"status": "<string>",
"outcome": "<string>",
"startedAt": "<string>",
"endedAt": "<string>",
"durationSeconds": 123,
"fromNumber": "<string>",
"toNumber": "<string>",
"agentId": "<string>",
"agentName": "<string>",
"campaignId": "<string>",
"contactId": "<string>",
"billingStatus": "pending",
"creditsCharged": 123,
"creditsError": "<string>",
"balanceAfter": 123,
"hasTranscript": true,
"hasAnalysis": true,
"hasRecording": true,
"summary": "<string>"
}
]
}{
"error": "Invalid or inactive API key",
"reasonCode": "unauthorized"
}{
"error": "Insufficient scope",
"reasonCode": "forbidden",
"missing": [
"calls:read"
]
}List active calls
Live in-progress inbound and outbound calls.
GET
/
api
/
v1
/
calls
/
active
List active calls
curl --request GET \
--url https://dashboard.ondial.ai/api/v1/calls/active \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://dashboard.ondial.ai/api/v1/calls/active', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://dashboard.ondial.ai/api/v1/calls/active"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"calls": [
{
"id": "<string>",
"direction": "inbound",
"callId": "<string>",
"callSessionId": "<string>",
"callSid": "<string>",
"status": "<string>",
"outcome": "<string>",
"startedAt": "<string>",
"endedAt": "<string>",
"durationSeconds": 123,
"fromNumber": "<string>",
"toNumber": "<string>",
"agentId": "<string>",
"agentName": "<string>",
"campaignId": "<string>",
"contactId": "<string>",
"billingStatus": "pending",
"creditsCharged": 123,
"creditsError": "<string>",
"balanceAfter": 123,
"hasTranscript": true,
"hasAnalysis": true,
"hasRecording": true,
"summary": "<string>"
}
]
}{
"error": "Invalid or inactive API key",
"reasonCode": "unauthorized"
}{
"error": "Insufficient scope",
"reasonCode": "forbidden",
"missing": [
"calls:read"
]
}Requires
calls:read. Poll every few seconds for a live board. Do not rely only on call.inbound.completed to clear “in progress”.Authorizations
Paste only your API key (ond_live_… or ond_test_…). Do not type the word Bearer — the playground adds it.
Response
Active calls
Hide child attributes
Hide child attributes
Available options:
inbound, outbound Available options:
pending, charged, failed, skipped 
