GET /get-retell-llm/{llm_id}

Changed on

Retrieve details of a specific Retell LLM Response Engine

Request

  • Base URL
    https://api.retellai.com
  • Auth
    HTTP bearer

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-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' | 'gpt-5.6-terra' | 'gpt-5.6-luna' | 'gpt-6-astra' | 'gpt-6-sol' | 'gpt-6.1-sol' | 'gpt-6.1-terra' | 'gpt-6-luna' | 'claude-4.6-sonnet' | 'claude-5-opus' | 'claude-5.5-opus' | 'claude-5-sonnet' | 'claude-5.5-sonnet' | 'claude-5.5-haiku' | 'claude-4.5-haiku' | 'gemini-3.0-flash' | 'gemini-3.1-flash-lite' | 'gemini-3.5-flash' | 'gemini-3.5-flash-lite' | 'gemini-3.6-flash' | 'gemini-3.7-flash' | 'gemini-3.8-flash' | 'gemini-4-argon' | 'null' nullable

Available LLM models for agents.

s2s_model'gpt-realtime-2.1' | 'gpt-realtime-2.1-mini' | 'gpt-realtime-2' | 'gpt-realtime-1.5' | 'gpt-realtime' | 'gpt-realtime-mini' | 'grok-voice-3.0' | 'null' nullable

The speech-to-speech model to use

model_temperaturenumber

Deprecated, use model_config.temperature. Ignored when model_config is set.

model_high_priorityboolean nullable

Deprecated, use model_config.primary.tier fast. Ignored when model_config is set.

model_ultrafastboolean nullable

Deprecated, use model_config.primary.tier ultrafast. Ignored when model_config is set.

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.
voice_promptstring nullable

Prompt for the voice model when model_config.type is duplex, at most 15,000 tokens. Required for duplex, where general_prompt is the backend's prompt. Kept when you switch models.

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.

is_transfer_llmboolean nullable

Whether this Retell LLM is used for warm transfer. Can only be set at creation, and is ignored on update.

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",
  "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.",
  "general_prompt": "You are ...",
  "voice_prompt": "You are a friendly voice assistant for ...",
  "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": "custom",
          "name": "book_appointment",
          "description": "Book an annual check up.",
          "url": "https://api.example.com/book-appointment",
          "method": "POST"
        }
      ]
    }
  ],
  "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

    • warning

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

    • info

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

    • info

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