Documentation Index
Fetch the complete documentation index at: https://www.agentvoice.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
List All Calls
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 50 | Number of results per page (max: 100) |
offset | integer | 0 | Number of results to skip for pagination |
order | string | desc | Sort direction: asc or desc |
order_by | string | started_at | Sort field: started_at, ended_at, or created_at |
fields | string | light | Payload size: light or full |
phone_number | string | - | Filter by customer phone number |
contact_id | uuid | - | Filter by contact ID |
agent_id | uuid | - | Filter by agent ID |
campaign_id | uuid | - | Filter by campaign ID |
status | string | - | Filter by call status |
call_type | string | - | Filter by type: inbound or outbound |
from | ISO 8601 | - | Filter calls starting after this date |
to | ISO 8601 | - | Filter calls starting before this date |
most_recent | boolean | false | Return only the most recent matching call |
include | string | - | Comma-separated list of additional fields to include (see Include Options) |
Get a Specific Call
| Parameter | Type | Default | Description |
|---|---|---|---|
fields | string | light | Payload size: light or full |
include | string | - | Comma-separated list of additional fields to include (see Include Options) |
Get Most Recent Call
To retrieve only the most recent call matching your filters, use themost_recent=true parameter. This returns a single call object instead of an array.
Example Request:
Payload Modes
The API supports two payload modes to optimize response size based on your needs.Light Payload (Default)
Returns essential call information suitable for listings and summaries. Fields included:id- Unique call identifieragent_id- Agent that handled the callagent_name- Agent display namecontact_id- Associated contact ID (if linked)contact_first_name- Contact first namecontact_last_name- Contact last namecontact_email- Contact emailphone_number- Customer phone numberphone_number_called_from- Originating phone numbercall_type-inboundoroutboundstatus- Call statuscall_success- Whether the call was successfulwent_to_voicemail- Whether call went to voicemailcall_duration- Duration in secondsstarted_at- Call start timestampended_at- Call end timestampended_reason- Reason the call endedrecording_url- URL to call recording (if available)campaign_id- Associated campaign IDcampaign_name- Campaign namecreated_at- Record creation timestamp
Full Payload
Returns all light fields plus detailed analysis and transcript data. Usefields=full to enable.
Additional fields:
transcript- Raw transcript texttranscript_formatted- Structured transcript with speaker labels and timestampspost_call_analysis- AI-generated call analysiscall_description- Summary description of the callcustom_analysis- Custom analysis resultsstructured_data_results- Extracted structured data from the callnotes- Array of notes added to the callaction_executions- Actions triggered by the callaction_summary- Summary of executed actionsquality_metrics- Call quality measurementsenhanced_context- Additional contextual information
Include Options
Instead of usingfields=full which returns everything, you can selectively include specific field groups using the include parameter. This allows you to get the light payload plus only the additional data you need.
Use comma-separated values to include multiple groups: include=transcript,metrics
| Include | Fields Added | Description |
|---|---|---|
transcript | transcript, transcript_formatted | Conversation transcript data |
metrics | quality_metrics, latency_metrics, audio_metrics | Performance and quality measurements |
diagnostics | turn_events, interruptions, tool_usage | Detailed call diagnostics for troubleshooting |
actions | action_executions, action_summary | Actions triggered during the call |
Include Examples
Get light payload with just the transcript:The
include parameter works with both fields=light (default) and fields=full. When used with fields=full, any duplicate fields are automatically handled.Filtering Examples
Filter by Contact
Get all calls for a specific contact:Filter by Phone Number
Get all calls to/from a specific phone number:Phone numbers should be URL-encoded when using cURL. The
+ character becomes %2B. Python’s requests library handles this automatically.Filter by Date Range
Get calls from a specific time period:Filter by Agent and Status
Get completed calls for a specific agent:Filter by Campaign
Get all calls from a specific campaign:Combine Multiple Filters
Get recent inbound calls for a contact with full details:Pagination
For large result sets, uselimit and offset to paginate through results.
Example - Page 2 with 25 results per page:
has_more to determine if additional pages exist.
Common Error Responses
| Status | Error | Description |
|---|---|---|
400 Bad Request | "Invalid order_by parameter" | order_by must be started_at, ended_at, or created_at |
401 Unauthorized | "Authentication failed" | Invalid or missing API key or organization ID |
404 Not Found | "Call not found" | Call ID does not exist or does not belong to your organization |
404 Not Found | "No calls found matching criteria" | No calls match filters when using most_recent=true |