telnyx-mcp 6.33.0 → 6.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -968,15 +968,15 @@ const EMBEDDED_METHODS = [
968
968
  'messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; };',
969
969
  "observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; };",
970
970
  'privacy_settings?: { data_retention?: boolean; };',
971
- "telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; };",
971
+ "telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; };",
972
972
  'tool_ids?: string[];',
973
- "tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[];",
973
+ "tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[];",
974
974
  'transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; };',
975
975
  "voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; };",
976
976
  "widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; };",
977
977
  ],
978
978
  response: "{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: object; insight_settings?: object; llm_api_key_ref?: string; messaging_settings?: object; observability_settings?: object; privacy_settings?: object; telephony_settings?: object; tools?: inference_embedding_webhook_tool_params | retrieval_tool | object | hangup_tool | object | object | object | object | object | object[]; transcription?: object; voice_settings?: object; widget_settings?: object; }",
979
- markdown: "## create\n\n`client.ai.assistants.create(instructions: string, model: string, name: string, description?: string, dynamic_variables?: object, dynamic_variables_webhook_url?: string, enabled_features?: 'telephony' | 'messaging'[], greeting?: string, insight_settings?: { insight_group_id?: string; }, llm_api_key_ref?: string, messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }, observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }, privacy_settings?: { data_retention?: boolean; }, telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }, tool_ids?: string[], tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[], transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }, voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }, widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants`\n\nCreate a new AI Assistant.\n\n### Parameters\n\n- `instructions: string`\n System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `model: string`\n ID of the model to use. You can use the [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models) to see all of your available models,\n\n- `name: string`\n\n- `description?: string`\n\n- `dynamic_variables?: object`\n Map of dynamic variables and their default values\n\n- `dynamic_variables_webhook_url?: string`\n If the dynamic_variables_webhook_url is set for the assistant, we will send a request at the start of the conversation. See our [guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for more information.\n\n- `enabled_features?: 'telephony' | 'messaging'[]`\n\n- `greeting?: string`\n Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions.\n\n- `insight_settings?: { insight_group_id?: string; }`\n - `insight_group_id?: string`\n Reference to an Insight Group. Insights in this group will be run automatically for all the assistant's conversations.\n\n- `llm_api_key_ref?: string`\n This is only needed when using third-party inference providers. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. Warning: Free plans are unlikely to work with this integration.\n\n- `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `conversation_inactivity_minutes?: number`\n If more than this many minutes have passed since the last message, the assistant will start a new conversation instead of continuing the existing one.\n - `default_messaging_profile_id?: string`\n Default Messaging Profile used for messaging exchanges with your assistant. This will be created automatically on assistant creation.\n - `delivery_status_webhook_url?: string`\n The URL where webhooks related to delivery statused for assistant messages will be sent.\n\n- `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `host?: string`\n - `public_key_ref?: string`\n - `secret_key_ref?: string`\n - `status?: 'enabled' | 'disabled'`\n\n- `privacy_settings?: { data_retention?: boolean; }`\n - `data_retention?: boolean`\n If true, conversation history and insights will be stored. If false, they will not be stored. This in‑tool toggle governs solely the retention of conversation history and insights via the AI assistant. It has no effect on any separate recording, transcription, or storage configuration that you have set at the account, number, or application level. All such external settings remain in force regardless of your selection here.\n\n- `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `default_texml_app_id?: string`\n Default Texml App used for voice calls with your assistant. This will be created automatically on assistant creation.\n - `noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'`\n The noise suppression engine to use. Use 'disabled' to turn off noise suppression.\n - `noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }`\n Configuration for noise suppression. Only applicable when noise_suppression is 'deepfilternet'.\n - `recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }`\n Configuration for call recording format and channel settings.\n - `supports_unauthenticated_web_calls?: boolean`\n When enabled, allows users to interact with your AI assistant directly from your website without requiring authentication. This is required for FE widgets that work with assistants that have telephony enabled.\n - `time_limit_secs?: number`\n Maximum duration in seconds for the AI assistant to participate on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `user_idle_timeout_secs?: number`\n Maximum duration in seconds of end user silence on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: { message?: string; prompt?: string; type?: 'prompt' | 'message'; }; }; }`\n Configuration for voicemail detection (AMD - Answering Machine Detection) on outgoing calls. These settings only apply if AMD is enabled on the Dial command. See [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call) for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true, DetectionMode=Premium.\n\n- `tool_ids?: string[]`\n\n- `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n The tools that the assistant can use. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `language?: string`\n The language of the audio to be transcribed. If not set, of if set to `auto`, the model will automatically detect the language.\n - `model?: string`\n The speech to text model to be used by the voice assistant. All the deepgram models are run on-premise.\n\n- `deepgram/flux` is optimized for turn-taking but is English-only.\n- `deepgram/nova-3` is multi-lingual with automatic language detection but slightly higher latency.\n - `region?: string`\n Region on third party cloud providers (currently Azure) if using one of their models\n - `settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }`\n\n- `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `voice: string`\n The voice to be used by the voice assistant. Check the full list of [available voices](https://developers.telnyx.com/docs/tts-stt/tts-available-voices) via our voices API.\nTo use ElevenLabs, you must reference your ElevenLabs API key as an integration secret under the `api_key_ref` field. See [integration secrets documentation](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) for details. For Telnyx voices, use `Telnyx.<model_id>.<voice_id>` (e.g. Telnyx.KokoroTTS.af_heart)\n - `api_key_ref?: string`\n The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.\n - `background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }`\n Optional background audio to play on the call. Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen in the portal, customers can preview it before saving.\n - `expressive_mode?: boolean`\n Enables emotionally expressive speech using SSML emotion tags. When enabled, the assistant uses audio tags like angry, excited, content, and sad to add emotional nuance. Only supported for Telnyx Ultra voices.\n - `language_boost?: string`\n Enhances recognition for specific languages and dialects during MiniMax TTS synthesis. Default is null (no boost). Set to 'auto' for automatic language detection. Only applicable when using MiniMax voices.\n - `similarity_boost?: number`\n Determines how closely the AI should adhere to the original voice when attempting to replicate it. Only applicable when using ElevenLabs.\n - `speed?: number`\n Adjusts speech velocity. 1.0 is default speed; values less than 1.0 slow speech; values greater than 1.0 accelerate it. Only applicable when using ElevenLabs.\n - `style?: number`\n Determines the style exaggeration of the voice. Amplifies speaker style but consumes additional resources when set above 0. Only applicable when using ElevenLabs.\n - `temperature?: number`\n Determines how stable the voice is and the randomness between each generation. Lower values create a broader emotional range; higher values produce more consistent, monotonous output. Only applicable when using ElevenLabs.\n - `use_speaker_boost?: boolean`\n Amplifies similarity to the original speaker voice. Increases computational load and latency slightly. Only applicable when using ElevenLabs.\n - `voice_speed?: number`\n The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger numbers make the voice faster, smaller numbers make it slower. This is only applicable for Telnyx Natural voices.\n\n- `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n Configuration settings for the assistant's web widget.\n - `agent_thinking_text?: string`\n Text displayed while the agent is processing.\n - `audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }`\n - `default_state?: 'expanded' | 'collapsed'`\n The default state of the widget.\n - `give_feedback_url?: string`\n URL for users to give feedback.\n - `logo_icon_url?: string`\n URL to a custom logo icon for the widget.\n - `position?: 'fixed' | 'static'`\n The positioning style for the widget.\n - `report_issue_url?: string`\n URL for users to report issues.\n - `speak_to_interrupt_text?: string`\n Text prompting users to speak to interrupt.\n - `start_call_text?: string`\n Custom text displayed on the start call button.\n - `theme?: 'light' | 'dark'`\n The visual theme for the widget.\n - `view_history_url?: string`\n URL to view conversation history.\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.create({\n instructions: 'instructions',\n model: 'model',\n name: 'name',\n});\n\nconsole.log(inferenceEmbedding);\n```",
979
+ markdown: "## create\n\n`client.ai.assistants.create(instructions: string, model: string, name: string, description?: string, dynamic_variables?: object, dynamic_variables_webhook_url?: string, enabled_features?: 'telephony' | 'messaging'[], greeting?: string, insight_settings?: { insight_group_id?: string; }, llm_api_key_ref?: string, messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }, observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }, privacy_settings?: { data_retention?: boolean; }, telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }, tool_ids?: string[], tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[], transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }, voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }, widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants`\n\nCreate a new AI Assistant.\n\n### Parameters\n\n- `instructions: string`\n System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `model: string`\n ID of the model to use. You can use the [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models) to see all of your available models,\n\n- `name: string`\n\n- `description?: string`\n\n- `dynamic_variables?: object`\n Map of dynamic variables and their default values\n\n- `dynamic_variables_webhook_url?: string`\n If the dynamic_variables_webhook_url is set for the assistant, we will send a request at the start of the conversation. See our [guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for more information.\n\n- `enabled_features?: 'telephony' | 'messaging'[]`\n\n- `greeting?: string`\n Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions.\n\n- `insight_settings?: { insight_group_id?: string; }`\n - `insight_group_id?: string`\n Reference to an Insight Group. Insights in this group will be run automatically for all the assistant's conversations.\n\n- `llm_api_key_ref?: string`\n This is only needed when using third-party inference providers. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. Warning: Free plans are unlikely to work with this integration.\n\n- `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `conversation_inactivity_minutes?: number`\n If more than this many minutes have passed since the last message, the assistant will start a new conversation instead of continuing the existing one.\n - `default_messaging_profile_id?: string`\n Default Messaging Profile used for messaging exchanges with your assistant. This will be created automatically on assistant creation.\n - `delivery_status_webhook_url?: string`\n The URL where webhooks related to delivery statused for assistant messages will be sent.\n\n- `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `host?: string`\n - `public_key_ref?: string`\n - `secret_key_ref?: string`\n - `status?: 'enabled' | 'disabled'`\n\n- `privacy_settings?: { data_retention?: boolean; }`\n - `data_retention?: boolean`\n If true, conversation history and insights will be stored. If false, they will not be stored. This in‑tool toggle governs solely the retention of conversation history and insights via the AI assistant. It has no effect on any separate recording, transcription, or storage configuration that you have set at the account, number, or application level. All such external settings remain in force regardless of your selection here.\n\n- `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `default_texml_app_id?: string`\n Default Texml App used for voice calls with your assistant. This will be created automatically on assistant creation.\n - `noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'`\n The noise suppression engine to use. Use 'disabled' to turn off noise suppression.\n - `noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }`\n Configuration for noise suppression. Only applicable when noise_suppression is 'deepfilternet'.\n - `recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }`\n Configuration for call recording format and channel settings.\n - `supports_unauthenticated_web_calls?: boolean`\n When enabled, allows users to interact with your AI assistant directly from your website without requiring authentication. This is required for FE widgets that work with assistants that have telephony enabled.\n - `time_limit_secs?: number`\n Maximum duration in seconds for the AI assistant to participate on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `user_idle_timeout_secs?: number`\n Maximum duration in seconds of end user silence on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: { message?: string; prompt?: string; type?: 'prompt' | 'message'; }; }; }`\n Configuration for voicemail detection (AMD - Answering Machine Detection) on outgoing calls. These settings only apply if AMD is enabled on the Dial command. See [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call) for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true, DetectionMode=Premium.\n\n- `tool_ids?: string[]`\n\n- `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n The tools that the assistant can use. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `language?: string`\n The language of the audio to be transcribed. If not set, of if set to `auto`, the model will automatically detect the language.\n - `model?: string`\n The speech to text model to be used by the voice assistant. All the deepgram models are run on-premise.\n\n- `deepgram/flux` is optimized for turn-taking but is English-only.\n- `deepgram/nova-3` is multi-lingual with automatic language detection but slightly higher latency.\n - `region?: string`\n Region on third party cloud providers (currently Azure) if using one of their models\n - `settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }`\n\n- `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `voice: string`\n The voice to be used by the voice assistant. Check the full list of [available voices](https://developers.telnyx.com/docs/tts-stt/tts-available-voices) via our voices API.\nTo use ElevenLabs, you must reference your ElevenLabs API key as an integration secret under the `api_key_ref` field. See [integration secrets documentation](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) for details. For Telnyx voices, use `Telnyx.<model_id>.<voice_id>` (e.g. Telnyx.KokoroTTS.af_heart)\n - `api_key_ref?: string`\n The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.\n - `background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }`\n Optional background audio to play on the call. Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen in the portal, customers can preview it before saving.\n - `expressive_mode?: boolean`\n Enables emotionally expressive speech using SSML emotion tags. When enabled, the assistant uses audio tags like angry, excited, content, and sad to add emotional nuance. Only supported for Telnyx Ultra voices.\n - `language_boost?: string`\n Enhances recognition for specific languages and dialects during MiniMax TTS synthesis. Default is null (no boost). Set to 'auto' for automatic language detection. Only applicable when using MiniMax voices.\n - `similarity_boost?: number`\n Determines how closely the AI should adhere to the original voice when attempting to replicate it. Only applicable when using ElevenLabs.\n - `speed?: number`\n Adjusts speech velocity. 1.0 is default speed; values less than 1.0 slow speech; values greater than 1.0 accelerate it. Only applicable when using ElevenLabs.\n - `style?: number`\n Determines the style exaggeration of the voice. Amplifies speaker style but consumes additional resources when set above 0. Only applicable when using ElevenLabs.\n - `temperature?: number`\n Determines how stable the voice is and the randomness between each generation. Lower values create a broader emotional range; higher values produce more consistent, monotonous output. Only applicable when using ElevenLabs.\n - `use_speaker_boost?: boolean`\n Amplifies similarity to the original speaker voice. Increases computational load and latency slightly. Only applicable when using ElevenLabs.\n - `voice_speed?: number`\n The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger numbers make the voice faster, smaller numbers make it slower. This is only applicable for Telnyx Natural voices.\n\n- `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n Configuration settings for the assistant's web widget.\n - `agent_thinking_text?: string`\n Text displayed while the agent is processing.\n - `audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }`\n - `default_state?: 'expanded' | 'collapsed'`\n The default state of the widget.\n - `give_feedback_url?: string`\n URL for users to give feedback.\n - `logo_icon_url?: string`\n URL to a custom logo icon for the widget.\n - `position?: 'fixed' | 'static'`\n The positioning style for the widget.\n - `report_issue_url?: string`\n URL for users to report issues.\n - `speak_to_interrupt_text?: string`\n Text prompting users to speak to interrupt.\n - `start_call_text?: string`\n Custom text displayed on the start call button.\n - `theme?: 'light' | 'dark'`\n The visual theme for the widget.\n - `view_history_url?: string`\n URL to view conversation history.\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.create({\n instructions: 'instructions',\n model: 'model',\n name: 'name',\n});\n\nconsole.log(inferenceEmbedding);\n```",
980
980
  },
