{
"name": "<string>",
"id": 123,
"organization_id": 123,
"user_id": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"llm_provider": "openai",
"llm_provider_config": {
"api_key": "<string>",
"base_url": "<string>",
"model": "gpt-4o-mini",
"custom_config": {}
},
"llm_settings": {
"temperature": 0.5,
"max_tokens": 1000,
"system_prompt": "You are a helpful assistant that can answer questions and help with tasks.",
"welcome_message": "<string>",
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"stop_sequences": [
"<string>"
]
},
"webhook_url": "<string>",
"sms_webhook_url": "<string>",
"messaging_service_sid": "<string>",
"interruption_settings": {
"interruption_threshold": 3,
"min_speaking_time": 0.5,
"interruption_cooldown": 2,
"interruption_mode": "<string>",
"min_stt_confidence": 0.65,
"confirmation_window_ms": 400,
"tentative_confirm_words": 2,
"backchannel_filter": true,
"tail_protection_ms": 2000
},
"tts_settings": {
"provider": "elevenlabs",
"voice_id": "rachel",
"model_id": "turbo",
"latency": 1,
"stability": 0.5,
"similarity_boost": 0.75,
"style": 0,
"speed": 1,
"volume": 1,
"use_speaker_boost": true,
"provider_config": {},
"background_sound": {
"enabled": false,
"storage_key": "<string>",
"sound_url": "<string>",
"volume": 0.3,
"loop": true
}
},
"stt_settings": {
"provider": "deepgram",
"model": "nova-2",
"language": "en-US",
"punctuate": true,
"interim_results": true,
"endpointing": {
"silence_threshold": 500,
"min_silence_duration": 500
},
"utterance_end_ms": 1000,
"smart_format": true,
"keywords": [
{
"keyword": "<string>",
"intensifier": 1
}
],
"keyterms": [
"<string>"
],
"diarize": false,
"detect_entities": false,
"audio_denoising": false,
"flux_config": {
"eot_timeout_ms": 5005,
"eager_eot_threshold": 0.6,
"eot_threshold": 0.7,
"language_hints": [
"<string>"
],
"tag": "<string>",
"mip_opt_out": false
},
"elevenlabs_config": {
"commit_strategy": "vad",
"vad_threshold": 0.5,
"vad_silence_threshold_secs": 0.8,
"min_speech_duration_ms": 100,
"min_silence_duration_ms": 250,
"include_timestamps": false,
"include_language_detection": false,
"manual_commit_silence_secs": 1.5,
"manual_commit_short_silence_secs": 0.8
},
"speechmatics_config": {
"region": "us",
"max_delay": 1,
"enable_partials": true,
"remove_disfluencies": true,
"enable_diarization": false,
"speaker_diarization_max_speakers": 2,
"additional_vocab": [
"<string>"
],
"utterance_silence_timeout": 1
},
"soniox_config": {
"language_hints": [
"<string>"
],
"enable_endpoint_detection": true,
"max_endpoint_delay_ms": 2000,
"enable_speaker_diarization": false,
"enable_language_identification": false,
"context_terms": [
"<string>"
],
"context_text": "<string>",
"context_general": [
{}
],
"context_translation_terms": [
{}
],
"translation_type": "<string>",
"translation_target_language": "<string>",
"translation_language_a": "<string>",
"translation_language_b": "<string>",
"num_channels": 1,
"utterance_silence_timeout": 1
},
"speculative_config": {
"enable_speculative_llm": false,
"speculative_stream_to_tts": true,
"speculative_debounce_ms": 300,
"speculative_min_words": 3,
"speculative_similarity_threshold": 0.85
},
"utterance_timeout_seconds": 2.65,
"incomplete_utterance_detection": false,
"provider_config": {},
"prefer_flux_for_english": false,
"english_flux_config": {
"eot_timeout_ms": 5005,
"eager_eot_threshold": 0.6,
"eot_threshold": 0.7,
"language_hints": [
"<string>"
],
"tag": "<string>",
"mip_opt_out": false
}
},
"end_call_message": "<string>",
"transfer_call_message": "<string>",
"idle_message": "Are you still there? I'm here to help if you need anything.",
"max_idle_messages": 123,
"idle_timeout": 123,
"max_call_length": 2,
"conversation_continuity_enabled": true,
"tools_settings": {
"enabled_tools": [
"<string>"
],
"end_call": {
"enabled": false,
"scenarios": [
"<string>"
],
"custom_message": "<string>"
},
"transfer_call": {
"enabled": false,
"scenarios": [
"<string>"
],
"transfer_numbers": [
"<string>"
],
"custom_message": "<string>",
"transfer_type": "cold",
"agent_confirmation": false,
"unavailable_message": "<string>"
},
"dtmf_solver": {
"enabled": false,
"scenarios": [
"<string>"
]
},
"send_sms": {
"enabled": false,
"scenarios": [
"<string>"
],
"default_message": "<string>"
},
"custom_tools": [
{}
]
},
"rag_settings": {
"enabled": false,
"rag_inject_before_llm": false,
"search_limit": 3,
"similarity_threshold": 0.7,
"embedding_model": "text-embedding-3-small",
"chunking_strategy": "recursive",
"chunk_size": 1000,
"chunk_overlap": 200,
"auto_process": true,
"include_metadata": true,
"context_window_tokens": 4000
},
"llm_fallback_providers": {
"enabled": false,
"fallbacks": [
{
"provider": "<string>",
"api_key": "<string>",
"base_url": "<string>",
"model": "<string>"
}
]
},
"bypass_numbers": [
"<string>"
],
"custom_settings": {},
"is_active": true,
"backchannel_settings": {
"enabled": false,
"frequency": 3
},
"recording_settings": {
"enabled": true,
"format": "mp3",
"sample_rate": 8000,
"channels": 1,
"record_user_audio": true,
"record_assistant_audio": true,
"record_mixed_audio": true,
"record_user_only_track": true,
"auto_save": true,
"recordings_dir": "recordings",
"create_database_records": true,
"disclosure_enabled": false,
"disclosure_message": "<string>",
"disclosure_mode": "every_call"
},
"api_keys": {},
"tts_limit": 500,
"stt_limit": 500,
"total_calls": 123,
"avg_call_duration": 123,
"success_rate": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Update Assistant
Update an assistant.
Updates the assistant configuration if it belongs to your organization. Only the fields provided in the request will be updated.
{
"name": "<string>",
"id": 123,
"organization_id": 123,
"user_id": 123,
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"description": "<string>",
"llm_provider": "openai",
"llm_provider_config": {
"api_key": "<string>",
"base_url": "<string>",
"model": "gpt-4o-mini",
"custom_config": {}
},
"llm_settings": {
"temperature": 0.5,
"max_tokens": 1000,
"system_prompt": "You are a helpful assistant that can answer questions and help with tasks.",
"welcome_message": "<string>",
"top_p": 1,
"frequency_penalty": 0,
"presence_penalty": 0,
"stop_sequences": [
"<string>"
]
},
"webhook_url": "<string>",
"sms_webhook_url": "<string>",
"messaging_service_sid": "<string>",
"interruption_settings": {
"interruption_threshold": 3,
"min_speaking_time": 0.5,
"interruption_cooldown": 2,
"interruption_mode": "<string>",
"min_stt_confidence": 0.65,
"confirmation_window_ms": 400,
"tentative_confirm_words": 2,
"backchannel_filter": true,
"tail_protection_ms": 2000
},
"tts_settings": {
"provider": "elevenlabs",
"voice_id": "rachel",
"model_id": "turbo",
"latency": 1,
"stability": 0.5,
"similarity_boost": 0.75,
"style": 0,
"speed": 1,
"volume": 1,
"use_speaker_boost": true,
"provider_config": {},
"background_sound": {
"enabled": false,
"storage_key": "<string>",
"sound_url": "<string>",
"volume": 0.3,
"loop": true
}
},
"stt_settings": {
"provider": "deepgram",
"model": "nova-2",
"language": "en-US",
"punctuate": true,
"interim_results": true,
"endpointing": {
"silence_threshold": 500,
"min_silence_duration": 500
},
"utterance_end_ms": 1000,
"smart_format": true,
"keywords": [
{
"keyword": "<string>",
"intensifier": 1
}
],
"keyterms": [
"<string>"
],
"diarize": false,
"detect_entities": false,
"audio_denoising": false,
"flux_config": {
"eot_timeout_ms": 5005,
"eager_eot_threshold": 0.6,
"eot_threshold": 0.7,
"language_hints": [
"<string>"
],
"tag": "<string>",
"mip_opt_out": false
},
"elevenlabs_config": {
"commit_strategy": "vad",
"vad_threshold": 0.5,
"vad_silence_threshold_secs": 0.8,
"min_speech_duration_ms": 100,
"min_silence_duration_ms": 250,
"include_timestamps": false,
"include_language_detection": false,
"manual_commit_silence_secs": 1.5,
"manual_commit_short_silence_secs": 0.8
},
"speechmatics_config": {
"region": "us",
"max_delay": 1,
"enable_partials": true,
"remove_disfluencies": true,
"enable_diarization": false,
"speaker_diarization_max_speakers": 2,
"additional_vocab": [
"<string>"
],
"utterance_silence_timeout": 1
},
"soniox_config": {
"language_hints": [
"<string>"
],
"enable_endpoint_detection": true,
"max_endpoint_delay_ms": 2000,
"enable_speaker_diarization": false,
"enable_language_identification": false,
"context_terms": [
"<string>"
],
"context_text": "<string>",
"context_general": [
{}
],
"context_translation_terms": [
{}
],
"translation_type": "<string>",
"translation_target_language": "<string>",
"translation_language_a": "<string>",
"translation_language_b": "<string>",
"num_channels": 1,
"utterance_silence_timeout": 1
},
"speculative_config": {
"enable_speculative_llm": false,
"speculative_stream_to_tts": true,
"speculative_debounce_ms": 300,
"speculative_min_words": 3,
"speculative_similarity_threshold": 0.85
},
"utterance_timeout_seconds": 2.65,
"incomplete_utterance_detection": false,
"provider_config": {},
"prefer_flux_for_english": false,
"english_flux_config": {
"eot_timeout_ms": 5005,
"eager_eot_threshold": 0.6,
"eot_threshold": 0.7,
"language_hints": [
"<string>"
],
"tag": "<string>",
"mip_opt_out": false
}
},
"end_call_message": "<string>",
"transfer_call_message": "<string>",
"idle_message": "Are you still there? I'm here to help if you need anything.",
"max_idle_messages": 123,
"idle_timeout": 123,
"max_call_length": 2,
"conversation_continuity_enabled": true,
"tools_settings": {
"enabled_tools": [
"<string>"
],
"end_call": {
"enabled": false,
"scenarios": [
"<string>"
],
"custom_message": "<string>"
},
"transfer_call": {
"enabled": false,
"scenarios": [
"<string>"
],
"transfer_numbers": [
"<string>"
],
"custom_message": "<string>",
"transfer_type": "cold",
"agent_confirmation": false,
"unavailable_message": "<string>"
},
"dtmf_solver": {
"enabled": false,
"scenarios": [
"<string>"
]
},
"send_sms": {
"enabled": false,
"scenarios": [
"<string>"
],
"default_message": "<string>"
},
"custom_tools": [
{}
]
},
"rag_settings": {
"enabled": false,
"rag_inject_before_llm": false,
"search_limit": 3,
"similarity_threshold": 0.7,
"embedding_model": "text-embedding-3-small",
"chunking_strategy": "recursive",
"chunk_size": 1000,
"chunk_overlap": 200,
"auto_process": true,
"include_metadata": true,
"context_window_tokens": 4000
},
"llm_fallback_providers": {
"enabled": false,
"fallbacks": [
{
"provider": "<string>",
"api_key": "<string>",
"base_url": "<string>",
"model": "<string>"
}
]
},
"bypass_numbers": [
"<string>"
],
"custom_settings": {},
"is_active": true,
"backchannel_settings": {
"enabled": false,
"frequency": 3
},
"recording_settings": {
"enabled": true,
"format": "mp3",
"sample_rate": 8000,
"channels": 1,
"record_user_audio": true,
"record_assistant_audio": true,
"record_mixed_audio": true,
"record_user_only_track": true,
"auto_save": true,
"recordings_dir": "recordings",
"create_database_records": true,
"disclosure_enabled": false,
"disclosure_message": "<string>",
"disclosure_mode": "every_call"
},
"api_keys": {},
"tts_limit": 500,
"stt_limit": 500,
"total_calls": 123,
"avg_call_duration": 123,
"success_rate": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Path Parameters
assistant_id(string, required): The unique identifier of the assistant you want to update.
Request Body
The request body is a JSON object containing the fields to update. The structure and available parameters are identical to those used when creating an assistant. Refer to Create Assistant for the full schema and Assistant configuration for how dashboard settings map to runtime behavior.Examples
Update basic settings:{
"name": "Senior Customer Support Specialist",
"llm_settings": {
"temperature": 0.5,
"top_p": 0.9
}
}
{
"transfer_call_message": "Let me brief a specialist and connect you.",
"tools_settings": {
"transfer_call": {
"enabled": true,
"scenarios": [
"caller asks for a human",
"billing dispute requires account team"
],
"transfer_numbers": ["+18005551212"],
"transfer_type": "warm",
"agent_confirmation": true,
"unavailable_message": "I could not reach an agent right now. I can take a message or schedule a callback."
}
}
}
{
"stt_settings": {
"provider": "deepgram",
"model": "nova-3",
"language": "en-US",
"interim_results": true,
"speculative_config": {
"enable_speculative_llm": true,
"speculative_stream_to_tts": false,
"speculative_debounce_ms": 300,
"speculative_min_words": 3,
"speculative_similarity_threshold": 0.85
}
}
}
{
"telnyx_config": {
"api_key": "KEYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"connection_id": "1234567890"
},
"twilio_config": {
"account_sid": null,
"auth_token": null
}
}
{
"telnyx_config": {
"api_key": "KEYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"connection_id": "1234567890"
}
}
Response
A successful update will return the complete, updated assistant object.{
"id": "asst_a1b2c3d4e5f67890",
"user_id": "user_12345",
"organization_id": "org_67890",
"name": "Senior Customer Support Specialist",
"description": "Handles inbound customer queries and provides support.",
"is_active": true,
"llm_settings": {
"temperature": 0.5,
"max_tokens": 1000,
"top_p": 0.9,
"system_prompt": "You are a senior customer support specialist.",
"welcome_message": "Hello, how can I help today?"
},
"llm_provider": "openai",
"llm_provider_config": {
"model": "gpt-5",
"api_key": "********"
},
"tts_settings": {
"provider": "openai",
"model_id": "tts-1",
"voice_id": "alloy"
},
"stt_settings": {
"provider": "deepgram",
"language": "en-US",
"model": "nova-3",
"interim_results": true
},
"interruption_settings": {
"interruption_mode": "balanced",
"interruption_threshold": 3,
"min_speaking_time": 0.8,
"interruption_cooldown": 2.0
},
"tools_settings": {
"end_call": {
"enabled": true,
"scenarios": ["The user says goodbye.", "The issue is fully resolved."]
},
"transfer_call": {
"enabled": true,
"transfer_type": "warm",
"transfer_numbers": ["+18005551212"]
}
},
"created_at": "2023-10-26T10:00:00Z",
"updated_at": "2023-10-26T10:15:00Z"
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
Schema for updating an assistant.
Configuration for the LLM provider.
Show child attributes
Show child attributes
Settings for the Large Language Model.
Show child attributes
Show child attributes
URL to receive SMS webhook events
Twilio Messaging Service SID for SMS handling
Settings for call interruption behavior.
Show child attributes
Show child attributes
Settings for Text-to-Speech (TTS) service.
Show child attributes
Show child attributes
Settings for Speech-to-Text (STT) service.
Show child attributes
Show child attributes
Settings for integrated tools.
Show child attributes
Show child attributes
Settings for Retrieval-Augmented Generation (RAG).
Show child attributes
Show child attributes
Settings for LLM fallback providers.
Show child attributes
Show child attributes
Phone numbers in E.164 format (e.g. +12345678900) that bypass AI and transfer directly to the configured transfer number
Settings for AI backchannel generation (active listening cues).
When enabled, the AI produces short verbal acknowledgments like "uh-huh", "mm-hmm", "I see" while the user is speaking to signal active listening.
Show child attributes
Show child attributes
Recording settings including enabled flag and disclosure options
Show child attributes
Show child attributes
Assistant-specific API keys (overrides organization keys). Keys: elevenlabs_api_key, deepgram_api_key, cartesia_api_key, etc.
Show child attributes
Show child attributes
TTS slot limit for this assistant (only used if assistant has own TTS key)
1 <= x <= 1000STT slot limit for this assistant (only used if assistant has own STT key)
1 <= x <= 1000Optional description of what changed and why (stored in settings history).
500Response
Successful Response
Schema for assistant response.
LLM provider: openai, azure, anthropic, gemini, xai, groq, custom
Configuration for the selected LLM provider.
Show child attributes
Show child attributes
Settings for the Large Language Model.
Show child attributes
Show child attributes
URL to receive SMS webhook events
Twilio Messaging Service SID for SMS handling
Settings for call interruption behavior.
Show child attributes
Show child attributes
Settings for Text-to-Speech (TTS) service.
Show child attributes
Show child attributes
Settings for Speech-to-Text (STT) service.
Show child attributes
Show child attributes
Maximum call length in seconds. Calls will be automatically ended when this limit is reached. None means unlimited.
x >= 1Enable conversation history continuity across calls from same number within 15 minutes
Settings for integrated tools.
Show child attributes
Show child attributes
Settings for Retrieval-Augmented Generation (RAG).
Show child attributes
Show child attributes
Settings for LLM fallback providers.
Show child attributes
Show child attributes
Phone numbers in E.164 format (e.g. +12345678900) that bypass AI and transfer directly to the configured transfer number
AI backchannel generation settings for active listening cues
Show child attributes
Show child attributes
Recording settings including enabled flag and disclosure options
Show child attributes
Show child attributes
Assistant-specific API keys (overrides organization keys). Keys: elevenlabs_api_key, deepgram_api_key, cartesia_api_key, etc.
Show child attributes
Show child attributes
TTS slot limit for this assistant (only used if assistant has own TTS key)
1 <= x <= 1000STT slot limit for this assistant (only used if assistant has own STT key)
1 <= x <= 1000Total number of calls for this assistant
Average call duration in seconds
Success rate percentage