Getting Recent Calls
Fetch a paginated list of calls:Filtering Calls
Narrow results using filter parameters:Filter Parameters
| Parameter | Type | Description |
|---|---|---|
agent_id | string | Filter by agent ID |
campaign_id | string | Filter by campaign ID |
page | int | Page number (default: 1) |
limit | int | Results per page (default: 10) |
status | string | completed, failed, in_progress, no_answer, busy |
call_type | string | telephony_inbound, telephony_outbound, chat |
search | string | Match callId, fromNumber, or toNumber |
Getting Single Call Details
Retrieve complete details for one call:Response Fields
| Field | Description |
|---|---|
callId | Unique call identifier |
status | completed, failed, in_progress, no_answer |
duration | Length in seconds |
type | telephony_outbound, telephony_inbound, chat |
from / to | Phone numbers |
transcript | Array of conversation messages |
recordingUrl | Mono audio file URL |
recordingDualUrl | Stereo audio file URL |
callCost | Cost in credits |
disconnectionReason | user_hangup, agent_hangup, timeout |
postCallAnalytics | AI summary and extracted metrics |
Accessing Transcripts
The transcript is an array of messages with speaker roles:Accessing Recordings
Recordings are available after the call completes:Batch Search
Fetch multiple calls at once withsearch_calls():
Maximum 100 call IDs per request.
Performance Metrics
Each call includes latency breakdowns:| Metric | Description |
|---|---|
average_transcriber_latency | Speech-to-text processing time |
average_agent_latency | LLM response generation time |
average_synthesizer_latency | Text-to-speech processing time |
SDK Reference
| Method | Description |
|---|---|
get_calls(...) | List calls with optional filters |
get_call(call_id) | Get single call with all details |
search_calls(call_ids) | Batch fetch by call IDs |
Tips
What's the difference between status and disconnectionReason?
What's the difference between status and disconnectionReason?
status is the outcome (completed, failed). disconnectionReason explains why it ended:user_hangup— Caller hung upagent_hangup— Agent ended the calldial_no_answer— No pickuptimeout— Call timeout
When are recordings available?
When are recordings available?
Recordings generate after the call ends. They may take a few seconds to appear. Check if
recordingUrl is non-empty before accessing.How do I calculate average call duration?
How do I calculate average call duration?
Fetch calls with
get_calls(), then calculate:How do I find calls for a specific phone number?
How do I find calls for a specific phone number?
Use the
search parameter:How do I get calls from a specific date range?
How do I get calls from a specific date range?
Currently, use pagination and filter client-side by
createdAt. Date range filters are coming soon.
