Create a new Retell LLM Response Engine that can be attached to an agent. This is used to generate response output for the agent.
Request body
Example request
{
"s2s_model": "gpt-realtime-1.5",
"model_high_priority": true,
"tool_call_strict_mode": 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.",
"general_prompt": "You are ...",
"general_tools": [
{
"type": "end_call",
"name": "end_call",
"description": "End the call with user."
}
],
"states": [
{
"name": "information_collection",
"state_prompt": "You will follow the steps below to collect information...",
"edges": [
{
"destination_state_name": "appointment_booking",
"description": "Transition to book an appointment."
}
],
"tools": [
{
"type": "transfer_call",
"name": "transfer_to_support",
"description": "Transfer to the support team.",
"transfer_destination": {
"type": "predefined",
"number": "16175551212",
"ignore_e164_validation": false
},
"transfer_option": {
"type": "cold_transfer",
"show_transferee_as_caller": false
}
}
]
},
{
"name": "appointment_booking",
"state_prompt": "You will follow the steps below to book an appointment...",
"tools": [
{
"type": "book_appointment_cal",
"name": "book_appointment",
"description": "Book an annual check up.",
"cal_api_key": "cal_live_xxxxxxxxxxxx",
"event_type_id": 60444,
"timezone": "America/Los_Angeles"
}
]
}
],
"starting_state": "information_collection",
"default_dynamic_variables": {
"customer_name": "John Doe"
},
"mcps": [
{
"headers": {
"Authorization": "Bearer 1234567890"
},
"query_params": {
"index": "1",
"key": "value"
}
}
]
}Response
Successfully created a new Retell LLM Response Engine.
Example response
{
"llm_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD",
"s2s_model": "gpt-realtime-1.5",
"model_high_priority": true,
"tool_call_strict_mode": 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.",
"general_prompt": "You are ...",
"general_tools": [
{
"type": "end_call",
"name": "end_call",
"description": "End the call with user."
}
],
"states": [
{
"name": "information_collection",
"state_prompt": "You will follow the steps below to collect information...",
"edges": [
{
"destination_state_name": "appointment_booking",
"description": "Transition to book an appointment."
}
],
"tools": [
{
"type": "transfer_call",
"name": "transfer_to_support",
"description": "Transfer to the support team.",
"transfer_destination": {
"type": "predefined",
"number": "16175551212",
"ignore_e164_validation": false
},
"transfer_option": {
"type": "cold_transfer",
"show_transferee_as_caller": false
}
}
]
},
{
"name": "appointment_booking",
"state_prompt": "You will follow the steps below to book an appointment...",
"tools": [
{
"type": "book_appointment_cal",
"name": "book_appointment",
"description": "Book an annual check up.",
"cal_api_key": "cal_live_xxxxxxxxxxxx",
"event_type_id": 60444,
"timezone": "America/Los_Angeles"
}
]
}
],
"starting_state": "information_collection",
"default_dynamic_variables": {
"customer_name": "John Doe"
},
"mcps": [
{
"headers": {
"Authorization": "Bearer 1234567890"
},
"query_params": {
"index": "1",
"key": "value"
}
}
],
"last_modification_timestamp": 1703413636133
}Changes
Changed in 14 of the 28 revisions of this API.3720159
- ●
changed the pattern of the request property
////////from^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$to^(latest|latest_published|(?!(?:latest|latest_published|v\d+)$)[a-z][a-z0-9_-]{0,19})$request-property-pattern-changed
- ●
changed the pattern of the request property
////////////from^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$to^(latest|latest_published|(?!(?:latest|latest_published|v\d+)$)[a-z][a-z0-9_-]{0,19})$request-property-pattern-changed
- ●
changed the pattern of the request property
//////////from^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$to^(latest|latest_published|(?!(?:latest|latest_published|v\d+)$)[a-z][a-z0-9_-]{0,19})$request-property-pattern-changed
- ●
changed the pattern of the request property
//////////////from^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$to^(latest|latest_published|(?!(?:latest|latest_published|v\d+)$)[a-z][a-z0-9_-]{0,19})$request-property-pattern-changed
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
the
////////////response's property pattern was changed from^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$to^(latest|latest_published|(?!(?:latest|latest_published|v\d+)$)[a-z][a-z0-9_-]{0,19})$for the statusresponse-property-pattern-changed
- ○
the
////////////////response's property pattern was changed from^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$to^(latest|latest_published|(?!(?:latest|latest_published|v\d+)$)[a-z][a-z0-9_-]{0,19})$for the statusresponse-property-pattern-changed
- ○
the
//////////////response's property pattern was changed from^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$to^(latest|latest_published|(?!(?:latest|latest_published|v\d+)$)[a-z][a-z0-9_-]{0,19})$for the statusresponse-property-pattern-changed
- ○
the
//////////////////response's property pattern was changed from^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$to^(latest|latest_published|(?!(?:latest|latest_published|v\d+)$)[a-z][a-z0-9_-]{0,19})$for the statusresponse-property-pattern-changed
- ●
- ●
removed the request property
/request-property-removed
- ●
removed the optional property
/////from the response with the statusresponse-optional-property-removed
- ●
- ●
added the new
gpt-realtime-2enum value to the////////response property for the response statusresponse-property-enum-value-added
- ○
added the new
gpt-realtime-2enum value to the request property////request-property-enum-value-added
- ●
- ▲
request property
///////////list-of-types was narrowed by removing typesnumberfrom media typeapplication/jsonrequest-property-list-of-types-narrowed
- ▲
request property
/////////////list-of-types was narrowed by removing typesnumberfrom media typeapplication/jsonrequest-property-list-of-types-narrowed
- ▲
response property
allOf[RetellLlmRequest]/allOf[subschema #2]/general_tools/items/oneOf[TransferCallTool]/transfer_option/oneOf[subschema #3: Agentic Warm Transfer]/agentic_transfer_config/transfer_agent/agent_versionlist-of-types was widened by adding typesinteger and stringto media typeapplication/jsonof response201response-property-list-of-types-widened
- ▲
response property
allOf[RetellLlmRequest]/allOf[subschema #2]/states/items/tools/items/oneOf[TransferCallTool]/transfer_option/oneOf[subschema #3: Agentic Warm Transfer]/agentic_transfer_config/transfer_agent/agent_versionlist-of-types was widened by adding typesinteger and stringto media typeapplication/jsonof response201response-property-list-of-types-widened
- ●
changed the pattern of the request property
////////from^[a-z0-9_-]+$to^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$request-property-pattern-changed
- ●
changed the pattern of the request property
//////////from^[a-z0-9_-]+$to^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$request-property-pattern-changed
- ○
the
////////////response's property pattern was changed from^[a-z0-9_-]+$to^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$for the statusresponse-property-pattern-changed
- ○
the
//////////////response's property pattern was changed from^[a-z0-9_-]+$to^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$for the statusresponse-property-pattern-changed
- ▲
- ▲
removed the enum value
gemini-2.5-flashof the request property////request-property-enum-value-removed
- ▲
request property
///////list-of-types was narrowed by removing typesnumberfrom media typeapplication/jsonrequest-property-list-of-types-narrowed
- ▲
request property
/////////list-of-types was narrowed by removing typesnumberfrom media typeapplication/jsonrequest-property-list-of-types-narrowed
- ▲
response property
allOf[RetellLlmRequest]/allOf[subschema #2]/general_tools/items/oneOf[AgentSwapTool]/agent_versionlist-of-types was widened by adding typesinteger and stringto media typeapplication/jsonof response201response-property-list-of-types-widened
- ▲
response property
allOf[RetellLlmRequest]/allOf[subschema #2]/states/items/tools/items/oneOf[AgentSwapTool]/agent_versionlist-of-types was widened by adding typesinteger and stringto media typeapplication/jsonof response201response-property-list-of-types-widened
- ○
removed the
gemini-2.5-flashenum value from the////////response property for the response statusresponse-property-enum-value-removed
- ▲
- ▲
the
///////////response property's maxLength was increased from5000to20000for the response statusresponse-property-max-length-increased
- ▲
the
/////////////response property's maxLength was increased from5000to20000for the response statusresponse-property-max-length-increased
- ●
added the new
gpt-5.5enum value to the////////response property for the response statusresponse-property-enum-value-added
- ○
added the new
gpt-5.5enum value to the request property////request-property-enum-value-added
- ○
the
///////request property's maxLength was increased from5000to20000request-property-max-length-increased
- ○
the
/////////request property's maxLength was increased from5000to20000request-property-max-length-increased
- ▲
- ▲
added to the
///////////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added to the
/////////////response propertyoneOflist for the response statusresponse-property-one-of-added
- ●
added the new
gemini-3.1-flash-liteenum value to the////////response property for the response statusresponse-property-enum-value-added
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new
gemini-3.1-flash-liteenum value to the request property////request-property-enum-value-added
- ○
added to the
///////request propertyoneOflistrequest-property-one-of-added
- ○
added to the
/////////request propertyoneOflistrequest-property-one-of-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ▲
- ○
added the new optional request property
/////////////new-optional-request-property
- ○
added the new optional request property
/////////////new-optional-request-property
- ○
added the new optional request property
/////////////new-optional-request-property
- ○
added the new optional request property
/////////////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////////////new-optional-request-property
- ○
added the new optional request property
///////////////new-optional-request-property
- ○
added the new optional request property
///////////////new-optional-request-property
- ○
added the new optional request property
///////////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the optional property
/////////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
- ▲
removed the enum value
gpt-4o-mini-realtimeof the request property////request-property-enum-value-removed
- ▲
removed the enum value
gpt-4o-realtimeof the request property////request-property-enum-value-removed
- ●
added the new
gpt-5.4-minienum value to the////////response property for the response statusresponse-property-enum-value-added
- ●
added the new
gpt-5.4-nanoenum value to the////////response property for the response statusresponse-property-enum-value-added
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new
gpt-5.4-minienum value to the request property////request-property-enum-value-added
- ○
added the new
gpt-5.4-nanoenum value to the request property////request-property-enum-value-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
removed the
gpt-4o-mini-realtimeenum value from the////////response property for the response statusresponse-property-enum-value-removed
- ○
removed the
gpt-4o-realtimeenum value from the////////response property for the response statusresponse-property-enum-value-removed
- ▲
- ▲
added to the
//////response propertyoneOflist for the response statusresponse-property-one-of-added
- ▲
added to the
////////response propertyoneOflist for the response statusresponse-property-one-of-added
- ●
removed the request property
/////////request-property-removed
- ●
removed the request property
///////////request-property-removed
- ●
removed the optional property
/////////////from the response with the statusresponse-optional-property-removed
- ●
removed the optional property
///////////////from the response with the statusresponse-optional-property-removed
- ●
added the new
gpt-5.4enum value to the////////response property for the response statusresponse-property-enum-value-added
- ●
added the new
gpt-realtime-1.5enum value to the////////response property for the response statusresponse-property-enum-value-added
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
///////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new optional request property
/////////new-optional-request-property
- ○
added the new
gpt-5.4enum value to the request property////request-property-enum-value-added
- ○
added the new
gpt-realtime-1.5enum value to the request property////request-property-enum-value-added
- ○
added to the
//request propertyoneOflistrequest-property-one-of-added
- ○
added to the
////request propertyoneOflistrequest-property-one-of-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
///////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ○
added the optional property
/////////////to the response with the statusresponse-optional-property-added
- ▲