981
981
  {
982
982
  name: 'retrieve',
@@ -994,7 +994,7 @@ const EMBEDDED_METHODS = [
994
994
  'to?: string;',
995
995
  ],
996
996
  response: "{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: object; insight_settings?: object; llm_api_key_ref?: string; messaging_settings?: object; observability_settings?: object; privacy_settings?: object; telephony_settings?: object; tools?: inference_embedding_webhook_tool_params | retrieval_tool | object | hangup_tool | object | object | object | object | object | object[]; transcription?: object; voice_settings?: object; widget_settings?: object; }",
997
- markdown: "## retrieve\n\n`client.ai.assistants.retrieve(assistant_id: string, call_control_id?: string, fetch_dynamic_variables_from_webhook?: boolean, from?: string, to?: string): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**get** `/ai/assistants/{assistant_id}`\n\nRetrieve an AI Assistant configuration by `assistant_id`.\n\n### Parameters\n\n- `assistant_id: string`\n\n- `call_control_id?: string`\n\n- `fetch_dynamic_variables_from_webhook?: boolean`\n\n- `from?: string`\n\n- `to?: string`\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.retrieve('assistant_id');\n\nconsole.log(inferenceEmbedding);\n```",
997
+ markdown: "## retrieve\n\n`client.ai.assistants.retrieve(assistant_id: string, call_control_id?: string, fetch_dynamic_variables_from_webhook?: boolean, from?: string, to?: string): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**get** `/ai/assistants/{assistant_id}`\n\nRetrieve an AI Assistant configuration by `assistant_id`.\n\n### Parameters\n\n- `assistant_id: string`\n\n- `call_control_id?: string`\n\n- `fetch_dynamic_variables_from_webhook?: boolean`\n\n- `from?: string`\n\n- `to?: string`\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.retrieve('assistant_id');\n\nconsole.log(inferenceEmbedding);\n```",
998
998
  },
