curl --request GET \
--url https://api-west.millis.ai/phones \
--header 'authorization: <authorization>'[
{
"id": "<string>",
"create_at": 123,
"status": "<string>",
"agent_id": "<string>",
"agent_config_override": {
"prompt": "<string>",
"voice": {
"provider": "elevenlabs",
"voice_id": "<string>",
"model": "<string>",
"settings": {}
},
"flow": {
"user_start_first": true,
"interruption": {
"allowed": true,
"keep_interruption_message": true,
"first_messsage": true
},
"response_delay": 123,
"auto_fill_responses": {
"response_gap_threshold": 123,
"messages": [
"<string>"
]
},
"agent_terminate_call": {
"enabled": true,
"instruction": "<string>",
"messages": [
"<string>"
]
},
"voicemail": {
"action": "hangup",
"message": "<string>",
"continue_on_voice_activity": true,
"detection_phrases": [
"<string>"
]
},
"call_transfer": {
"phone": "<string>",
"phones": [
{
"phone": "<string>",
"description": "<string>"
}
],
"instruction": "<string>",
"messages": [
"<string>"
]
},
"inactivity_handling": {
"idle_time": 123,
"message": "<string>"
},
"dtmf_dial": {
"enabled": false,
"instruction": "<string>"
}
},
"first_message": "<string>",
"tools": [
{
"name": "<string>",
"description": "<string>",
"params": [
{
"name": "<string>",
"required": true,
"type": "<string>",
"description": "<string>"
}
],
"webhook": "<string>",
"header": {},
"method": "<string>",
"timeout": 123,
"run_after_call": true,
"messages": [
"<string>"
],
"response_mode": "strict",
"execute_after_message": true,
"exclude_session_id": true,
"include_metadata": true
}
],
"millis_functions": [
{
"name": "<string>",
"description": "<string>",
"data": {
"param": {
"description": "<string>",
"name": "<string>",
"required": true,
"type": "<string>"
}
},
"type": "<string>",
"params": [
{
"name": "<string>",
"required": true,
"type": "<string>",
"description": "<string>"
}
],
"messages": [
"<string>"
],
"response_mode": "strict"
}
],
"app_functions": [
{
"name": "<string>",
"credentials": {}
}
],
"custom_llm_websocket": "<string>",
"language": "en-US",
"vad_threshold": 123,
"llm": {
"model": "gpt-3.5-turbo",
"temperature": 0,
"history_settings": {
"history_message_limit": 123,
"history_tool_result_limit": 123
}
},
"session_timeout": {
"max_duration": 123,
"max_idle": 123,
"message": "<string>"
},
"session_data_webhook": "<string>",
"privacy_settings": {
"opt_out_data_collection": true,
"do_not_call_detection": false
},
"custom_vocabulary": {
"keywords": {}
},
"extra_prompt_webhook": "<string>",
"switch_language": {
"languages": [
"<string>"
]
},
"knowledge_base": {
"files": [
"<string>"
],
"messages": [
"<string>"
]
},
"speech_to_text": {
"provider": "deepgram",
"multilingual": true,
"model": "<string>",
"denoise": false,
"denoiser": {
"settings": {}
}
},
"call_settings": {
"enable_recording": false,
"background": {
"url": "<string>",
"volume": 123
}
},
"memory": {
"user_identifier_key": ""
},
"timezone": "<string>",
"status": "active"
},
"tags": [
"<string>"
]
}
]curl --request GET \
--url https://api-west.millis.ai/phones \
--header 'authorization: <authorization>'[
{
"id": "<string>",
"create_at": 123,
"status": "<string>",
"agent_id": "<string>",
"agent_config_override": {
"prompt": "<string>",
"voice": {
"provider": "elevenlabs",
"voice_id": "<string>",
"model": "<string>",
"settings": {}
},
"flow": {
"user_start_first": true,
"interruption": {
"allowed": true,
"keep_interruption_message": true,
"first_messsage": true
},
"response_delay": 123,
"auto_fill_responses": {
"response_gap_threshold": 123,
"messages": [
"<string>"
]
},
"agent_terminate_call": {
"enabled": true,
"instruction": "<string>",
"messages": [
"<string>"
]
},
"voicemail": {
"action": "hangup",
"message": "<string>",
"continue_on_voice_activity": true,
"detection_phrases": [
"<string>"
]
},
"call_transfer": {
"phone": "<string>",
"phones": [
{
"phone": "<string>",
"description": "<string>"
}
],
"instruction": "<string>",
"messages": [
"<string>"
]
},
"inactivity_handling": {
"idle_time": 123,
"message": "<string>"
},
"dtmf_dial": {
"enabled": false,
"instruction": "<string>"
}
},
"first_message": "<string>",
"tools": [
{
"name": "<string>",
"description": "<string>",
"params": [
{
"name": "<string>",
"required": true,
"type": "<string>",
"description": "<string>"
}
],
"webhook": "<string>",
"header": {},
"method": "<string>",
"timeout": 123,
"run_after_call": true,
"messages": [
"<string>"
],
"response_mode": "strict",
"execute_after_message": true,
"exclude_session_id": true,
"include_metadata": true
}
],
"millis_functions": [
{
"name": "<string>",
"description": "<string>",
"data": {
"param": {
"description": "<string>",
"name": "<string>",
"required": true,
"type": "<string>"
}
},
"type": "<string>",
"params": [
{
"name": "<string>",
"required": true,
"type": "<string>",
"description": "<string>"
}
],
"messages": [
"<string>"
],
"response_mode": "strict"
}
],
"app_functions": [
{
"name": "<string>",
"credentials": {}
}
],
"custom_llm_websocket": "<string>",
"language": "en-US",
"vad_threshold": 123,
"llm": {
"model": "gpt-3.5-turbo",
"temperature": 0,
"history_settings": {
"history_message_limit": 123,
"history_tool_result_limit": 123
}
},
"session_timeout": {
"max_duration": 123,
"max_idle": 123,
"message": "<string>"
},
"session_data_webhook": "<string>",
"privacy_settings": {
"opt_out_data_collection": true,
"do_not_call_detection": false
},
"custom_vocabulary": {
"keywords": {}
},
"extra_prompt_webhook": "<string>",
"switch_language": {
"languages": [
"<string>"
]
},
"knowledge_base": {
"files": [
"<string>"
],
"messages": [
"<string>"
]
},
"speech_to_text": {
"provider": "deepgram",
"multilingual": true,
"model": "<string>",
"denoise": false,
"denoiser": {
"settings": {}
}
},
"call_settings": {
"enable_recording": false,
"background": {
"url": "<string>",
"volume": 123
}
},
"memory": {
"user_identifier_key": ""
},
"timezone": "<string>",
"status": "active"
},
"tags": [
"<string>"
]
}
]Successful Response
Show child attributes
The prompt used to configure the agent's behavior.
Configuration for the agent's voice.
Show child attributes
The TTS provider for generating the agent's voice.
elevenlabs, openai, cartesia, playht, deepgram, rime, neets, openai_realtime, dubverse, orpheus, sesame, kokoro, sarvam, hume The unique identifier for the voice used by the agent.
The model name provided by ElevenLabs (e.g., 'eleven_turbo_v2_5') for voice generation.
Additional voice_settings for ElevenLabs voice, such as stability and similarity boost values.
Settings for conversation flow management.
Show child attributes
Determines if the user speaks first to initiate the conversation.
Settings related to handling interruptions during the agent's responses.
Show child attributes
Indicates if user interruptions are allowed during the agent's response.
Specifies whether to keep the interrupted message in the response.
Defines if interruptions are allowed during the agent's initial message.
Configures delays for agent responses.
Settings for predefined agent responses when there are response gaps.
Show child attributes
Configuration for enabling the agent to terminate calls autonomously.
Show child attributes
Specifies whether the agent can end the call autonomously.
Custom instructions for the agent on when to terminate the call.
List of messages the agent may use before ending a call.
Settings related to handling voicemail scenarios.
Show child attributes
The action to take when a voicemail is detected, e.g., hang up or leave a message.
hangup, message The message to leave as voicemail if the agent opts to do so.
Determines if the agent continues the conversation on voice activity during voicemail handling.
Custom phrases that should be recognized as voicemail indicators in addition to the default detection logic.
Configuration for transferring calls to another phone number.
Show child attributes
The phone number to transfer the call to (legacy support).
List of available phone transfer options with descriptions.
General instructions for the agent on how to handle call transfers.
Predefined messages for the agent to say before initiating the call transfer.
Settings for handling user inactivity during the call.
Configuration for enabling DTMF dial tone support.
Show child attributes
Specifies whether the agent can send DTMF dial tones during calls.
Optional instructions for the agent on how to use DTMF tones during calls (e.g., 'Press 1 after the prompt').
The agent's opening message for conversations.
List of tools/functions the agent can use.
Show child attributes
The name of the function.
A description of the function's purpose.
List of parameters required by the function.
Show child attributes
The parameter name for a function.
Indicates if the parameter is required.
The data type of the parameter.
A description of the parameter.
The webhook URL to trigger the function.
HTTP method to use for the webhook (e.g., POST, GET).
Timeout in seconds for the function to complete before failing.
Specifies if the function should only run after the call ends.
Predefined messages for agent to say while executing the function.
Indicates if agent's response should be strict or flexible.
strict, flexible Indicates if the function starts executing only after a predefined message is played.
Indicates if the session ID should not be included in the webhook request.
Indicates if metadata should be included in the webhook request.
Millis-specific functions for agent customization.
Show child attributes
The name of the Webform function.
A description of what the function does.
Data required for the function, including parameters.
Show child attributes
Details of a parameter for a Webform function.
Show child attributes
A description of the parameter's use in the function.
The name of the parameter.
Specifies if the parameter is mandatory.
The data type of the parameter.
Type of the function (e.g., webform, webhook).
List of parameters included in the function.
Show child attributes
The parameter name for a function.
Indicates if the parameter is required.
The data type of the parameter.
A description of the parameter.
Predefined messages for agent to say while executing the function.
Indicates if agent's response should be strict or flexible.
strict, flexible Predefined functions tied to app integrations.
Show child attributes
WebSocket URL for custom LLM integration.
The default language for the agent.
ln, cy, wo, cs, hy, nl, ceb, la, en-NZ, ss, lt, ne, fy, oc, yi, tt, bn, fr-CA, sw, th, ms, ka, pa, fi, ig, af, multi, eu, bs, ps, en-AU, si, ff, de, mt, km, pl, nl-BE, fr, en-IN, no, gu, lo, sk, ht, tk, bg, mn, su, ko, it, id, tl, zu, pt-BR, jv, et, ca, sl, ja, lb, gl, zh-TW, hi, ha, th-TH, lv, ast, sq, tr, ar, sv, haw, tg, lg, ba, mk, vi, hu, el, mi, en-US, kn, az, he, hr, ml, kk, es, br, sr, xh, uk, as, ilo, ru, gd, yo, da, sa, fa, es-419, bo, ur, my, nn, mo, so, mr, tn, sd, sn, uz, de-CH, fo, en-GB, zh, ro, pt, or, ga, ta, mg, en, be, am, te, is Voice activity detection threshold for detecting speech.
Configuration for the LLM used by the agent.
Show child attributes
The language model provider used for generating responses.
gpt-3.5-turbo, gpt-4.1, gpt-4.1-mini, gpt-4.1-nano, gpt-4-turbo, gpt-4o-realtime-preview, gpt-4o-mini-realtime-preview, gpt-4o, gpt-4o-mini, llama-3-70b, llama-3-1-8b, llama-3-1-70b, llama-3-1-405b, mistral-large-2407, l3.1-70b-euryale-v2.2, deepseek-v3, gpt-5-nano, gpt-5-mini, llama-3-3-70b, kimi-k2 Temperature setting for response variability.
Settings related to chat history retention for cost optimization
Show child attributes
Number of latest chat messages to keep and send to LLM during a call. If None, defaults to no limit.
Only include tool call results if they appear within the last N chat messages.
Settings related to session duration and idle time.
Show child attributes
Maximum call duration (in seconds) before ending the session.
Maximum idle time (in seconds) with no user input before ending the session.
Message to play when the session times out.
Webhook for receiving end of session data.
Settings for user privacy and data collection.
Show child attributes
Indicates if the user wants to opt out of data collection.
Specifies whether Do Not Call detection is enabled. When enabled, the agent will detect if the user wants to opt-out of future calls or be added to a Do Not Call list.
Webhook for providing extra prompts and metadata at the start of a conversation.
Configuration for the agent's knowledge base.
Speech-to-text configuration for transcription.
Show child attributes
The STT provider for transcribing speech into text.
deepgram, gladia, talkscriber, sarvam Indicates if the STT supports multiple languages at the same time.
Specified model for STT provider
Apply AI-Coustics denoising before forwarding audio to STT.
General settings for calls.
Show child attributes
Specifies whether call recording is enabled.
The timezone for the agent's operation.
The status of the agent (active or disabled). Disabled agents cannot be used for calls. Defaults to active.
active, disabled