PUT
/
api
/
v1
/
assistants
/
{assistant_id}
{
  "name": "<string>",
  "description": "<string>",
  "llm_provider": "<string>",
  "llm_provider_config": {
    "api_key": "<string>",
    "base_url": "<string>",
    "model": "gpt-4o-mini",
    "custom_config": {}
  },
  "twilio_config": {
    "account_sid": "<string>",
    "auth_token": "<string>"
  },
  "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>",
  "interruption_settings": {
    "interruption_threshold": 3,
    "min_speaking_time": 0.5,
    "interruption_cooldown": 2
  },
  "tts_settings": {
    "provider": "elevenlabs",
    "voice_id": "rachel",
    "model_id": "<string>",
    "latency": 1,
    "stability": 0.5,
    "similarity_boost": 0.75,
    "style": 0,
    "use_speaker_boost": true,
    "provider_config": {}
  },
  "stt_settings": {
    "model": "nova-2",
    "language": "en-US",
    "punctuate": true,
    "interim_results": true,
    "endpointing": {
      "silence_threshold": 500,
      "min_silence_duration": 500
    },
    "utterance_end_ms": 1000,
    "vad_turnoff": 500,
    "smart_format": true,
    "keywords": [
      {
        "keyword": "<string>",
        "intensifier": 1
      }
    ],
    "keyterms": [
      "<string>"
    ],
    "audio_denoising": false
  },
  "end_call_message": "<string>",
  "transfer_call_message": "<string>",
  "idle_message": "<string>",
  "max_idle_messages": 123,
  "idle_timeout": 123,
  "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>"
    },
    "custom_tools": [
      {}
    ]
  },
  "rag_settings": {
    "enabled": 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>"
      }
    ]
  },
  "custom_settings": {},
  "is_active": true,
  "id": 123,
  "organization_id": 123,
  "user_id": 123,
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}
This endpoint allows you to modify the configuration of an existing assistant by providing its unique ID. You only need to include the fields you wish to update in the request body; any omitted fields will remain unchanged.

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 the Create Assistant documentation for a detailed breakdown of all possible fields within the llm_settings, tts_settings, stt_settings, interruption_settings, tools_settings, twilio_config, and telnyx_config objects.

Examples

Update basic settings:
Request
{
  "name": "Senior Customer Support Specialist",
  "llm_settings": {
    "temperature": 0.5
  }
}
Switch from Twilio to Telnyx:
Request
{
  "telnyx_config": {
    "api_key": "KEYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "connection_id": "1234567890"
  },
  "twilio_config": {
    "account_sid": null,
    "auth_token": null
  }
}
Add Telnyx as backup to Twilio:
Request
{
  "telnyx_config": {
    "api_key": "KEYxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 
    "connection_id": "1234567890"
  }
}

Response

A successful update will return the complete, updated assistant object.
Response
{
  "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": {
    "provider": "openai",
    "model": "gpt-4-turbo",
    "temperature": 0.5,
    "max_tokens": 250
  },
  "tts_settings": {
    "provider": "elevenlabs",
    "voice_id": "EXAVITQu4vr4xnSDxMaL",
    "stability": 0.5,
    "similarity_boost": 0.75
  },
  "stt_settings": {
    "provider": "deepgram",
    "language": "en-US",
    "model": "nova-2"
  },
  "interruption_settings": {
    "enabled": true,
    "threshold": 0.5,
    "evaluation_period": 0.8
  },
  "tools_settings": {
    "end_call": {
      "enabled": true,
      "scenarios": ["The user says goodbye.", "The issue is fully resolved."]
    },
    "transfer_call": {
      "enabled": false
    }
  },
  "created_at": "2023-10-26T10:00:00Z",
  "updated_at": "2023-10-26T10:15:00Z"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

assistant_id
integer
required

Body

application/json

Schema for updating an assistant.

name
string | null
description
string | null
llm_provider
string | null
llm_provider_config
object | null

Configuration for the LLM provider.

openai_api_key
string | null
custom_llm_url
string | null
deepgram_api_key
string | null
elevenlabs_api_key
string | null
twilio_config
object | null

Twilio account configuration.

twilio_account_sid
string | null
twilio_auth_token
string | null
llm_settings
object | null

Settings for the Large Language Model.

webhook_url
string | null
interruption_settings
object | null

Settings for call interruption behavior.

tts_settings
object | null

Settings for Text-to-Speech (TTS) service.

stt_settings
object | null

Settings for Speech-to-Text (STT) service.

end_call_message
string | null
transfer_call_message
string | null
idle_message
string | null
max_idle_messages
integer | null
idle_timeout
integer | null
tools_settings
object | null

Settings for integrated tools.

rag_settings
object | null

Settings for Retrieval-Augmented Generation (RAG).

llm_fallback_providers
object | null

Settings for LLM fallback providers.

custom_settings
object | null
is_active
boolean | null

Response

Successful Response

Schema for assistant response.

name
string
required
id
integer
required
organization_id
integer
required
user_id
integer
required
created_at
string<date-time>
required
updated_at
string<date-time>
required
description
string | null
llm_provider
string | null
default:openai

LLM provider: openai, anthropic, gemini, xai, groq, custom

llm_provider_config
object

Configuration for the selected LLM provider.

twilio_config
object

Twilio account configuration.

llm_settings
object

Settings for the Large Language Model.

webhook_url
string | null
interruption_settings
object

Settings for call interruption behavior.

tts_settings
object

Settings for Text-to-Speech (TTS) service.

stt_settings
object

Settings for Speech-to-Text (STT) service.

end_call_message
string | null
transfer_call_message
string | null
idle_message
string | null
default:Are you still there? I'm here to help if you need anything.
max_idle_messages
integer | null
idle_timeout
integer | null
tools_settings
object

Settings for integrated tools.

rag_settings
object

Settings for Retrieval-Augmented Generation (RAG).

llm_fallback_providers
object

Settings for LLM fallback providers.

custom_settings
object | null
is_active
boolean | null
default:true