Get Call Details
curl --request GET \
--url https://api.example.com/v1/voice/calls/{call_id} \
--header 'X-API-Key: <x-api-key>'{
"success": true,
"call": {
"call_id": "<string>",
"voice_agent_id": "<string>",
"agent_id": "<string>",
"agent_name": "<string>",
"agent_version": 123,
"direction": "<string>",
"call_type": "<string>",
"from_number": "<string>",
"to_number": "<string>",
"call_status": "<string>",
"start_timestamp": 123,
"end_timestamp": 123,
"duration_ms": 123,
"disconnection_reason": "<string>",
"user_sentiment": "<string>",
"call_successful": true,
"in_voicemail": true,
"recording_url": "<string>",
"transcript": "<string>",
"transcript_object": [
{
"role": "<string>",
"content": "<string>",
"words": [
{}
]
}
],
"extracted_fields": {},
"extraction_config": [
{}
],
"call_analysis": {
"call_summary": "<string>",
"in_voicemail": true,
"user_sentiment": "<string>",
"call_successful": true,
"custom_analysis_data": {}
},
"call_cost": {
"combined_cost": 123,
"total_duration_seconds": 123,
"total_duration_unit_price": 123,
"product_costs": [
{}
]
},
"latency": {},
"llm_token_usage": {},
"metadata": {},
"dynamic_variables": {},
"data_storage_setting": "<string>",
"opt_in_signed_url": true,
"telephony_identifier": {}
},
"powered_by": "<string>"
}Call History
Get Call Details
Get full call details including transcript and recording
GET
/
v1
/
voice
/
calls
/
{call_id}
Get Call Details
curl --request GET \
--url https://api.example.com/v1/voice/calls/{call_id} \
--header 'X-API-Key: <x-api-key>'{
"success": true,
"call": {
"call_id": "<string>",
"voice_agent_id": "<string>",
"agent_id": "<string>",
"agent_name": "<string>",
"agent_version": 123,
"direction": "<string>",
"call_type": "<string>",
"from_number": "<string>",
"to_number": "<string>",
"call_status": "<string>",
"start_timestamp": 123,
"end_timestamp": 123,
"duration_ms": 123,
"disconnection_reason": "<string>",
"user_sentiment": "<string>",
"call_successful": true,
"in_voicemail": true,
"recording_url": "<string>",
"transcript": "<string>",
"transcript_object": [
{
"role": "<string>",
"content": "<string>",
"words": [
{}
]
}
],
"extracted_fields": {},
"extraction_config": [
{}
],
"call_analysis": {
"call_summary": "<string>",
"in_voicemail": true,
"user_sentiment": "<string>",
"call_successful": true,
"custom_analysis_data": {}
},
"call_cost": {
"combined_cost": 123,
"total_duration_seconds": 123,
"total_duration_unit_price": 123,
"product_costs": [
{}
]
},
"latency": {},
"llm_token_usage": {},
"metadata": {},
"dynamic_variables": {},
"data_storage_setting": "<string>",
"opt_in_signed_url": true,
"telephony_identifier": {}
},
"powered_by": "<string>"
}Description
Retrieves complete call details including full transcript and recording URL. Fetches transcript from Teli Voice AI, recording URL from Teli Voice Storage.Authentication
Your Teli API key
Path Parameters
The call ID to retrieve
Response Fields
Whether the request was successful
Complete call object with all details
Show Call Object
Show Call Object
Unique call identifier
Voice agent ID used for the call
Voice agent ID (same as voice_agent_id)
Name of the agent that handled the call
Agent configuration version
Call direction:
inbound or outboundType of call (e.g.,
phone_call)Phone number the call originated from (E.164 format)
Phone number the call was placed to (E.164 format)
Call status:
ended, ongoing, errorCall start time (milliseconds since epoch)
Call end time (milliseconds since epoch)
Call duration in milliseconds
Reason call ended (e.g.,
user_hangup, agent_hangup, error)User sentiment analysis:
Positive, Negative, Neutral, UnknownWhether the call objective was successfully completed
Whether the call went to voicemail
URL to call recording hosted on Teli Voice Storage (S3)
Full transcript as formatted text
AI-extracted data from the conversation based on agent’s extraction_fields configurationExample:
{
"budget": "6000 dollars",
"callback_time": "",
"objections": "No objections raised",
"next_steps": "Follow up next week"
}
List of fields configured for extraction on the agent (e.g.,
["budget", "callback_time", "objections"])Post-call analysis data
Show Analysis Object
Show Analysis Object
Performance metrics (e2e, llm, tts latency statistics)
LLM token consumption statistics
Call metadata including campaign_id and dialer_type
Dynamic variables used in the call (first_name, last_name, etc.)
Data retention setting for this call
Whether signed URLs are enabled
Telephony provider identifiers
Always returns “Teli”
Example Request
cURL
curl -X GET "https://api.teli.ai/v1/voice/calls/call_9edb137b8014366b8cf399330da" \
-H "X-API-Key: YOUR_API_KEY"
Example Response
200
{
"success": true,
"call": {
"call_id": "call_9edb137b8014366b8cf399330da",
"voice_agent_id": "agent_86f826bf8f59bacd5c10ae948a",
"direction": "outbound",
"call_status": "ended",
"start_timestamp": 1763586795333,
"end_timestamp": 1763586852943,
"duration_ms": 57610,
"user_sentiment": "Positive",
"call_successful": true,
"in_voicemail": false,
"recording_url": "https://teli-voice-recordings-prod.s3.us-west-2.amazonaws.com/recordings/call_9edb137b8014366b8cf399330da.wav",
"transcript": "Agent: Hi, how can I help you today?\nUser: I need information about your product...",
"transcript_object": [
{
"role": "agent",
"content": "Hi, how can I help you today?",
"words": [
{"word": "Hi", "start": 0.7, "end": 1.3},
{"word": "how", "start": 1.5, "end": 1.8}
]
},
{
"role": "user",
"content": "I need information about your product",
"words": [...]
}
],
"extracted_fields": {
"budget": "6000 dollars",
"callback_time": "",
"objections": "No objections raised",
"next_steps": "Will follow up next week"
},
"extraction_config": ["budget", "callback_time", "objections", "next_steps"],
"call_analysis": {
"call_summary": "The user inquired about product information and was provided with details about features and pricing.",
"in_voicemail": false,
"user_sentiment": "Positive",
"call_successful": true,
"custom_analysis_data": {}
}
},
"powered_by": "Teli"
}
404 (Call Not Found)
{
"error": "Call not found",
"success": false,
"powered_by": "Teli"
}
500 (Server Error)
{
"error": "Failed to get call details",
"success": false,
"powered_by": "Teli"
}
Notes
- Transcript is fetched from Teli Voice AI on-demand
- Recording URL points to Teli Voice Storage (permanent storage)
- Call must exist in your organization to be accessed
- Access control: Regular users can only access their own calls, admins can access all org calls
⌘I

