Skip to main content
Updates an existing AI assistant. Only the fields you include in the request body are changed — omitted fields retain their current values.

Endpoint

PUT /user/assistant/{id}

Path parameters

id
integer
required
Unique identifier of the assistant to update.

Request

All body parameters are optional. Provide only the fields you want to update.

Core fields

name
string
Name of the assistant. Maximum 255 characters.
voice_id
integer
Voice ID. Use the Get Voices endpoint with the mode parameter to retrieve compatible voices.
language_id
integer
Primary language ID.
type
string
Assistant type: inbound or outbound.
mode
string
Engine mode: pipeline, multimodal, or dualplex.
Changing the mode resets mode-specific settings (LLM model, multimodal model, providers) to defaults for the new mode.
timezone
string
Timezone identifier (e.g., America/New_York, Europe/Bucharest).
initial_message
string
Greeting message spoken at the start of a call. Maximum 200 characters.
system_prompt
string
System prompt defining the assistant’s behavior.

Mode-specific fields

llm_model_id
integer
LLM model ID. Applies to pipeline mode only.
multimodal_model_id
integer
Multimodal model ID. Applies to multimodal and dualplex modes.
chat_llm_fallback_id
integer
Fallback LLM for tool calls in multimodal/dualplex modes. Set to null to remove.
turn_detection_threshold
number
Turn detection sensitivity for multimodal/dualplex modes. Range: 0–1. Set to null for auto.

Secondary languages

secondary_language_ids
integer[]
Additional language IDs. Replaces all existing secondary languages. Pass [] to remove all.

Knowledge base

knowledgebase_id
integer
ID of the knowledge base to attach. Set to null to remove.
knowledgebase_mode
string
How the assistant uses the knowledge base: function_call or prompt.

Phone number

phone_number_id
integer
ID of the phone number to assign. Set to null to unassign.
For inbound assistants, the number cannot be a Caller ID type and cannot be assigned to another inbound assistant.

Custom mid-call tools

tool_ids
integer[]
Custom mid-call tool IDs. Replaces all existing tool assignments. Pass [] to remove all tools.

Built-in tools

tools
array
Built-in tools. Replaces all existing built-in tools. Pass [] to remove all.

Voice and TTS settings

voice_stability
number
Voice stability. Range: 0–1.
voice_similarity
number
Voice similarity. Range: 0–1.
speech_speed
number
Speech speed multiplier. Range: 0.7–1.2.
llm_temperature
number
LLM temperature. Range: 0–1.
tts_emotion_enabled
boolean
Whether to enable emotional TTS synthesis.
synthesizer_provider_id
integer
Custom TTS provider ID. Set to null to use language default.
transcriber_provider_id
integer
Custom STT provider ID. Pipeline mode only. Set to null to use language default.

Call behavior

allow_interruptions
boolean
Whether the caller can interrupt the assistant.
Cannot be disabled for multimodal and dualplex modes.
fillers
boolean
Whether to use filler audio. Pipeline mode only.
filler_config
object
Custom filler phrases per category. Replaces existing filler config.
record
boolean
Whether to record calls.
enable_noise_cancellation
boolean
Whether to enable noise cancellation.
wait_for_customer
boolean
Whether the assistant waits for the customer to speak first.

Timing

max_duration
integer
Maximum call duration in seconds. Range: 20–1200.
max_silence_duration
integer
Maximum silence duration before re-engagement, in seconds. Range: 1–360.
max_initial_silence_duration
integer
Maximum silence at call start before ending, in seconds. Set to null to disable.
ringing_time
integer
Maximum ringing time in seconds. Range: 1–60.

Re-engagement

reengagement_interval
integer
Seconds between re-engagement attempts. Range: 7–600.
reengagement_prompt
string
Custom re-engagement message prompt. Maximum 1000 characters. Set to null to use default.

Voicemail

end_call_on_voicemail
boolean
Whether to end the call when voicemail is detected.
voice_mail_message
string
Message to leave on voicemail. Maximum 1000 characters. Set to null to disable.

Endpoint detection

endpoint_type
string
Voice activity detection type: vad or ai.
endpoint_sensitivity
number
Endpoint sensitivity. Range: 0–5.
interrupt_sensitivity
number
Interrupt sensitivity. Range: 0–5.
min_interrupt_words
integer
Minimum words before an interruption is processed. Range: 0–10. Set to null to disable.

Ambient sound

ambient_sound
string
Background ambient sound: off, office, city, forest, crowded_room, cafe, or nature.
ambient_sound_volume
number
Ambient sound volume. Range: 0–1.

Webhook configuration

is_webhook_active
boolean
Whether webhook notifications are enabled.
webhook_url
string
Webhook URL for post-call notifications. Set to null to remove.
send_webhook_only_on_completed
boolean
Whether webhooks are only sent for completed calls.
include_recording_in_webhook
boolean
Whether to include the recording URL in webhook payloads.

Post-call evaluation

post_call_evaluation
boolean
Whether to enable AI post-call evaluation.
post_call_schema
array
Post-call data extraction schema. Replaces the existing schema. See Create assistant for field details.

Variables

variables
object
Custom variables. Replaces all existing variables.

Conversation ended settings

conversation_inactivity_timeout
integer
Minutes of inactivity before the conversation ends. Range: 1–1440. Set to null to disable.
conversation_ended_retrigger
boolean
Whether to allow re-triggering after inactivity ends the conversation.
conversation_ended_webhook_url
string
Webhook URL for conversation ended events. Set to null to remove.

Response

message
string
Confirmation message.
data
object

Example

curl -X PUT "https://portal.intellixent.ai/api/user/assistant/789" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Updated Sales Assistant",
    "initial_message": "Hello! How may I assist you?",
    "max_duration": 900
  }'
200 Success
{
  "message": "Assistant updated successfully",
  "data": {
    "id": 789,
    "name": "Updated Sales Assistant",
    "status": "active",
    "type": "outbound",
    "mode": "pipeline"
  }
}
404 Not found
{
  "message": "Assistant not found"
}
To remove optional fields, explicitly set them to null. To clear array fields like tool_ids or secondary_language_ids, pass an empty array [].