POST /v2/create-phone-call
Changed onCreate a new outbound phone call.
Request
- Base URLhttps://api.retellai.com
- AuthHTTP bearer
Request body
Example request
{
"from_number": "+14157774444",
"to_number": "+12137774445",
"override_agent_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD",
"override_agent_version": "latest_published",
"agent_override": {
"agent": {
"agent_name": "Jarvis",
"version_description": "Customer support agent for handling product inquiries",
"version_title": "Production hotfix",
"voice_id": "retell-Cimo",
"fallback_voice_ids": [
"cartesia-Cimo",
"minimax-Cimo"
],
"voice_temperature": 1,
"voice_speed": 1,
"enable_dynamic_voice_speed": true,
"enable_dynamic_responsiveness": true,
"volume": 1,
"enable_expressive_mode": true,
"expressive_emotion_tags": [
"empathetic",
"excited",
"sigh",
"clear throat",
"emphasis"
],
"expressive_mode_prompt": "Use [sigh] for thoughtful pauses and [excited] for good news.",
"responsiveness": 1,
"interruption_sensitivity": 1,
"enable_backchannel": true,
"backchannel_frequency": 0.9,
"backchannel_words": [
"yeah",
"uh-huh"
],
"reminder_trigger_ms": 10000,
"reminder_max_count": 2,
"ambient_sound_volume": 1,
"language": "en-US",
"webhook_url": "https://webhook-url-here",
"webhook_timeout_ms": 10000,
"boosted_keywords": [
"retell",
"kroger"
],
"data_storage_setting": "everything",
"data_storage_retention_days": 30,
"opt_in_signed_url": true,
"signed_url_expiration_ms": 86400000,
"pronunciation_dictionary": [
{
"word": "actually",
"alphabet": "ipa",
"phoneme": "ˈæktʃuəli"
}
],
"end_call_after_silence_ms": 600000,
"max_call_duration_ms": 3600000,
"voicemail_option": {
"action": {
"type": "static_text",
"text": "Please give us a callback tomorrow at 10am."
}
},
"ivr_option": {
"action": {
"type": "hangup"
}
},
"call_screening_option": {
"agent_identity": "Acme Health scheduling team",
"call_purpose": "confirming your appointment for tomorrow"
},
"post_call_analysis_data": [
{
"type": "string",
"name": "customer_name",
"description": "The name of the customer.",
"examples": [
"John Doe",
"Jane Smith"
]
}
],
"begin_message_delay_ms": 1000,
"ring_duration_ms": 30000,
"stt_mode": "fast",
"vocab_specialization": "general",
"allow_user_dtmf": true,
"user_dtmf_options": {
"termination_key": "#"
},
"denoising_mode": "noise-cancellation",
"denoising_enhancement_level": 0.8,
"timezone": "America/New_York",
"pre_session_tools": [
{
"response_variables": {
"contact_first_name": "data.first_name"
},
"output_selection": {
"fields": [
"id",
"properties.email"
]
}
}
],
"post_session_tools": [
{
"response_variables": {
"contact_first_name": "data.first_name"
},
"output_selection": {
"fields": [
"id",
"properties.email"
]
}
}
]
},
"retell_llm": {
"model_high_priority": true,
"model_ultrafast": true,
"kb_config": {
"top_k": 3,
"filter_score": 0.6
},
"begin_after_user_silence_ms": 2000,
"begin_message": "Hey I am a virtual assistant calling from Retell Hospital."
},
"conversation_flow": {
"model_temperature": 0.7,
"knowledge_base_ids": [
"kb_001",
"kb_002"
],
"kb_config": {
"top_k": 3,
"filter_score": 0.6
},
"start_speaker": "agent",
"begin_after_user_silence_ms": 2000
}
},
"retell_llm_dynamic_variables": {
"customer_name": "John Doe"
},
"custom_sip_headers": {
"X-Custom-Header": "Custom Value"
},
"ignore_e164_validation": true,
"honor_internal_dnc": true
}Response
Successfully made an outbound call.
Example response
{
"call_type": "phone_call",
"from_number": "+12137771234",
"to_number": "+12137771235",
"direction": "inbound",
"telephony_identifier": {
"twilio_call_sid": "CA5d0d0d8047bf685c3f0ff980fe62c123"
},
"call_id": "Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6",
"agent_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD",
"agent_name": "My Agent",
"agent_version": 1,
"agent_tag": "prod",
"call_status": "registered",
"retell_llm_dynamic_variables": {
"customer_name": "John Doe"
},
"collected_dynamic_variables": {
"last_node_name": "Test node"
},
"custom_sip_headers": {
"X-Custom-Header": "Custom Value"
},
"data_storage_setting": "everything",
"opt_in_signed_url": true,
"start_timestamp": 1703302407333,
"end_timestamp": 1703302428855,
"transfer_end_timestamp": 1703302628855,
"duration_ms": 10000,
"transcript": "Agent: hi how are you doing?\nUser: Doing pretty well. How are you?\nAgent: That's great to hear! I'm doing well too, thanks! What's up?\nUser: I don't have anything in particular.\nAgent: Got it, just checking in!\nUser: Alright. See you.\nAgent: have a nice day\n",
"transcript_object": [
{
"role": "agent",
"content": "hi how are you doing?",
"words": [
{
"word": "hi",
"start": 0.7,
"end": 1.3
}
]
}
],
"transcript_with_tool_calls": [
{
"role": "agent",
"content": "hi how are you doing?",
"words": [
{
"word": "hi",
"start": 0.7,
"end": 1.3
}
]
}
],
"scrubbed_transcript_with_tool_calls": [
{
"role": "agent",
"content": "hi how are you doing?",
"words": [
{
"word": "hi",
"start": 0.7,
"end": 1.3
}
]
}
],
"pre_session_transcript_with_tool_calls": [
{
"role": "agent",
"content": "hi how are you doing?",
"words": [
{
"word": "hi",
"start": 0.7,
"end": 1.3
}
]
}
],
"scrubbed_pre_session_transcript_with_tool_calls": [
{
"role": "agent",
"content": "hi how are you doing?",
"words": [
{
"word": "hi",
"start": 0.7,
"end": 1.3
}
]
}
],
"post_session_transcript_with_tool_calls": [
{
"role": "agent",
"content": "hi how are you doing?",
"words": [
{
"word": "hi",
"start": 0.7,
"end": 1.3
}
]
}
],
"scrubbed_post_session_transcript_with_tool_calls": [
{
"role": "agent",
"content": "hi how are you doing?",
"words": [
{
"word": "hi",
"start": 0.7,
"end": 1.3
}
]
}
],
"recording_url": "https://retellai.s3.us-west-2.amazonaws.com/Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6/recording.wav",
"recording_multi_channel_url": "https://retellai.s3.us-west-2.amazonaws.com/Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6/recording_multichannel.wav",
"scrubbed_recording_url": "https://retellai.s3.us-west-2.amazonaws.com/Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6/recording.wav",
"scrubbed_recording_multi_channel_url": "https://retellai.s3.us-west-2.amazonaws.com/Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6/recording_multichannel.wav",
"public_log_url": "https://retellai.s3.us-west-2.amazonaws.com/Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6/public_log.txt",
"knowledge_base_retrieved_contents_url": "https://retellai.s3.us-west-2.amazonaws.com/Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6/kb_retrieved_contents.txt",
"latency": {
"e2e": {
"p50": 800,
"p90": 1200,
"p95": 1500,
"p99": 2500,
"max": 2700,
"min": 500,
"num": 10
},
"asr": {
"p50": 800,
"p90": 1200,
"p95": 1500,
"p99": 2500,
"max": 2700,
"min": 500,
"num": 10
},
"llm": {
"p50": 800,
"p90": 1200,
"p95": 1500,
"p99": 2500,
"max": 2700,
"min": 500,
"num": 10
},
"llm_websocket_network_rtt": {
"p50": 800,
"p90": 1200,
"p95": 1500,
"p99": 2500,
"max": 2700,
"min": 500,
"num": 10
},
"tts": {
"p50": 800,
"p90": 1200,
"p95": 1500,
"p99": 2500,
"max": 2700,
"min": 500,
"num": 10
},
"knowledge_base": {
"p50": 800,
"p90": 1200,
"p95": 1500,
"p99": 2500,
"max": 2700,
"min": 500,
"num": 10
},
"s2s": {
"p50": 800,
"p90": 1200,
"p95": 1500,
"p99": 2500,
"max": 2700,
"min": 500,
"num": 10
}
},
"transfer_destination": "+12137771234",
"call_analysis": {
"call_summary": "The agent called the user to ask question about his purchase inquiry. The agent asked several questions regarding his preference and asked if user would like to book an appointment. The user happily agreed and scheduled an appointment next Monday 10am.",
"user_sentiment": "Positive",
"call_successful": true
},
"call_cost": {
"product_costs": [
{
"product": "elevenlabs_tts",
"unit_price": 1,
"cost": 60
}
],
"total_duration_seconds": 60,
"total_duration_unit_price": 1,
"combined_cost": 70
},
"unbilled_response_periods": [
{
"start_ms": 12000,
"end_ms": 45000,
"type": "cascading"
}
],
"unbilled_response_seconds": 33
}Changes
- info
added the optional property
////to the response with the status - info
added the optional property
////to the response with the status
- info
- breaking
the
/////////response's property type changed fromobjectto no type for status - breaking
the
/////////response's property type changed fromobjectto no type for status - breaking
the
/////////response's property type changed fromobjectto no type for status - breaking
the
/////////response's property type changed fromobjectto no type for status - breaking
the
/////////response's property type changed fromobjectto no type for status - breaking
the
/////response's property type changed fromobjectto no type for status - breaking
the
/////////response's property type changed fromobjectto no type for status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////from the response with the status - breaking
removed the required property
//////from the response with the status - breaking
removed the required property
//////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - breaking
removed the required property
//////////from the response with the status - warning
removed the optional property
//////////from the response with the status - warning
removed the optional property
//////////from the response with the status - warning
removed the optional property
//////////from the response with the status - warning
removed the optional property
//////////from the response with the status - warning
removed the optional property
//////////from the response with the status - warning
removed the optional property
//////from the response with the status - warning
removed the optional property
//////////from the response with the status - info
added
subschema #2to the/////////response propertyallOflist for the response status - info
added
subschema #2to the/////////response propertyallOflist for the response status - info
added
subschema #2to the/////////response propertyallOflist for the response status - info
added
subschema #2to the/////////response propertyallOflist for the response status - info
added
subschema #2to the/////////response propertyallOflist for the response status - info
added
subschema #2to the/////response propertyallOflist for the response status - info
added
subschema #2to the/////////response propertyallOflist for the response status
- breaking