999
999
  {
1000
1000
  name: 'update',
@@ -1020,15 +1020,15 @@ const EMBEDDED_METHODS = [
1020
1020
  "observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; };",
1021
1021
  'privacy_settings?: { data_retention?: boolean; };',
1022
1022
  'promote_to_main?: boolean;',
1023
- "telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; };",
1023
+ "telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; };",
1024
1024
  'tool_ids?: string[];',
1025
- "tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[];",
1025
+ "tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[];",
1026
1026
  'transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; };',
1027
1027
  "voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; };",
1028
1028
  "widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; };",
1029
1029
  ],
1030
1030
  response: "{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: object; insight_settings?: object; llm_api_key_ref?: string; messaging_settings?: object; observability_settings?: object; privacy_settings?: object; telephony_settings?: object; tools?: inference_embedding_webhook_tool_params | retrieval_tool | object | hangup_tool | object | object | object | object | object | object[]; transcription?: object; voice_settings?: object; widget_settings?: object; }",
1031
- markdown: "## update\n\n`client.ai.assistants.update(assistant_id: string, description?: string, dynamic_variables?: object, dynamic_variables_webhook_url?: string, enabled_features?: 'telephony' | 'messaging'[], greeting?: string, insight_settings?: { insight_group_id?: string; }, instructions?: string, llm_api_key_ref?: string, messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }, model?: string, name?: string, observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }, privacy_settings?: { data_retention?: boolean; }, promote_to_main?: boolean, telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }, tool_ids?: string[], tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[], transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }, voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }, widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants/{assistant_id}`\n\nUpdate an AI Assistant's attributes.\n\n### Parameters\n\n- `assistant_id: string`\n\n- `description?: string`\n\n- `dynamic_variables?: object`\n Map of dynamic variables and their default values\n\n- `dynamic_variables_webhook_url?: string`\n If the dynamic_variables_webhook_url is set for the assistant, we will send a request at the start of the conversation. See our [guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for more information.\n\n- `enabled_features?: 'telephony' | 'messaging'[]`\n\n- `greeting?: string`\n Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions.\n\n- `insight_settings?: { insight_group_id?: string; }`\n - `insight_group_id?: string`\n Reference to an Insight Group. Insights in this group will be run automatically for all the assistant's conversations.\n\n- `instructions?: string`\n System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `llm_api_key_ref?: string`\n This is only needed when using third-party inference providers. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. Warning: Free plans are unlikely to work with this integration.\n\n- `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `conversation_inactivity_minutes?: number`\n If more than this many minutes have passed since the last message, the assistant will start a new conversation instead of continuing the existing one.\n - `default_messaging_profile_id?: string`\n Default Messaging Profile used for messaging exchanges with your assistant. This will be created automatically on assistant creation.\n - `delivery_status_webhook_url?: string`\n The URL where webhooks related to delivery statused for assistant messages will be sent.\n\n- `model?: string`\n ID of the model to use. You can use the [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models) to see all of your available models,\n\n- `name?: string`\n\n- `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `host?: string`\n - `public_key_ref?: string`\n - `secret_key_ref?: string`\n - `status?: 'enabled' | 'disabled'`\n\n- `privacy_settings?: { data_retention?: boolean; }`\n - `data_retention?: boolean`\n If true, conversation history and insights will be stored. If false, they will not be stored. This in‑tool toggle governs solely the retention of conversation history and insights via the AI assistant. It has no effect on any separate recording, transcription, or storage configuration that you have set at the account, number, or application level. All such external settings remain in force regardless of your selection here.\n\n- `promote_to_main?: boolean`\n Indicates whether the assistant should be promoted to the main version. Defaults to true.\n\n- `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `default_texml_app_id?: string`\n Default Texml App used for voice calls with your assistant. This will be created automatically on assistant creation.\n - `noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'`\n The noise suppression engine to use. Use 'disabled' to turn off noise suppression.\n - `noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }`\n Configuration for noise suppression. Only applicable when noise_suppression is 'deepfilternet'.\n - `recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }`\n Configuration for call recording format and channel settings.\n - `supports_unauthenticated_web_calls?: boolean`\n When enabled, allows users to interact with your AI assistant directly from your website without requiring authentication. This is required for FE widgets that work with assistants that have telephony enabled.\n - `time_limit_secs?: number`\n Maximum duration in seconds for the AI assistant to participate on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `user_idle_timeout_secs?: number`\n Maximum duration in seconds of end user silence on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: { message?: string; prompt?: string; type?: 'prompt' | 'message'; }; }; }`\n Configuration for voicemail detection (AMD - Answering Machine Detection) on outgoing calls. These settings only apply if AMD is enabled on the Dial command. See [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call) for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true, DetectionMode=Premium.\n\n- `tool_ids?: string[]`\n\n- `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n The tools that the assistant can use. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `language?: string`\n The language of the audio to be transcribed. If not set, of if set to `auto`, the model will automatically detect the language.\n - `model?: string`\n The speech to text model to be used by the voice assistant. All the deepgram models are run on-premise.\n\n- `deepgram/flux` is optimized for turn-taking but is English-only.\n- `deepgram/nova-3` is multi-lingual with automatic language detection but slightly higher latency.\n - `region?: string`\n Region on third party cloud providers (currently Azure) if using one of their models\n - `settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }`\n\n- `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `voice: string`\n The voice to be used by the voice assistant. Check the full list of [available voices](https://developers.telnyx.com/docs/tts-stt/tts-available-voices) via our voices API.\nTo use ElevenLabs, you must reference your ElevenLabs API key as an integration secret under the `api_key_ref` field. See [integration secrets documentation](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) for details. For Telnyx voices, use `Telnyx.<model_id>.<voice_id>` (e.g. Telnyx.KokoroTTS.af_heart)\n - `api_key_ref?: string`\n The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.\n - `background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }`\n Optional background audio to play on the call. Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen in the portal, customers can preview it before saving.\n - `expressive_mode?: boolean`\n Enables emotionally expressive speech using SSML emotion tags. When enabled, the assistant uses audio tags like angry, excited, content, and sad to add emotional nuance. Only supported for Telnyx Ultra voices.\n - `language_boost?: string`\n Enhances recognition for specific languages and dialects during MiniMax TTS synthesis. Default is null (no boost). Set to 'auto' for automatic language detection. Only applicable when using MiniMax voices.\n - `similarity_boost?: number`\n Determines how closely the AI should adhere to the original voice when attempting to replicate it. Only applicable when using ElevenLabs.\n - `speed?: number`\n Adjusts speech velocity. 1.0 is default speed; values less than 1.0 slow speech; values greater than 1.0 accelerate it. Only applicable when using ElevenLabs.\n - `style?: number`\n Determines the style exaggeration of the voice. Amplifies speaker style but consumes additional resources when set above 0. Only applicable when using ElevenLabs.\n - `temperature?: number`\n Determines how stable the voice is and the randomness between each generation. Lower values create a broader emotional range; higher values produce more consistent, monotonous output. Only applicable when using ElevenLabs.\n - `use_speaker_boost?: boolean`\n Amplifies similarity to the original speaker voice. Increases computational load and latency slightly. Only applicable when using ElevenLabs.\n - `voice_speed?: number`\n The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger numbers make the voice faster, smaller numbers make it slower. This is only applicable for Telnyx Natural voices.\n\n- `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n Configuration settings for the assistant's web widget.\n - `agent_thinking_text?: string`\n Text displayed while the agent is processing.\n - `audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }`\n - `default_state?: 'expanded' | 'collapsed'`\n The default state of the widget.\n - `give_feedback_url?: string`\n URL for users to give feedback.\n - `logo_icon_url?: string`\n URL to a custom logo icon for the widget.\n - `position?: 'fixed' | 'static'`\n The positioning style for the widget.\n - `report_issue_url?: string`\n URL for users to report issues.\n - `speak_to_interrupt_text?: string`\n Text prompting users to speak to interrupt.\n - `start_call_text?: string`\n Custom text displayed on the start call button.\n - `theme?: 'light' | 'dark'`\n The visual theme for the widget.\n - `view_history_url?: string`\n URL to view conversation history.\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.update('assistant_id');\n\nconsole.log(inferenceEmbedding);\n```",
1031
+ markdown: "## update\n\n`client.ai.assistants.update(assistant_id: string, description?: string, dynamic_variables?: object, dynamic_variables_webhook_url?: string, enabled_features?: 'telephony' | 'messaging'[], greeting?: string, insight_settings?: { insight_group_id?: string; }, instructions?: string, llm_api_key_ref?: string, messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }, model?: string, name?: string, observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }, privacy_settings?: { data_retention?: boolean; }, promote_to_main?: boolean, telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }, tool_ids?: string[], tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[], transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }, voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }, widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants/{assistant_id}`\n\nUpdate an AI Assistant's attributes.\n\n### Parameters\n\n- `assistant_id: string`\n\n- `description?: string`\n\n- `dynamic_variables?: object`\n Map of dynamic variables and their default values\n\n- `dynamic_variables_webhook_url?: string`\n If the dynamic_variables_webhook_url is set for the assistant, we will send a request at the start of the conversation. See our [guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for more information.\n\n- `enabled_features?: 'telephony' | 'messaging'[]`\n\n- `greeting?: string`\n Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions.\n\n- `insight_settings?: { insight_group_id?: string; }`\n - `insight_group_id?: string`\n Reference to an Insight Group. Insights in this group will be run automatically for all the assistant's conversations.\n\n- `instructions?: string`\n System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `llm_api_key_ref?: string`\n This is only needed when using third-party inference providers. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. Warning: Free plans are unlikely to work with this integration.\n\n- `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `conversation_inactivity_minutes?: number`\n If more than this many minutes have passed since the last message, the assistant will start a new conversation instead of continuing the existing one.\n - `default_messaging_profile_id?: string`\n Default Messaging Profile used for messaging exchanges with your assistant. This will be created automatically on assistant creation.\n - `delivery_status_webhook_url?: string`\n The URL where webhooks related to delivery statused for assistant messages will be sent.\n\n- `model?: string`\n ID of the model to use. You can use the [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models) to see all of your available models,\n\n- `name?: string`\n\n- `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `host?: string`\n - `public_key_ref?: string`\n - `secret_key_ref?: string`\n - `status?: 'enabled' | 'disabled'`\n\n- `privacy_settings?: { data_retention?: boolean; }`\n - `data_retention?: boolean`\n If true, conversation history and insights will be stored. If false, they will not be stored. This in‑tool toggle governs solely the retention of conversation history and insights via the AI assistant. It has no effect on any separate recording, transcription, or storage configuration that you have set at the account, number, or application level. All such external settings remain in force regardless of your selection here.\n\n- `promote_to_main?: boolean`\n Indicates whether the assistant should be promoted to the main version. Defaults to true.\n\n- `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `default_texml_app_id?: string`\n Default Texml App used for voice calls with your assistant. This will be created automatically on assistant creation.\n - `noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'`\n The noise suppression engine to use. Use 'disabled' to turn off noise suppression.\n - `noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }`\n Configuration for noise suppression. Only applicable when noise_suppression is 'deepfilternet'.\n - `recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }`\n Configuration for call recording format and channel settings.\n - `supports_unauthenticated_web_calls?: boolean`\n When enabled, allows users to interact with your AI assistant directly from your website without requiring authentication. This is required for FE widgets that work with assistants that have telephony enabled.\n - `time_limit_secs?: number`\n Maximum duration in seconds for the AI assistant to participate on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `user_idle_timeout_secs?: number`\n Maximum duration in seconds of end user silence on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: { message?: string; prompt?: string; type?: 'prompt' | 'message'; }; }; }`\n Configuration for voicemail detection (AMD - Answering Machine Detection) on outgoing calls. These settings only apply if AMD is enabled on the Dial command. See [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call) for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true, DetectionMode=Premium.\n\n- `tool_ids?: string[]`\n\n- `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n The tools that the assistant can use. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `language?: string`\n The language of the audio to be transcribed. If not set, of if set to `auto`, the model will automatically detect the language.\n - `model?: string`\n The speech to text model to be used by the voice assistant. All the deepgram models are run on-premise.\n\n- `deepgram/flux` is optimized for turn-taking but is English-only.\n- `deepgram/nova-3` is multi-lingual with automatic language detection but slightly higher latency.\n - `region?: string`\n Region on third party cloud providers (currently Azure) if using one of their models\n - `settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }`\n\n- `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `voice: string`\n The voice to be used by the voice assistant. Check the full list of [available voices](https://developers.telnyx.com/docs/tts-stt/tts-available-voices) via our voices API.\nTo use ElevenLabs, you must reference your ElevenLabs API key as an integration secret under the `api_key_ref` field. See [integration secrets documentation](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) for details. For Telnyx voices, use `Telnyx.<model_id>.<voice_id>` (e.g. Telnyx.KokoroTTS.af_heart)\n - `api_key_ref?: string`\n The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.\n - `background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }`\n Optional background audio to play on the call. Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen in the portal, customers can preview it before saving.\n - `expressive_mode?: boolean`\n Enables emotionally expressive speech using SSML emotion tags. When enabled, the assistant uses audio tags like angry, excited, content, and sad to add emotional nuance. Only supported for Telnyx Ultra voices.\n - `language_boost?: string`\n Enhances recognition for specific languages and dialects during MiniMax TTS synthesis. Default is null (no boost). Set to 'auto' for automatic language detection. Only applicable when using MiniMax voices.\n - `similarity_boost?: number`\n Determines how closely the AI should adhere to the original voice when attempting to replicate it. Only applicable when using ElevenLabs.\n - `speed?: number`\n Adjusts speech velocity. 1.0 is default speed; values less than 1.0 slow speech; values greater than 1.0 accelerate it. Only applicable when using ElevenLabs.\n - `style?: number`\n Determines the style exaggeration of the voice. Amplifies speaker style but consumes additional resources when set above 0. Only applicable when using ElevenLabs.\n - `temperature?: number`\n Determines how stable the voice is and the randomness between each generation. Lower values create a broader emotional range; higher values produce more consistent, monotonous output. Only applicable when using ElevenLabs.\n - `use_speaker_boost?: boolean`\n Amplifies similarity to the original speaker voice. Increases computational load and latency slightly. Only applicable when using ElevenLabs.\n - `voice_speed?: number`\n The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger numbers make the voice faster, smaller numbers make it slower. This is only applicable for Telnyx Natural voices.\n\n- `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n Configuration settings for the assistant's web widget.\n - `agent_thinking_text?: string`\n Text displayed while the agent is processing.\n - `audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }`\n - `default_state?: 'expanded' | 'collapsed'`\n The default state of the widget.\n - `give_feedback_url?: string`\n URL for users to give feedback.\n - `logo_icon_url?: string`\n URL to a custom logo icon for the widget.\n - `position?: 'fixed' | 'static'`\n The positioning style for the widget.\n - `report_issue_url?: string`\n URL for users to report issues.\n - `speak_to_interrupt_text?: string`\n Text prompting users to speak to interrupt.\n - `start_call_text?: string`\n Custom text displayed on the start call button.\n - `theme?: 'light' | 'dark'`\n The visual theme for the widget.\n - `view_history_url?: string`\n URL to view conversation history.\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.update('assistant_id');\n\nconsole.log(inferenceEmbedding);\n```",
1032
1032
  },
