Retrieve details of a specific Retell LLM Response Engine

get/get-retell-llm/{llm_id}

Path parameters

llm_idstring required
Example:16b980523634a6dc504898cda492e939

Unique id of the Retell LLM Response Engine to be retrieved.

Query parameters

versioninteger
Example:1

Optional version of the API to use for this request. Default to latest version.

Response

Successfully retrieved an Retell LLM Response Engine.

llm_idstring required

Unique id of Retell LLM Response Engine.

versioninteger

Version of the Retell LLM Response Engine.

is_publishedboolean

Whether the Retell LLM Response Engine is published.

model'gpt-4.1' | 'gpt-4.1-mini' | 'gpt-4.1-nano' | 'gpt-5' | 'gpt-5-mini' | 'gpt-5-nano' | 'gpt-5.1' | 'gpt-5.2' | 'gpt-5.4' | 'gpt-5.4-mini' | 'gpt-5.4-nano' | 'gpt-5.5' | 'claude-4.5-sonnet' | 'claude-4.6-sonnet' | 'claude-4.5-haiku' | 'gemini-2.5-flash-lite' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'null' nullable

Available LLM models for agents.

s2s_model'gpt-realtime-2' | 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | 'null' nullable

Select the underlying speech to speech model. Can only set this or model, not both.

model_temperaturenumber

If set, will control the randomness of the response. Value ranging from [0,1]. Lower value means more deterministic, while higher value means more random. If unset, default value 0 will apply. Note that for tool calling, a lower value is recommended.

model_high_priorityboolean nullable

If set to true, will use high priority pool with more dedicated resource to ensure lower and more consistent latency, default to false. This feature usually comes with a higher cost.

tool_call_strict_modeboolean nullable

Whether to use strict mode for tool calls. Only applicable when using certain supported models.

knowledge_base_idsstring[] nullable

A list of knowledge base ids to use for this resource.

start_speaker'user' | 'agent'

The speaker who starts the conversation. Required. Must be either 'user' or 'agent'.

begin_after_user_silence_msinteger nullable

If set, the AI will begin the conversation after waiting for the user for the duration (in milliseconds) specified by this attribute. This only applies if the agent is configured to wait for the user to speak first. If not set, the agent will wait indefinitely for the user to speak.

begin_messagestring nullable

First utterance said by the agent in the call. If not set, LLM will dynamically generate a message. If set to "", agent will wait for user to speak first.

general_promptstring nullable

General prompt appended to system prompt no matter what state the agent is in.

  • System prompt (with state) = general prompt + state prompt.
  • System prompt (no state) = general prompt.
starting_statestring nullable

Name of the starting state. Required if states is not empty.

default_dynamic_variablesobject nullable

Default dynamic variables represented as key-value pairs of strings. These are injected into your Retell LLM prompt and tool description when specific values are not provided in a request. Only applicable for Retell LLM.

last_modification_timestampinteger required

Last modification timestamp (milliseconds since epoch). Either the time of last update or creation if no updates available.

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.181173

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-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 status

      response-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 status

      response-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 status

      response-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 status

      response-property-pattern-changed

    • ●

      removed the optional property ///// from the response with the status

      response-optional-property-removed

    • ●

      added the new gpt-realtime-2 enum value to the //////// response property for the response status

      response-property-enum-value-added

    • ▲

      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_version list-of-types was widened by adding types integer and string to media type application/json of response 200

      response-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_version list-of-types was widened by adding types integer and string to media type application/json of response 200

      response-property-list-of-types-widened

    • ○

      the //////////// response's property pattern was changed from ^[a-z0-9_-]+$ to ^(latest|(?!(?:v\d+)$)[a-z][a-z0-9_-]{0,19})$ for the status

      response-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 status

      response-property-pattern-changed

    • ▲

      response property allOf[RetellLlmRequest]/allOf[subschema #2]/general_tools/items/oneOf[AgentSwapTool]/agent_version list-of-types was widened by adding types integer and string to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property allOf[RetellLlmRequest]/allOf[subschema #2]/states/items/tools/items/oneOf[AgentSwapTool]/agent_version list-of-types was widened by adding types integer and string to media type application/json of response 200

      response-property-list-of-types-widened

    • ○

      removed the gemini-2.5-flash enum value from the //////// response property for the response status

      response-property-enum-value-removed

  • 1b4a9d84942a21See the full diff
    • ▲

      the /////////// response property's maxLength was increased from 5000 to 20000 for the response status

      response-property-max-length-increased

    • ▲

      the ///////////// response property's maxLength was increased from 5000 to 20000 for the response status

      response-property-max-length-increased

    • ●

      added the new gpt-5.5 enum value to the //////// response property for the response status

      response-property-enum-value-added

  • 8ee53928bf31216See the full diff
    • ▲

      added to the /////////// response property oneOf list for the response status

      response-property-one-of-added

    • ▲

      added to the ///////////// response property oneOf list for the response status

      response-property-one-of-added

    • ●

      added the new gemini-3.1-flash-lite enum value to the //////// response property for the response status

      response-property-enum-value-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

  • 3aa6f6e028ef24See the full diff
    • ●

      added the new gpt-5.4-mini enum value to the //////// response property for the response status

      response-property-enum-value-added

    • ●

      added the new gpt-5.4-nano enum value to the //////// response property for the response status

      response-property-enum-value-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      removed the gpt-4o-mini-realtime enum value from the //////// response property for the response status

      response-property-enum-value-removed

    • ○

      removed the gpt-4o-realtime enum value from the //////// response property for the response status

      response-property-enum-value-removed

  • 424df3aa79002412See the full diff
    • ▲

      added to the ////// response property oneOf list for the response status

      response-property-one-of-added

    • ▲

      added to the //////// response property oneOf list for the response status

      response-property-one-of-added

    • ●

      removed the optional property ///////////// from the response with the status

      response-optional-property-removed

    • ●

      removed the optional property /////////////// from the response with the status

      response-optional-property-removed

    • ●

      added the new gpt-5.4 enum value to the //////// response property for the response status

      response-property-enum-value-added

    • ●

      added the new gpt-realtime-1.5 enum value to the //////// response property for the response status

      response-property-enum-value-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property /////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added

    • ○

      added the optional property ///////////// to the response with the status

      response-optional-property-added