1033
1033
  {
1034
1034
  name: 'list',
@@ -1075,7 +1075,7 @@ const EMBEDDED_METHODS = [
1075
1075
  qualified: 'client.ai.assistants.clone',
1076
1076
  params: ['assistant_id: string;'],
1077
1077
  response: "{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: object; insight_settings?: object; llm_api_key_ref?: string; messaging_settings?: object; observability_settings?: object; privacy_settings?: object; telephony_settings?: object; tools?: inference_embedding_webhook_tool_params | retrieval_tool | object | hangup_tool | object | object | object | object | object | object[]; transcription?: object; voice_settings?: object; widget_settings?: object; }",
1078
- markdown: "## clone\n\n`client.ai.assistants.clone(assistant_id: string): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants/{assistant_id}/clone`\n\nClone an existing assistant, excluding telephony and messaging settings.\n\n### Parameters\n\n- `assistant_id: string`\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.clone('assistant_id');\n\nconsole.log(inferenceEmbedding);\n```",
1078
+ markdown: "## clone\n\n`client.ai.assistants.clone(assistant_id: string): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants/{assistant_id}/clone`\n\nClone an existing assistant, excluding telephony and messaging settings.\n\n### Parameters\n\n- `assistant_id: string`\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.clone('assistant_id');\n\nconsole.log(inferenceEmbedding);\n```",
1079
1079
  },
1080
1080
  {
1081
1081
  name: 'get_texml',
@@ -1442,7 +1442,7 @@ const EMBEDDED_METHODS = [
1442
1442
  qualified: 'client.ai.assistants.versions.retrieve',
1443
1443
  params: ['assistant_id: string;', 'version_id: string;', 'include_mcp_servers?: boolean;'],
1444
1444
  response: "{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: object; insight_settings?: object; llm_api_key_ref?: string; messaging_settings?: object; observability_settings?: object; privacy_settings?: object; telephony_settings?: object; tools?: inference_embedding_webhook_tool_params | retrieval_tool | object | hangup_tool | object | object | object | object | object | object[]; transcription?: object; voice_settings?: object; widget_settings?: object; }",
1445
- markdown: "## retrieve\n\n`client.ai.assistants.versions.retrieve(assistant_id: string, version_id: string, include_mcp_servers?: boolean): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**get** `/ai/assistants/{assistant_id}/versions/{version_id}`\n\nRetrieves a specific version of an assistant by assistant_id and version_id\n\n### Parameters\n\n- `assistant_id: string`\n\n- `version_id: string`\n\n- `include_mcp_servers?: boolean`\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.versions.retrieve('version_id', { assistant_id: 'assistant_id' });\n\nconsole.log(inferenceEmbedding);\n```",
1445
+ markdown: "## retrieve\n\n`client.ai.assistants.versions.retrieve(assistant_id: string, version_id: string, include_mcp_servers?: boolean): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**get** `/ai/assistants/{assistant_id}/versions/{version_id}`\n\nRetrieves a specific version of an assistant by assistant_id and version_id\n\n### Parameters\n\n- `assistant_id: string`\n\n- `version_id: string`\n\n- `include_mcp_servers?: boolean`\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.versions.retrieve('version_id', { assistant_id: 'assistant_id' });\n\nconsole.log(inferenceEmbedding);\n```",
1446
1446
  },
1447
1447
  {
1448
1448
  name: 'update',
@@ -1468,15 +1468,15 @@ const EMBEDDED_METHODS = [
1468
1468
  'name?: string;',
1469
1469
  "observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; };",
1470
1470
  'privacy_settings?: { data_retention?: boolean; };',
1471
- "telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; };",
1471
+ "telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; };",
1472
1472
  'tool_ids?: string[];',
1473
- "tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[];",
1473
+ "tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[];",
1474
1474
  'transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; };',
1475
1475
  "voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; };",
1476
1476
  "widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; };",
1477
1477
  ],
1478
1478
  response: "{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: object; insight_settings?: object; llm_api_key_ref?: string; messaging_settings?: object; observability_settings?: object; privacy_settings?: object; telephony_settings?: object; tools?: inference_embedding_webhook_tool_params | retrieval_tool | object | hangup_tool | object | object | object | object | object | object[]; transcription?: object; voice_settings?: object; widget_settings?: object; }",
1479
- markdown: "## update\n\n`client.ai.assistants.versions.update(assistant_id: string, version_id: string, description?: string, dynamic_variables?: object, dynamic_variables_webhook_url?: string, enabled_features?: 'telephony' | 'messaging'[], greeting?: string, insight_settings?: { insight_group_id?: string; }, instructions?: string, llm_api_key_ref?: string, messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }, model?: string, name?: string, observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }, privacy_settings?: { data_retention?: boolean; }, telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }, tool_ids?: string[], tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[], transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }, voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }, widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants/{assistant_id}/versions/{version_id}`\n\nUpdates the configuration of a specific assistant version. Can not update main version\n\n### Parameters\n\n- `assistant_id: string`\n\n- `version_id: string`\n\n- `description?: string`\n\n- `dynamic_variables?: object`\n Map of dynamic variables and their default values\n\n- `dynamic_variables_webhook_url?: string`\n If the dynamic_variables_webhook_url is set for the assistant, we will send a request at the start of the conversation. See our [guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for more information.\n\n- `enabled_features?: 'telephony' | 'messaging'[]`\n\n- `greeting?: string`\n Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions.\n\n- `insight_settings?: { insight_group_id?: string; }`\n - `insight_group_id?: string`\n Reference to an Insight Group. Insights in this group will be run automatically for all the assistant's conversations.\n\n- `instructions?: string`\n System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `llm_api_key_ref?: string`\n This is only needed when using third-party inference providers. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. Warning: Free plans are unlikely to work with this integration.\n\n- `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `conversation_inactivity_minutes?: number`\n If more than this many minutes have passed since the last message, the assistant will start a new conversation instead of continuing the existing one.\n - `default_messaging_profile_id?: string`\n Default Messaging Profile used for messaging exchanges with your assistant. This will be created automatically on assistant creation.\n - `delivery_status_webhook_url?: string`\n The URL where webhooks related to delivery statused for assistant messages will be sent.\n\n- `model?: string`\n ID of the model to use. You can use the [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models) to see all of your available models,\n\n- `name?: string`\n\n- `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `host?: string`\n - `public_key_ref?: string`\n - `secret_key_ref?: string`\n - `status?: 'enabled' | 'disabled'`\n\n- `privacy_settings?: { data_retention?: boolean; }`\n - `data_retention?: boolean`\n If true, conversation history and insights will be stored. If false, they will not be stored. This in‑tool toggle governs solely the retention of conversation history and insights via the AI assistant. It has no effect on any separate recording, transcription, or storage configuration that you have set at the account, number, or application level. All such external settings remain in force regardless of your selection here.\n\n- `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `default_texml_app_id?: string`\n Default Texml App used for voice calls with your assistant. This will be created automatically on assistant creation.\n - `noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'`\n The noise suppression engine to use. Use 'disabled' to turn off noise suppression.\n - `noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }`\n Configuration for noise suppression. Only applicable when noise_suppression is 'deepfilternet'.\n - `recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }`\n Configuration for call recording format and channel settings.\n - `supports_unauthenticated_web_calls?: boolean`\n When enabled, allows users to interact with your AI assistant directly from your website without requiring authentication. This is required for FE widgets that work with assistants that have telephony enabled.\n - `time_limit_secs?: number`\n Maximum duration in seconds for the AI assistant to participate on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `user_idle_timeout_secs?: number`\n Maximum duration in seconds of end user silence on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: { message?: string; prompt?: string; type?: 'prompt' | 'message'; }; }; }`\n Configuration for voicemail detection (AMD - Answering Machine Detection) on outgoing calls. These settings only apply if AMD is enabled on the Dial command. See [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call) for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true, DetectionMode=Premium.\n\n- `tool_ids?: string[]`\n\n- `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n The tools that the assistant can use. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `language?: string`\n The language of the audio to be transcribed. If not set, of if set to `auto`, the model will automatically detect the language.\n - `model?: string`\n The speech to text model to be used by the voice assistant. All the deepgram models are run on-premise.\n\n- `deepgram/flux` is optimized for turn-taking but is English-only.\n- `deepgram/nova-3` is multi-lingual with automatic language detection but slightly higher latency.\n - `region?: string`\n Region on third party cloud providers (currently Azure) if using one of their models\n - `settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }`\n\n- `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `voice: string`\n The voice to be used by the voice assistant. Check the full list of [available voices](https://developers.telnyx.com/docs/tts-stt/tts-available-voices) via our voices API.\nTo use ElevenLabs, you must reference your ElevenLabs API key as an integration secret under the `api_key_ref` field. See [integration secrets documentation](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) for details. For Telnyx voices, use `Telnyx.<model_id>.<voice_id>` (e.g. Telnyx.KokoroTTS.af_heart)\n - `api_key_ref?: string`\n The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.\n - `background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }`\n Optional background audio to play on the call. Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen in the portal, customers can preview it before saving.\n - `expressive_mode?: boolean`\n Enables emotionally expressive speech using SSML emotion tags. When enabled, the assistant uses audio tags like angry, excited, content, and sad to add emotional nuance. Only supported for Telnyx Ultra voices.\n - `language_boost?: string`\n Enhances recognition for specific languages and dialects during MiniMax TTS synthesis. Default is null (no boost). Set to 'auto' for automatic language detection. Only applicable when using MiniMax voices.\n - `similarity_boost?: number`\n Determines how closely the AI should adhere to the original voice when attempting to replicate it. Only applicable when using ElevenLabs.\n - `speed?: number`\n Adjusts speech velocity. 1.0 is default speed; values less than 1.0 slow speech; values greater than 1.0 accelerate it. Only applicable when using ElevenLabs.\n - `style?: number`\n Determines the style exaggeration of the voice. Amplifies speaker style but consumes additional resources when set above 0. Only applicable when using ElevenLabs.\n - `temperature?: number`\n Determines how stable the voice is and the randomness between each generation. Lower values create a broader emotional range; higher values produce more consistent, monotonous output. Only applicable when using ElevenLabs.\n - `use_speaker_boost?: boolean`\n Amplifies similarity to the original speaker voice. Increases computational load and latency slightly. Only applicable when using ElevenLabs.\n - `voice_speed?: number`\n The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger numbers make the voice faster, smaller numbers make it slower. This is only applicable for Telnyx Natural voices.\n\n- `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n Configuration settings for the assistant's web widget.\n - `agent_thinking_text?: string`\n Text displayed while the agent is processing.\n - `audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }`\n - `default_state?: 'expanded' | 'collapsed'`\n The default state of the widget.\n - `give_feedback_url?: string`\n URL for users to give feedback.\n - `logo_icon_url?: string`\n URL to a custom logo icon for the widget.\n - `position?: 'fixed' | 'static'`\n The positioning style for the widget.\n - `report_issue_url?: string`\n URL for users to report issues.\n - `speak_to_interrupt_text?: string`\n Text prompting users to speak to interrupt.\n - `start_call_text?: string`\n Custom text displayed on the start call button.\n - `theme?: 'light' | 'dark'`\n The visual theme for the widget.\n - `view_history_url?: string`\n URL to view conversation history.\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.versions.update('version_id', { assistant_id: 'assistant_id' });\n\nconsole.log(inferenceEmbedding);\n```",
1479
+ markdown: "## update\n\n`client.ai.assistants.versions.update(assistant_id: string, version_id: string, description?: string, dynamic_variables?: object, dynamic_variables_webhook_url?: string, enabled_features?: 'telephony' | 'messaging'[], greeting?: string, insight_settings?: { insight_group_id?: string; }, instructions?: string, llm_api_key_ref?: string, messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }, model?: string, name?: string, observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }, privacy_settings?: { data_retention?: boolean; }, telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }, tool_ids?: string[], tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[], transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }, voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }, widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants/{assistant_id}/versions/{version_id}`\n\nUpdates the configuration of a specific assistant version. Can not update main version\n\n### Parameters\n\n- `assistant_id: string`\n\n- `version_id: string`\n\n- `description?: string`\n\n- `dynamic_variables?: object`\n Map of dynamic variables and their default values\n\n- `dynamic_variables_webhook_url?: string`\n If the dynamic_variables_webhook_url is set for the assistant, we will send a request at the start of the conversation. See our [guide](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables) for more information.\n\n- `enabled_features?: 'telephony' | 'messaging'[]`\n\n- `greeting?: string`\n Text that the assistant will use to start the conversation. This may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables). Use an empty string to have the assistant wait for the user to speak first. Use the special value `<assistant-speaks-first-with-model-generated-message>` to have the assistant generate the greeting based on the system instructions.\n\n- `insight_settings?: { insight_group_id?: string; }`\n - `insight_group_id?: string`\n Reference to an Insight Group. Insights in this group will be run automatically for all the assistant's conversations.\n\n- `instructions?: string`\n System instructions for the assistant. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `llm_api_key_ref?: string`\n This is only needed when using third-party inference providers. The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your LLM provider's API key. Warning: Free plans are unlikely to work with this integration.\n\n- `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `conversation_inactivity_minutes?: number`\n If more than this many minutes have passed since the last message, the assistant will start a new conversation instead of continuing the existing one.\n - `default_messaging_profile_id?: string`\n Default Messaging Profile used for messaging exchanges with your assistant. This will be created automatically on assistant creation.\n - `delivery_status_webhook_url?: string`\n The URL where webhooks related to delivery statused for assistant messages will be sent.\n\n- `model?: string`\n ID of the model to use. You can use the [Get models API](https://developers.telnyx.com/api-reference/chat/get-available-models) to see all of your available models,\n\n- `name?: string`\n\n- `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `host?: string`\n - `public_key_ref?: string`\n - `secret_key_ref?: string`\n - `status?: 'enabled' | 'disabled'`\n\n- `privacy_settings?: { data_retention?: boolean; }`\n - `data_retention?: boolean`\n If true, conversation history and insights will be stored. If false, they will not be stored. This in‑tool toggle governs solely the retention of conversation history and insights via the AI assistant. It has no effect on any separate recording, transcription, or storage configuration that you have set at the account, number, or application level. All such external settings remain in force regardless of your selection here.\n\n- `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `default_texml_app_id?: string`\n Default Texml App used for voice calls with your assistant. This will be created automatically on assistant creation.\n - `noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'`\n The noise suppression engine to use. Use 'disabled' to turn off noise suppression.\n - `noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }`\n Configuration for noise suppression. Only applicable when noise_suppression is 'deepfilternet'.\n - `recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }`\n Configuration for call recording format and channel settings.\n - `supports_unauthenticated_web_calls?: boolean`\n When enabled, allows users to interact with your AI assistant directly from your website without requiring authentication. This is required for FE widgets that work with assistants that have telephony enabled.\n - `time_limit_secs?: number`\n Maximum duration in seconds for the AI assistant to participate on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `user_idle_timeout_secs?: number`\n Maximum duration in seconds of end user silence on the call. When this limit is reached the assistant will be stopped. This limit does not apply to portions of a call without an active assistant (for instance, a call transferred to a human representative).\n - `voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: { message?: string; prompt?: string; type?: 'prompt' | 'message'; }; }; }`\n Configuration for voicemail detection (AMD - Answering Machine Detection) on outgoing calls. These settings only apply if AMD is enabled on the Dial command. See [TeXML Dial documentation](https://developers.telnyx.com/api-reference/texml-rest-commands/initiate-an-outbound-call) for enabling AMD. Recommended settings: MachineDetection=Enable, AsyncAmd=true, DetectionMode=Premium.\n\n- `tool_ids?: string[]`\n\n- `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n The tools that the assistant can use. These may be templated with [dynamic variables](https://developers.telnyx.com/docs/inference/ai-assistants/dynamic-variables)\n\n- `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `language?: string`\n The language of the audio to be transcribed. If not set, of if set to `auto`, the model will automatically detect the language.\n - `model?: string`\n The speech to text model to be used by the voice assistant. All the deepgram models are run on-premise.\n\n- `deepgram/flux` is optimized for turn-taking but is English-only.\n- `deepgram/nova-3` is multi-lingual with automatic language detection but slightly higher latency.\n - `region?: string`\n Region on third party cloud providers (currently Azure) if using one of their models\n - `settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }`\n\n- `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `voice: string`\n The voice to be used by the voice assistant. Check the full list of [available voices](https://developers.telnyx.com/docs/tts-stt/tts-available-voices) via our voices API.\nTo use ElevenLabs, you must reference your ElevenLabs API key as an integration secret under the `api_key_ref` field. See [integration secrets documentation](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) for details. For Telnyx voices, use `Telnyx.<model_id>.<voice_id>` (e.g. Telnyx.KokoroTTS.af_heart)\n - `api_key_ref?: string`\n The `identifier` for an integration secret [/v2/integration_secrets](https://developers.telnyx.com/api-reference/integration-secrets/create-a-secret) that refers to your ElevenLabs API key. Warning: Free plans are unlikely to work with this integration.\n - `background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }`\n Optional background audio to play on the call. Use a predefined media bed, or supply a looped MP3 URL. If a media URL is chosen in the portal, customers can preview it before saving.\n - `expressive_mode?: boolean`\n Enables emotionally expressive speech using SSML emotion tags. When enabled, the assistant uses audio tags like angry, excited, content, and sad to add emotional nuance. Only supported for Telnyx Ultra voices.\n - `language_boost?: string`\n Enhances recognition for specific languages and dialects during MiniMax TTS synthesis. Default is null (no boost). Set to 'auto' for automatic language detection. Only applicable when using MiniMax voices.\n - `similarity_boost?: number`\n Determines how closely the AI should adhere to the original voice when attempting to replicate it. Only applicable when using ElevenLabs.\n - `speed?: number`\n Adjusts speech velocity. 1.0 is default speed; values less than 1.0 slow speech; values greater than 1.0 accelerate it. Only applicable when using ElevenLabs.\n - `style?: number`\n Determines the style exaggeration of the voice. Amplifies speaker style but consumes additional resources when set above 0. Only applicable when using ElevenLabs.\n - `temperature?: number`\n Determines how stable the voice is and the randomness between each generation. Lower values create a broader emotional range; higher values produce more consistent, monotonous output. Only applicable when using ElevenLabs.\n - `use_speaker_boost?: boolean`\n Amplifies similarity to the original speaker voice. Increases computational load and latency slightly. Only applicable when using ElevenLabs.\n - `voice_speed?: number`\n The speed of the voice in the range [0.25, 2.0]. 1.0 is deafult speed. Larger numbers make the voice faster, smaller numbers make it slower. This is only applicable for Telnyx Natural voices.\n\n- `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n Configuration settings for the assistant's web widget.\n - `agent_thinking_text?: string`\n Text displayed while the agent is processing.\n - `audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }`\n - `default_state?: 'expanded' | 'collapsed'`\n The default state of the widget.\n - `give_feedback_url?: string`\n URL for users to give feedback.\n - `logo_icon_url?: string`\n URL to a custom logo icon for the widget.\n - `position?: 'fixed' | 'static'`\n The positioning style for the widget.\n - `report_issue_url?: string`\n URL for users to report issues.\n - `speak_to_interrupt_text?: string`\n Text prompting users to speak to interrupt.\n - `start_call_text?: string`\n Custom text displayed on the start call button.\n - `theme?: 'light' | 'dark'`\n The visual theme for the widget.\n - `view_history_url?: string`\n URL to view conversation history.\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.versions.update('version_id', { assistant_id: 'assistant_id' });\n\nconsole.log(inferenceEmbedding);\n```",
1480
1480
  },
1481
1481
  {
1482
1482
  name: 'list',
@@ -1511,7 +1511,7 @@ const EMBEDDED_METHODS = [
1511
1511
  qualified: 'client.ai.assistants.versions.promote',
1512
1512
  params: ['assistant_id: string;', 'version_id: string;'],
1513
1513
  response: "{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: object; insight_settings?: object; llm_api_key_ref?: string; messaging_settings?: object; observability_settings?: object; privacy_settings?: object; telephony_settings?: object; tools?: inference_embedding_webhook_tool_params | retrieval_tool | object | hangup_tool | object | object | object | object | object | object[]; transcription?: object; voice_settings?: object; widget_settings?: object; }",
1514
- markdown: "## promote\n\n`client.ai.assistants.versions.promote(assistant_id: string, version_id: string): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants/{assistant_id}/versions/{version_id}/promote`\n\nPromotes a specific version to be the main/current version of the assistant. This will delete any existing canary deploy configuration and send all live production traffic to this version.\n\n### Parameters\n\n- `assistant_id: string`\n\n- `version_id: string`\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.versions.promote('version_id', { assistant_id: 'assistant_id' });\n\nconsole.log(inferenceEmbedding);\n```",
1514
+ markdown: "## promote\n\n`client.ai.assistants.versions.promote(assistant_id: string, version_id: string): { id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: enabled_features[]; greeting?: string; import_metadata?: import_metadata; insight_settings?: insight_settings; llm_api_key_ref?: string; messaging_settings?: messaging_settings; observability_settings?: observability; privacy_settings?: privacy_settings; telephony_settings?: telephony_settings; tools?: assistant_tool[]; transcription?: transcription_settings; voice_settings?: voice_settings; widget_settings?: widget_settings; }`\n\n**post** `/ai/assistants/{assistant_id}/versions/{version_id}/promote`\n\nPromotes a specific version to be the main/current version of the assistant. This will delete any existing canary deploy configuration and send all live production traffic to this version.\n\n### Parameters\n\n- `assistant_id: string`\n\n- `version_id: string`\n\n### Returns\n\n- `{ id: string; created_at: string; instructions: string; model: string; name: string; description?: string; dynamic_variables?: object; dynamic_variables_webhook_url?: string; enabled_features?: 'telephony' | 'messaging'[]; greeting?: string; import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }; insight_settings?: { insight_group_id?: string; }; llm_api_key_ref?: string; messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }; observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }; privacy_settings?: { data_retention?: boolean; }; telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: object; recording_settings?: object; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: object; }; tools?: object | object | { handoff: object; type: 'handoff'; } | object | { transfer: object; type: 'transfer'; } | { invite_config: object; type: 'invite'; } | { refer: object; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: object; type: 'send_message'; } | { skip_turn: object; type: 'skip_turn'; }[]; transcription?: { language?: string; model?: string; region?: string; settings?: transcription_settings_config; }; voice_settings?: { voice: string; api_key_ref?: string; background_audio?: object | object | object; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }; widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: audio_visualizer_config; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }; }`\n\n - `id: string`\n - `created_at: string`\n - `instructions: string`\n - `model: string`\n - `name: string`\n - `description?: string`\n - `dynamic_variables?: object`\n - `dynamic_variables_webhook_url?: string`\n - `enabled_features?: 'telephony' | 'messaging'[]`\n - `greeting?: string`\n - `import_metadata?: { import_id?: string; import_provider?: 'elevenlabs' | 'vapi' | 'retell'; }`\n - `insight_settings?: { insight_group_id?: string; }`\n - `llm_api_key_ref?: string`\n - `messaging_settings?: { conversation_inactivity_minutes?: number; default_messaging_profile_id?: string; delivery_status_webhook_url?: string; }`\n - `observability_settings?: { host?: string; public_key_ref?: string; secret_key_ref?: string; status?: 'enabled' | 'disabled'; }`\n - `privacy_settings?: { data_retention?: boolean; }`\n - `telephony_settings?: { default_texml_app_id?: string; noise_suppression?: 'krisp' | 'deepfilternet' | 'disabled'; noise_suppression_config?: { attenuation_limit?: number; mode?: 'advanced'; }; recording_settings?: { channels?: 'single' | 'dual'; enabled?: boolean; format?: 'wav' | 'mp3'; }; supports_unauthenticated_web_calls?: boolean; time_limit_secs?: number; user_idle_timeout_secs?: number; voicemail_detection?: { on_voicemail_detected?: { action?: 'stop_assistant' | 'leave_message_and_stop_assistant' | 'continue_assistant'; voicemail_message?: object; }; }; }`\n - `tools?: { type: 'webhook'; webhook: { description: string; name: string; url: string; async?: boolean; body_parameters?: object; headers?: object[]; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; path_parameters?: object; query_parameters?: object; store_fields_as_variables?: object[]; timeout_ms?: number; }; } | { retrieval: object; type: 'retrieval'; } | { handoff: { ai_assistants: { id: string; name: string; }[]; voice_mode?: 'unified' | 'distinct'; }; type: 'handoff'; } | { hangup: object; type: 'hangup'; } | { transfer: { from: string; targets: { name?: string; to?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; voicemail_detection?: { detection_config?: object; detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; warm_message_delay_ms?: number; warm_transfer_instructions?: string; }; type: 'transfer'; } | { invite_config: { custom_headers?: { name?: string; value?: string; }[]; from?: string; voicemail_detection?: { detection_mode?: 'disabled' | 'premium'; on_voicemail_detected?: object; }; }; type: 'invite'; } | { refer: { targets: { name: string; sip_address: string; sip_auth_password?: string; sip_auth_username?: string; }[]; custom_headers?: { name?: string; value?: string; }[]; sip_headers?: { name?: 'User-to-User' | 'Diversion'; value?: string; }[]; }; type: 'refer'; } | { send_dtmf: object; type: 'send_dtmf'; } | { send_message: { message_template?: string; }; type: 'send_message'; } | { skip_turn: { description?: string; }; type: 'skip_turn'; }[]`\n - `transcription?: { language?: string; model?: string; region?: string; settings?: { eager_eot_threshold?: number; eot_threshold?: number; eot_timeout_ms?: number; numerals?: boolean; smart_format?: boolean; }; }`\n - `voice_settings?: { voice: string; api_key_ref?: string; background_audio?: { type: 'predefined_media'; value: 'silence' | 'office'; } | { type: 'media_url'; value: string; } | { type: 'media_name'; value: string; }; expressive_mode?: boolean; language_boost?: string; similarity_boost?: number; speed?: number; style?: number; temperature?: number; use_speaker_boost?: boolean; voice_speed?: number; }`\n - `widget_settings?: { agent_thinking_text?: string; audio_visualizer_config?: { color?: 'verdant' | 'twilight' | 'bloom' | 'mystic' | 'flare' | 'glacier'; preset?: string; }; default_state?: 'expanded' | 'collapsed'; give_feedback_url?: string; logo_icon_url?: string; position?: 'fixed' | 'static'; report_issue_url?: string; speak_to_interrupt_text?: string; start_call_text?: string; theme?: 'light' | 'dark'; view_history_url?: string; }`\n\n### Example\n\n```typescript\nimport Telnyx from 'telnyx';\n\nconst client = new Telnyx();\n\nconst inferenceEmbedding = await client.ai.assistants.versions.promote('version_id', { assistant_id: 'assistant_id' });\n\nconsole.log(inferenceEmbedding);\n```",
1515
1515
  },
1516
1516
  {
1517
1517
  name: 'list',