> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Prévisualiser la configuration fusionnée

GET https://api.elevenlabs.io/v1/convai/agents/{agent_id}/branches/{source_branch_id}/merge-preview

Renvoie le résultat de la fusion de la branche source dans la branche cible sans effectuer la fusion. Utile pour afficher un diff précis avant confirmation.

Reference: https://elevenlabs.io/docs/eleven-agents/api-reference/agents/branches/preview-merge

## Servers

- `https://api.elevenlabs.io` (Production, default)
- `https://api.us.elevenlabs.io` (Production US)
- `https://api.eu.residency.elevenlabs.io` (Production EU)
- `https://api.in.residency.elevenlabs.io` (Production India)
- `https://api.sg.residency.elevenlabs.io` (Production Singapore)

## Request

### Path parameters

- `agent_id` (string, required) — L’ID d’un agent. Il est renvoyé lors de la création de l’agent.
- `source_branch_id` (string, required) — Identifiant unique de la branche source à fusionner.

### Query parameters

- `target_branch_id` (string, required) — L’ID de la branche cible dans laquelle effectuer la fusion.
- `force` (boolean, optional, default: false) — Lorsque la valeur est true, les modifications de la branche source l’emportent toujours en cas de conflit, quels que soient les horodatages.
- `include_procedure_generated_workflow_elements` (boolean, optional, default: true) — Indique s’il faut inclure les nœuds et les liens du workflow générés à partir de procédures structurées. Lorsque la valeur est false, le workflow contient uniquement les éléments créés manuellement.

## Response

### 200

Réponse réussie

- `agent_id` (string, required) — L’ID de l’agent
- `name` (string, required) — Le nom de l’agent
- `conversation_config` (ConversationalConfig, required) — Configuration de conversation de l’agent
- `metadata` (AgentMetadataResponseModel, required) — Les métadonnées de l’agent
- `platform_settings` (AgentPlatformSettingsResponseModel, optional) — Les paramètres de plateforme de l’agent
- `phone_numbers` (list of MergePreviewResponseModelPhoneNumbersItem, optional) — Les numéros de téléphone de l’agent
- `whatsapp_accounts` (list of GetWhatsAppAccountResponse, optional) — Comptes WhatsApp attribués à l’agent
- `workflow` (AgentWorkflowResponseModel, optional) — Le workflow de l’agent
- `access_info` (ResourceAccessInfo, optional) — Informations d’accès de l’agent pour l’utilisateur
- `tags` (list of string, optional) — Balises de l'agent utilisées pour le catégoriser
- `version_id` (string, optional) — L’ID de la version utilisée par l’agent
- `branch_id` (string, optional) — L’ID de la branche sur laquelle se trouve l’agent
- `main_branch_id` (string, optional) — L’ID de la branche principale de cet agent
- `procedures` (map from string to ProcedureRefResponseModel, optional) — Procédures indexées par procedure_id.
- `default_hold_audio_url` (string, optional, default: https://eleven-public-cdn-common.elevenlabs.io/convai/ambient-audio-assets/elevator1.mp3) — URL de la tonalité d’attente par défaut diffusée aux appelants en file d’attente lorsqu’aucun audio d’attente personnalisé n’est importé, afin que le Dashboard puisse en afficher un aperçu.
- `overridden_fields` (list of string, optional) — Chemins en notation pointée des champs de configuration pour lesquels les deux branches ont modifié le même champ par rapport à leur ancêtre commun, ce qui crée des conflits. Présents quel que soit le côté qui l’emporte.
- `conflicts` (list of FieldConflict, optional) — Structured view of the same conflicts as overridden_fields, each carrying the value on the base (common ancestor), source branch, and target branch so the divergence can be presented and resolved field-by-field.
- `source_identical_to_target` (boolean, optional, default: false) — True lorsque la fusion ou le rebase n’aurait aucun effet, c’est-à-dire lorsque le résultat de la fusion est identique à l’extrémité de la branche source. Le point de terminaison de rebase rejette cette opération dans ce cas.

## Errors

### 422 Branches Preview Merge Request Unprocessable Entity Error

Erreur de validation

- `detail` (list of ValidationError, optional)

## Types

### ConversationalConfig

- `asr` (AsrConversationalConfig, optional) — Configuration de la transcription conversationnelle
- `turn` (TurnConfig, optional) — Configuration de la détection des tours de parole
- `tts` (TtsConversationalConfigOutput, optional) — Configuration de la synthèse vocale conversationnelle
- `conversation` (ConversationConfigOutput, optional) — Configuration des événements conversationnels
- `language_presets` (map from string to LanguagePresetOutput, optional) — Paramètres prédéfinis de langue pour les conversations
- `vad` (VadConfig, optional) — Configuration de la détection d'activité vocale
- `agent` (AgentConfig, optional) — Configuration spécifique à l'agent

### AgentMetadataResponseModel

- `created_at_unix_secs` (integer, required) — Date de création de l’agent en secondes Unix
- `updated_at_unix_secs` (integer, required) — L’heure de la dernière mise à jour de l’agent, en secondes Unix

### AgentPlatformSettingsResponseModel

- `evaluation` (EvaluationSettingsOutput, optional) — Paramètres d’évaluation
- `widget` (WidgetConfig, optional) — Configuration du widget
- `data_collection` (map from string to AnalysisProperty, optional) — Paramètres de collecte de données
- `data_collection_scopes` (map from string to enum, optional) — Portée par ID d’élément de collecte de données. Les clés manquantes utilisent par défaut la portée de la conversation.
  - Allowed values: `conversation`, `agent`
- `analysis_items` (AgentAnalysisItemsOutput, optional) — Éléments d'évaluation et de collecte de données associés par référence. None signifie que l'agent n'a pas encore été migré vers les éléments d'analyse, à distinguer d'un ensemble migré vide ; dans ce cas, les lectures utilisent les champs hérités evaluation/data_collection.
- `overrides` (ConversationInitiationClientDataConfigOutput, optional) — Remplacements supplémentaires pour l'agent lors de l'initialisation de la conversation
- `workspace_overrides` (AgentWorkspaceOverridesOutput, optional) — Remplacements du Workspace pour l’agent
- `testing` (AgentTestingSettings, optional) — Configuration de test de l’agent
- `archived` (boolean, optional, default: false) — Indique si l’agent est archivé
- `guardrails` (GuardrailsV1Output, optional) — Configuration des garde-fous pour l’agent.
- `summary_language` (string, optional) — Langue de toutes les sorties d'analyse de conversation, y compris les résumés, titres, justifications d'évaluation et justifications de collecte de données. Si elle n'est pas définie, la langue sera déduite de la conversation. Doit faire partie des langues de conversation prises en charge.
- `auto_translate_transcript_to_app_language` (boolean, optional) — Lorsque cette option est activée, une transcription de conversation est automatiquement traduite dans la langue de l’application de la personne qui la consulte lorsqu’elle ouvre la page de transcription. Si elle n’est pas définie ou vaut false, les transcriptions s’affichent dans leur langue d’origine, sauf si la personne sélectionne manuellement une traduction.
- `auth` (AuthSettings, optional) — Paramètres d’authentification
- `call_limits` (AgentCallLimits, optional) — Limites d'appels pour l'agent
- `queueing_config` (AgentQueueingConfig, optional) — Configuration de la file d'attente de requêtes simultanées pour l'agent
- `privacy` (PrivacyConfigOutput, optional) — Paramètres de confidentialité de l’agent
- `trust_context` (enum, optional, default: unknown) — Le contexte de confiance dans lequel l’agent opère.
  - Allowed values: `unknown`, `low`, `high`
- `analysis_llm` (enum, optional) — Modèle LLM par défaut pour l'analyse post-appel (évaluation et collecte de données)
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `topic_discovery` (TopicDiscoverySettings, optional) — Configuration de la détection de sujets par agent
- `sentiment_analysis` (SentimentAnalysisSettings, optional) — Configuration de l'analyse des sentiments après appel par agent
- `alerting` (AlertingSettingsResponse, optional) — Configuration des alertes au niveau de l'agent, remplaçant les paramètres du Workspace.
- `safety` (SafetyResponseModel, optional)

### MergePreviewResponseModelPhoneNumbersItem

- `provider`: `exotel`
  - `label` (string, required) — Libellé du numéro de téléphone
  - `phone_number` (string, required) — Numéro de téléphone
  - `phone_number_id` (string, required) — L’ID du numéro de téléphone
  - `assigned_agent` (PhoneNumberAgentInfo, optional) — Agent attribué au numéro de téléphone
  - `supports_inbound` (boolean, optional, default: true, deprecated) — Ce champ est obsolète et sera supprimé ultérieurement. Indique si ce numéro de téléphone prend en charge les appels entrants.
  - `supports_outbound` (boolean, optional, default: true, deprecated) — Ce champ est obsolète et sera supprimé ultérieurement. Indique si ce numéro de téléphone prend en charge les appels sortants.
- `provider`: `sip_trunk`
  - `label` (string, required) — Libellé du numéro de téléphone
  - `livekit_stack` (enum, required, default: standard) — Type de pile Livekit utilisé pour ce numéro.
    - Allowed values: `standard`, `static`
  - `phone_number` (string, required) — Numéro de téléphone
  - `phone_number_id` (string, required) — L’ID du numéro de téléphone
  - `assigned_agent` (PhoneNumberAgentInfo, optional) — Agent attribué au numéro de téléphone
  - `inbound_trunk` (GetPhoneNumberInboundSipTrunkConfigResponseModel, optional) — Configuration du trunk SIP entrant, s'il est configuré.
  - `outbound_trunk` (GetPhoneNumberOutboundSipTrunkConfigResponseModel, optional) — Configuration du trunk SIP sortant, s'il est configuré.
  - `store_sip_messages` (boolean, optional, default: true) — Indique s'il faut stocker les messages SIP associés à ce numéro de téléphone.
  - `provider_config` (GetPhoneNumberOutboundSipTrunkConfigResponseModel, optional, deprecated) — Détails de configuration du trunk SIP pour un numéro de téléphone
  - `supports_inbound` (boolean, optional, default: true, deprecated) — Ce champ est obsolète et sera supprimé ultérieurement. Indique si ce numéro de téléphone prend en charge les appels entrants.
  - `supports_outbound` (boolean, optional, default: true, deprecated) — Ce champ est obsolète et sera supprimé ultérieurement. Indique si ce numéro de téléphone prend en charge les appels sortants.
- `provider`: `twilio`
  - `label` (string, required) — Libellé du numéro de téléphone
  - `phone_number` (string, required) — Numéro de téléphone
  - `phone_number_id` (string, required) — L’ID du numéro de téléphone
  - `assigned_agent` (PhoneNumberAgentInfo, optional) — Agent attribué au numéro de téléphone
  - `supports_inbound` (boolean, optional, default: true, deprecated) — Ce champ est obsolète et sera supprimé ultérieurement. Indique si ce numéro de téléphone prend en charge les appels entrants.
  - `supports_outbound` (boolean, optional, default: true, deprecated) — Ce champ est obsolète et sera supprimé ultérieurement. Indique si ce numéro de téléphone prend en charge les appels sortants.

### GetWhatsAppAccountResponse

- `business_account_id` (string, required)
- `phone_number_id` (string, required)
- `business_account_name` (string, required)
- `phone_number_name` (string, required)
- `phone_number` (string, required)
- `account_type` (enum, optional, default: cloud_api) — Indique quel flux Embedded Signup a créé ce compte.
  - Allowed values: `cloud_api`, `coexistence`
- `assigned_agent_id` (string, optional)
- `enable_messaging` (boolean, optional, default: true)
- `enable_audio_message_response` (boolean, optional, default: true)
- `enable_typing_indicator` (boolean, optional, default: true)
- `assigned_agent_name` (string, optional)
- `is_token_expired` (boolean, optional, default: false)

### AgentWorkflowResponseModel

- `edges` (map from string to WorkflowEdgeModelOutput, required)
- `nodes` (map from string to AgentWorkflowResponseModelNodesValue, required)
- `prevent_subagent_loops` (boolean, required, default: false) — Indique s'il faut empêcher les boucles dans l'exécution du workflow.

### ResourceAccessInfo

- `is_creator` (boolean, required) — Indique si l’utilisateur effectuant la requête est le créateur de l’agent
- `creator_name` (string, required) — Nom du créateur de l’agent
- `creator_email` (string, required) — Email du créateur de l’agent
- `role` (enum, required) — Le rôle de l'utilisateur effectuant la requête
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `anonymous_access_level_override` (enum, optional) — Niveau d’accès des utilisateurs anonymes. Si la valeur est None, la ressource n’est pas partagée publiquement.
  - Allowed values: `admin`, `editor`, `commenter`, `viewer`
- `access_source` (enum, optional) — Motif pour lequel l’utilisateur demandeur a accès à cette ressource. 'creator' = l’appelant est le propriétaire. 'explicit' = l’appelant, ou l’un de ses groupes du Workspace, figure dans role_to_group_ids en plus du groupe everyone à l’échelle du Workspace. 'workspace_default' = le groupe everyone à l’échelle du Workspace figure dans role_to_group_ids, chaque membre non anonyme du Workspace, y compris les administrateurs, voit cette ressource. 'workspace_admin' = l’appelant est administrateur du Workspace et le siège administrateur est le *seul* moyen d’accès ; réservé aux documents que personne d’autre ne peut voir. Permet à l’interface d’indiquer pourquoi un administrateur bénéficiant d’un accès dérogatoire voit un document qui ne lui a pas été explicitement partagé.
  - Allowed values: `creator`, `explicit`, `workspace_admin`, `workspace_default`

### ProcedureRefResponseModel

- `procedure_id` (string, required) — ID de la procédure
- `version_id` (string, optional) — ID de version d’une version de la procédure. None pour une procédure n’ayant jamais été versionnée.
- `name` (string, optional, default: ) — Nom de la procédure
- `type` (enum, optional, default: free_form) — Type de procédure
  - Allowed values: `free_form`, `deterministic`, `folder`
- `trigger` (string, optional, default: ) — Moment où l’agent doit utiliser cette procédure. Une chaîne vide signifie qu’il s’agit d’une sous-procédure qui ne doit démarrer que lorsqu’une autre procédure y fait référence.
- `referenced_tool_ids` (list of string, optional) — ID des outils référencés dans le contenu de la procédure
- `referenced_kb_ids` (list of string, optional) — ID des bases de connaissances référencées dans le contenu de la procédure
- `referenced_procedure_ids` (list of string, optional) — ID des procédures référencées dans le contenu de la procédure
- `referenced_dynamic_variables` (list of string, optional) — Noms des variables dynamiques utilisées dans le contenu de la procédure
- `folder_parent_id` (string, optional) — ID du dossier dans lequel cette procédure est placée. None désigne la racine.

### FieldConflict

- `path` (string, required) — Identifiant du champ en conflit dans sa section : un chemin à points dans conversation\_config/platform\_settings, par exemple `tts.voice_id`, un ID de procédure ou un chemin de workflow : `nodes.<id>`, `edges.<id>`, ou le nom d’un paramètre de workflow de niveau supérieur.
- `section` (enum, required) — Indique à quelle section de configuration appartient ce chemin.
  - Allowed values: `conversation_config`, `platform_settings`, `procedures`, `workflow`
- `base_value` (any, optional) — Valeur de l’ancêtre commun (base de fusion).
- `source_value` (any, optional) — Valeur à l’extrémité de la branche source.
- `target_value` (any, optional) — Valeur à l’extrémité de la branche cible.

### ValidationError

- `loc` (list of ValidationErrorLocItem, required)
- `msg` (string, required)
- `type` (string, required)

### AsrConversationalConfig

- `quality` ("high", optional) — La qualité de la transcription
- `provider` (enum, optional, default: scribe_realtime) — Le fournisseur du service de transcription
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, default: pcm_16000) — Le format de l’audio à transcrire
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional) — Mots-clés dont la probabilité de prédiction doit être augmentée

### TurnConfig

- `turn_timeout` (double, optional, default: 7) — Temps d’attente maximal de la réponse de l’utilisateur avant de le solliciter à nouveau
- `initial_wait_time` (double, optional) — How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout.
- `silence_end_call_timeout` (double, optional, default: -1) — Temps d’attente maximal depuis la dernière intervention de l’utilisateur avant de mettre fin à l’appel
- `turn_eagerness` (enum, optional, default: normal) — Contrôle la réactivité de l'agent. Faible = moins réactif (attend davantage), Standard = réactivité par défaut, Élevé = plus réactif (répond plus rapidement)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, default: auto) — Détermine si l'agent doit attendre davantage lorsque l'utilisateur épelle des nombres et des entités nommées. Auto = selon le modèle, Off = ne jamais attendre davantage
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional, default: false) — Lorsque cette option est activée, la génération des réponses du LLM commence pendant le silence, avant que la confiance totale du tour de parole soit atteinte, afin de réduire la latence perçue. Peut augmenter les coûts du LLM.
- `retranscribe_on_turn_timeout` (boolean, optional, default: false) — Lorsqu’elle est activée, si la VAD ne détecte aucune parole, tente de retranscrire l’audio accumulé à l’expiration du délai du tour. Désactive la facturation avec réduction pour les silences tant qu’elle est activée pour l’agent ou le nœud de workflow actif.
- `turn_model` (enum, optional, default: turn_v3) — Version du modèle de détection des tours de parole à utiliser.
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional) — Liste des termes qui ne doivent pas déclencher d'interruption lorsqu'ils sont prononcés par l'utilisateur, par exemple « gotcha » ou « understood ». Utilise une correspondance exacte insensible à la casse.
- `interruption_ignore_term_languages` (list of string, optional) — Codes de langue pour lesquels des catégories prédéfinies de termes à ignorer ont été activées. Ils sont stockés explicitement afin que l'affichage ne soit pas déduit du chevauchement des termes.
- `merge_with_default_ignore_terms` (boolean, optional, default: false) — Lorsque cette option est activée, les termes par défaut sélectionnés pour interruption_ignore_term_languages sont utilisés en plus de interruption_ignore_terms.
- `transcribe_on_disabled_interruptions` (boolean, optional, default: false) — Lorsque les interruptions sont désactivées, transcrit tout de même ce que dit l’utilisateur afin de le reporter au tour suivant. Lorsque cette option est désactivée, la parole de l’utilisateur pendant un tour non interruptible est ignorée et ne déclenche pas de tour de parole.
- `soft_timeout_config` (SoftTimeoutConfig, optional) — Configuration de la fonctionnalité de délai d'expiration souple. Fournit un retour immédiat pendant les réponses plus longues des LLM.

### TtsConversationalConfigOutput

- `model_id` (enum, optional, default: eleven_v4_turbo) — Le modèle à utiliser pour le TTS
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional, default: cjVigY5qzO86Huf0OWal) — L’ID de voix à utiliser pour le TTS
- `supported_voices` (list of SupportedVoice, optional) — Voix supplémentaires prises en charge pour l'agent
- `expressive_mode` (boolean, optional, default: true) — Lorsque cette option est activée, applique le prompt de balises audio expressives. Elle est automatiquement désactivée pour les modèles autres que v3.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — Suggested audio tags to boost expressive speech (for eleven_v3 and eleven_v3_conversational models). The agent can still use other tags not listed here.
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — Format audio à utiliser pour le TTS
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `optimize_streaming_latency` (integer, optional) — Obsolète : ce champ n'a aucun effet et est ignoré.
- `stability` (double, optional, default: 0.5) — La stabilité de la parole générée
- `speed` (double, optional, default: 1) — La vitesse de la parole générée
- `similarity_boost` (double, optional, default: 0.8) — L'amélioration de similarité pour la parole générée
- `text_normalisation_type` (enum, optional, default: system_prompt) — Méthode de conversion des nombres en mots avant la synthèse vocale. Si elle est définie sur SYSTEM_PROMPT, le prompt système est mis à jour pour inclure des instructions de normalisation. Si elle est définie sur ELEVENLABS, le texte est normalisé après la génération, ce qui entraîne une légère latence supplémentaire.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — Les localisateurs de dictionnaires de prononciation
- `enable_phoneme_tags` (boolean, optional, default: true) — Active la gestion des balises de phonèmes SSML pour les modèles V3. Lorsqu'elle est activée, les balises de phonèmes, en ligne et issues des dictionnaires de prononciation, sont analysées en API en ligne avant d'être envoyées au modèle.
- `audio_effects` (EffectsSpecOutput, optional) — Spécification facultative des effets TTS : préréglage de filtre, distance (égalisation de proximité) et environnement (réverbération par convolution).

### ConversationConfigOutput

- `text_only` (boolean, optional, default: false) — Si cette option est activée, l’audio ne sera pas traité et seul le texte sera utilisé, afin d’éviter la tarification audio.
- `max_duration_seconds` (integer, optional, default: 600) — La durée maximale d’une conversation, en secondes
- `client_events` (list of enum, optional) — Les événements qui seront envoyés au client
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `file_input` (FileInputConfig, optional) — Configuration des entrées de fichiers (chargements d'images/PDF) pendant les conversations.
- `monitoring_enabled` (boolean, optional, default: false) — Active la surveillance des conversations en temps réel via WebSocket
- `monitoring_events` (list of enum, optional) — Les événements qui seront envoyés aux connexions de surveillance.
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `dtmf_input_settings` (DtmfInputConfig, optional) — Configurez la collecte de saisies DTMF (clavier téléphonique) pendant les appels
- `background_sound` (BackgroundSoundConfig, optional) — Configuration du son d'arrière-plan durant les conversations.
- `source_attribution` (boolean, optional, default: false) — Lorsque cette option est activée et que la base de connaissances contient du contenu, le LLM reçoit l’instruction d’indiquer les sources qu’il a utilisées.

### LanguagePresetOutput

- `overrides` (ConversationConfigClientOverrideOutput, required) — Les remplacements du préréglage linguistique
- `first_message_translation` (LanguagePresetTranslation, optional) — La traduction du premier message.
- `soft_timeout_translation` (LanguagePresetTranslation, optional) — La traduction du message de délai d’expiration souple.

### VadConfig

### AgentConfig

- `first_message` (string, optional, default: ) — S’il n’est pas vide, premier message que l’agent prononcera. S’il est vide, l’agent attend que l’utilisateur commence la discussion.
- `language` (string, optional, default: en) — Langue de l'agent, utilisée pour l'ASR et le TTS
- `hinglish_mode` (boolean, optional, default: false) — Lorsqu’elle est activée, l’agent intègre des mots et des expressions en anglais dans les réponses en hindi, en malayalam, en télougou ou en kannada.
- `dynamic_variables` (any, optional)
- `disable_first_message_interruptions` (boolean, optional, default: false) — Si true, l’utilisateur ne pourra pas interrompre l’agent pendant la diffusion du premier message.
- `max_conversation_duration_message` (string, optional, default: ) — S’il n’est pas vide, message que l’agent enverra lorsque la durée maximale de la conversation sera atteinte.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional) — Remplacements du comportement de réponse par canal pour les conversations textuelles. Les valeurs par défaut intégrées au canal s’appliquent lorsqu’aucune valeur n’est définie.
- `prompt` (PromptAgentApiModelOutput, optional) — Le prompt de l’agent

### EvaluationSettingsOutput

Paramètres permettant d’évaluer les performances d’un agent. Les agents sont évalués selon un ensemble de critères. La réussite est définie par le respect d’une combinaison de ces critères.

- `criteria` (list of PromptEvaluationCriteria, optional) — Critères individuels selon lesquels l’agent doit être évalué

### WidgetConfig

- `variant` (enum, optional, default: full) — La variante du widget
  - Allowed values: `tiny`, `compact`, `full`, `expandable`
- `placement` (enum, optional, default: bottom-right) — Le positionnement du widget à l’écran
  - Allowed values: `top-left`, `top`, `top-right`, `bottom-left`, `bottom`, `bottom-right`
- `expandable` (enum, optional, default: never) — Indique si le widget peut être développé
  - Allowed values: `never`, `mobile`, `desktop`, `always`
- `avatar` (WidgetConfigAvatar, optional) — Avatar du widget
- `feedback_mode` (enum, optional, default: none) — Le mode de retour du widget
  - Allowed values: `none`, `during`, `end`
- `end_feedback` (WidgetEndFeedbackConfig, optional) — Configuration des retours recueillis à la fin de la conversation
- `bg_color` (string, optional, default: #ffffff) — Couleur d’arrière-plan du widget
- `text_color` (string, optional, default: #000000) — La couleur du texte du widget.
- `btn_color` (string, optional, default: #000000) — Couleur du bouton du widget
- `btn_text_color` (string, optional, default: #ffffff) — Couleur du texte du bouton du widget
- `border_color` (string, optional, default: #e1e1e1) — Couleur de bordure du widget
- `focus_color` (string, optional, default: #000000) — La couleur de focus du widget
- `border_radius` (integer, optional) — Rayon de bordure du widget
- `btn_radius` (integer, optional) — Rayon du bouton du widget
- `action_text` (string, optional) — Texte d’action du widget
- `start_call_text` (string, optional) — Le texte de démarrage d'appel du widget
- `end_call_text` (string, optional) — Le texte de fin d’appel du widget
- `expand_text` (string, optional) — Le texte de développement du widget
- `listening_text` (string, optional) — Le texte à afficher lorsque l’agent écoute.
- `speaking_text` (string, optional) — Le texte à afficher lorsque l’agent parle.
- `shareable_page_text` (string, optional) — Le texte à afficher lors du partage.
- `shareable_page_show_terms` (boolean, optional, default: true) — Indique s'il faut afficher les conditions générales sur la page partageable.
- `terms_text` (string, optional) — Le texte à afficher pour les conditions générales.
- `terms_html` (string, optional) — Le HTML à afficher pour les conditions générales
- `terms_key` (string, optional) — La clé à afficher pour les conditions générales
- `show_avatar_when_collapsed` (boolean, optional) — Indique s'il faut afficher l'avatar lorsque le widget est réduit.
- `disable_banner` (boolean, optional, default: false) — Indique s'il faut désactiver la bannière.
- `override_link` (string, optional) — Le lien de remplacement du widget
- `markdown_link_allowed_hosts` (list of AllowlistItem, optional) — Liste des noms d'hôte autorisés pour les liens Markdown cliquables. Utilisez \{ hostname: '\*' } pour autoriser tous les domaines. Une liste vide signifie qu'aucun lien n'est autorisé.
- `markdown_link_include_www` (boolean, optional, default: true) — Indique s'il faut inclure automatiquement les variantes www. des hôtes autorisés.
- `markdown_link_allow_http` (boolean, optional, default: true) — Indique s’il faut autoriser http:// en plus de https:// pour les hôtes autorisés
- `mic_muting_enabled` (boolean, optional, default: true) — Indique s'il faut activer la mise en sourdine du microphone.
- `transcript_enabled` (boolean, optional, default: true) — Indique si le widget doit afficher la transcription de la conversation au fil de son déroulement
- `text_input_enabled` (boolean, optional, default: true) — Indique si l’utilisateur doit pouvoir envoyer des messages texte
- `conversation_mode_toggle_enabled` (boolean, optional, default: false) — Indique s'il faut activer le sélecteur de mode de conversation dans le widget.
- `default_expanded` (boolean, optional, default: false) — Indique si le widget doit être développé par défaut
- `always_expanded` (boolean, optional, default: false) — Indique si le widget doit toujours être développé
- `dismissible` (boolean, optional, default: false) — Indique si le widget peut être fermé par l’utilisateur
- `show_agent_status` (boolean, optional, default: false) — Indique s'il faut afficher l'état de l'agent, en cours/terminé/erreur, lors de l'utilisation d'un outil.
- `show_conversation_id` (boolean, optional, default: true) — Indique s'il faut afficher l'ID de la conversation après la déconnexion.
- `strip_audio_tags` (boolean, optional, default: true) — Indique s'il faut supprimer le balisage audio des messages.
- `syntax_highlight_theme` (enum, optional) — Thème de coloration syntaxique des blocs de code. Par défaut, le widget le détecte automatiquement lorsqu’il n’est pas défini.
  - Allowed values: `light`, `dark`
- `text_contents` (WidgetTextContents, optional) — Contenu textuel du widget
- `styles` (WidgetStyles, optional) — Styles du widget
- `show_resize_button` (boolean, optional, default: true) — Indique s'il faut afficher le bouton de redimensionnement.
- `end_confirmation_enabled` (boolean, optional, default: false) — Indique s’il faut demander à l’utilisateur de confirmer avant de mettre fin à un chat ou à un appel.
- `language_selector` (boolean, optional, default: false) — Indique s'il faut afficher le sélecteur de langue.
- `supports_text_only` (boolean, optional, default: true) — Indique si le widget peut basculer en mode texte uniquement
- `custom_avatar_path` (string, optional) — Chemin de l’avatar personnalisé
- `language_presets` (map from string to WidgetLanguagePreset, optional) — Paramètres prédéfinis de langue pour le widget

### AnalysisProperty

Propriété de collecte de données avec remplacement facultatif du LLM par élément pour l'analyse post-appel. TODO: migrer vers la composition (value_schema: LiteralJsonSchemaProperty + llm) plutôt que l'héritage, afin de généraliser proprement cette approche aux schémas d'objet/tableau à l'avenir.

- `type` (enum, required)
  - Allowed values: `boolean`, `string`, `integer`, `number`
- `description` (string, optional, default: ) — La description de la propriété. Lorsqu’elle est définie, le LLM fournit la valeur à partir de cette description. S’exclut mutuellement avec dynamic_variable, is_system_provided, constant_value et is_omitted.
- `enum` (list of string, optional) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Si true, la valeur sera renseignée par le système au moment de l’exécution. Utilisé par les outils Webhook d’intégration API pour le templating. Mutuellement exclusif avec description, dynamic_variable, constant_value et is_omitted.
- `dynamic_variable` (string, optional, default: ) — Le nom de la variable dynamique à utiliser pour la valeur de cette propriété. S’exclut mutuellement avec description, is_system_provided, constant_value et is_omitted.
- `allowed_values` (AllowedValues, optional) — Garde-fou de rejet côté serveur pour une valeur fournie par un LLM : l’environnement d’exécution rejette toute valeur en dehors de l’ensemble autorisé désigné par cet objet, et cet ensemble n’est pas communiqué au LLM comme une énumération. Pris en charge uniquement lorsque la source de la valeur est `description` ; toute combinaison avec dynamic_variable, is_system_provided, constant_value ou is_omitted est rejetée.
- `constant_value` (AnalysisPropertyConstantValue, optional) — Valeur constante à utiliser pour cette propriété. S’exclut mutuellement avec description, dynamic_variable, is_system_provided et is_omitted.
- `is_omitted` (boolean, optional, default: false) — Si true, ce paramètre sera entièrement omis de la requête. Valide uniquement pour les paramètres facultatifs. Mutuellement exclusif avec description, dynamic_variable, is_system_provided et constant_value.
- `name` (string, optional) — Le nom de cet élément de collecte de données.
- `llm` (enum, optional) — LLM model to use for this analysis item. If not set, uses agent's analysis_llm default.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — OBSOLÈTE : utilisez plutôt `allowed_values`. Lorsqu'il est défini, le LLM fournit la valeur, mais l'environnement d'exécution rejette toute valeur absente de la liste contenue dans cette variable dynamique (doit être un tableau JSON tel que ["ws_alpha", "ws_beta"]). Utilisez-le pour permettre au LLM de choisir dans un ensemble vérifié par le serveur, par exemple les ID auxquels l'utilisateur actuel est autorisé à accéder. Requiert description ; mutuellement exclusif avec dynamic_variable, is_system_provided, constant_value et is_omitted.

### AgentAnalysisItemsOutput

- `evaluation_criteria` (list of AgentAnalysisItemsOutputEvaluationCriteriaItem, optional)
- `data_collection` (list of AgentAnalysisItemsOutputDataCollectionItem, optional)

### ConversationInitiationClientDataConfigOutput

- `conversation_config_override` (ConversationConfigClientOverrideConfigOutput, optional) — Remplacements de la configuration de la conversation
- `custom_llm_extra_body` (boolean, optional, default: false) — Indique s'il faut inclure un corps supplémentaire de LLM personnalisé.
- `enable_conversation_initiation_client_data_from_webhook` (boolean, optional, default: false) — Indique s'il faut activer les données client d'initiation de conversation provenant des webhooks.
- `enable_starting_workflow_node_id_from_client` (boolean, optional, default: false) — Indique si les clients peuvent transmettre starting_workflow_node_id dans les données client d’initialisation. Si false, son envoi empêche le démarrage de la conversation.
- `enable_procedure_ids_from_client` (boolean, optional, default: false) — Indique si les clients peuvent transmettre procedure_ids dans les données client d’initialisation afin de sélectionner les procédures de l’agent disponibles pour la conversation. Si false, leur envoi empêche le démarrage de la conversation.

### AgentWorkspaceOverridesOutput

- `conversation_initiation_client_data_webhook` (ConversationInitiationClientDataWebhook, optional) — Le webhook auquel envoyer les données client d’initialisation de la conversation
- `webhooks` (ConvAiWebhooks, optional)

### AgentTestingSettings

Paramètres de configuration des tests d’agent.

- `attached_tests` (list of AttachedTestModel, optional) — Liste des ID de tests à exécuter pour cet agent

### GuardrailsV1Output

- `version` ("1", optional)
- `focus` (FocusGuardrail, optional)
- `prompt_injection` (PromptInjectionGuardrail, optional)
- `content` (ContentGuardrailOutput, optional)
- `custom` (CustomGuardrailOutput, optional) — Conteneur de garde-fous personnalisés, conforme au modèle ModerationGuardrail

### AuthSettings

- `enable_auth` (boolean, optional, default: false) — Si défini sur true, démarrer une conversation avec un agent nécessitera un jeton signé.
- `allowlist` (list of AllowlistItem, optional) — Liste des hôtes autorisés à démarrer des conversations avec l’agent.
- `require_origin_header` (boolean, optional, default: false) — Lorsque cette option est activée, les connexions sans en-tête origin sont refusées. Si la liste d’autorisation est vide, cette option n’a aucun effet.
- `shareable_token` (string, optional) — Un jeton partageable permettant de démarrer une conversation avec l'agent

### AgentCallLimits

- `agent_concurrency_limit` (integer, optional, default: -1) — Le nombre maximal de conversations simultanées. La valeur -1 indique qu’il n’y a pas de maximum
- `daily_limit` (integer, optional, default: 100000) — Le nombre maximal de conversations par jour
- `bursting_enabled` (boolean, optional, default: true) — Indique s'il faut activer le dépassement ponctuel. Si la valeur est true, le dépassement de la limite de requêtes simultanées du Workspace est autorisé jusqu'à trois fois cette limite. Les appels au-delà de cette limite sont facturés au double du tarif.

### AgentQueueingConfig

- `enabled` (boolean, optional, default: false) — Place les appelants dans une file d’attente lorsque l’agent atteint sa limite de requêtes simultanées, au lieu de les refuser immédiatement. Les nouveaux agents sont créés avec la mise en file d’attente activée, sauf si ce champ est défini explicitement.
- `wait_timeout_seconds` (integer, optional, default: 180) — Temps maximal pendant lequel un appelant peut attendre dans la file avant d’être refusé
- `hold_audio` (AgentHoldAudioConfig, optional) — Audio d'attente personnalisé diffusé aux appelants dans la file ; s'il n'est pas défini, les appelants entendent la tonalité d'attente par défaut. Lecture seule : définissez-le en chargeant un fichier via le point de terminaison d'audio d'attente de l'agent.

### PrivacyConfigOutput

- `record_voice` (boolean, optional, default: true) — Indique s'il faut enregistrer la conversation.
- `retention_days` (integer, optional, default: -1) — Le nombre de jours de conservation de la conversation. -1 indique qu’il n’existe aucune limite de conservation.
- `delete_transcript_and_pii` (boolean, optional, default: false) — Indique s'il faut supprimer la transcription et les données personnelles identifiables.
- `delete_audio` (boolean, optional, default: false) — Indique s'il faut supprimer l'audio.
- `apply_to_existing_conversations` (boolean, optional, default: false) — Indique s'il faut appliquer les paramètres de confidentialité aux conversations existantes.
- `zero_retention_mode` (boolean, optional, default: false) — Indique s'il faut activer le mode zéro rétention, aucune donnée personnelle identifiable n'est stockée.
- `conversation_history_redaction` (ConversationHistoryRedactionConfig, optional) — Configuration de la suppression des données personnelles dans l'historique des conversations

### TopicDiscoverySettings

Configuration de la détection de sujets par agent. La fréquence et la fenêtre d'analyse sont gérées en interne ; seul le bouton d'activation ou de désactivation destiné au client est exposé.

### SentimentAnalysisSettings

### AlertingSettingsResponse

Vue des paramètres d'alerte destinée aux clients. Contrairement à AdminAlertingSettingsResponse, elle ne comporte pas de champ internal_notifiers : il s'agit de canaux de diffusion internes à ElevenLabs dont les URL ne doivent jamais être renvoyées en dehors de l'API d'administration.

- `monitor_configs` (map from string to AlertingMonitorConfig, optional)
- `auto_resolve_after_inactive_minutes` (integer, optional)
- `notifiers` (list of AlertingSettingsResponseNotifiersItem, optional)

### SafetyResponseModel

- `is_blocked_ivc` (boolean, optional, default: false)
- `is_blocked_non_ivc` (boolean, optional, default: false)
- `ignore_safety_evaluation` (boolean, optional, default: false)

### PhoneNumberAgentInfo

- `agent_id` (string, required) — L’ID de l’agent
- `agent_name` (string, required) — Le nom de l’agent
- `environment` (string, optional) — Environnement à utiliser pour résoudre les variables d'environnement lors des appels vers ce numéro.
- `branch_id` (string, optional) — Branche de l'agent à utiliser pour les appels vers ce numéro.

### GetPhoneNumberInboundSipTrunkConfigResponseModel

- `allowed_addresses` (list of string, required) — Liste des adresses IP autorisées à utiliser le trunk. Chaque élément de la liste peut être une adresse IP individuelle ou une notation Classless Inter-Domain Routing représentant un bloc CIDR.
- `media_encryption` (enum, required, default: allowed)
  - Allowed values: `disabled`, `allowed`, `required`
- `has_auth_credentials` (boolean, required) — Indique si les identifiants d’authentification sont configurés
- `allowed_numbers` (list of string, optional) — Liste des numéros de téléphone autorisés à utiliser le trunk.
- `username` (string, optional) — Nom d’utilisateur du trunk SIP, s’il est disponible
- `remote_domains` (list of string, optional) — Domaines des serveurs SIP distants utilisés pour valider les certificats TLS.
- `attributes_to_headers` (map from string to string, optional) — Mappage du nom de variable dynamique vers le nom d’en-tête pour attributes_to_headers

### GetPhoneNumberOutboundSipTrunkConfigResponseModel

Détails de configuration du trunk SIP pour un numéro de téléphone

- `address` (string, required) — Nom d’hôte ou adresse IP auquel l’INVITE SIP est envoyé.
- `transport` (enum, required, default: auto) — Protocole à utiliser pour le transport SIP
  - Allowed values: `auto`, `udp`, `tcp`, `tls`
- `media_encryption` (enum, required, default: allowed) — Indique si les médias doivent être chiffrés ou non (couche de données).
  - Allowed values: `disabled`, `allowed`, `required`
- `has_auth_credentials` (boolean, required) — Indique si les identifiants d’authentification sont configurés
- `headers` (map from string to string, optional) — En-têtes SIP de la requête INVITE
- `attributes_to_headers` (map from string to string, optional) — Mappage du nom de variable dynamique vers le nom d’en-tête pour attributes_to_headers
- `username` (string, optional) — Nom d’utilisateur du trunk SIP, s’il est disponible
- `has_outbound_trunk` (boolean, optional, default: false) — Indique si un trunk SIP sortant LiveKit est configuré
- `enabled_codecs` (list of enum, optional) — Codecs multimédias proposés dans le SDP pour les appels sortants. Si vide, tous les codecs pris en charge sont proposés.
  - Allowed values: `G722/8000`, `PCMU/8000`, `PCMA/8000`

### WorkflowEdgeModelOutput

- `source` (string, required) — ID du nœud source.
- `target` (string, required) — ID du nœud cible.
- `forward_condition` (WorkflowEdgeModelOutputForwardCondition, optional) — Condition à remplir pour parcourir l'arête dans le sens direct (de la source vers la cible).
- `backward_condition` (WorkflowEdgeModelOutputBackwardCondition, optional) — Condition à remplir pour parcourir l'arête dans le sens inverse (de la cible vers la source).

### AgentWorkflowResponseModelNodesValue

- `type`: `end`
  - `edge_order` (list of string, required) — Les ID des arêtes sortantes, dans l’ordre où elles doivent être évaluées.
  - `outcome` (enum, required, default: success) — Indique si l’atteinte de ce nœud End termine la conversation par une réussite ou un échec.
    - Allowed values: `success`, `failure`
  - `position` (PositionOutput, required) — Position du nœud dans le workflow.
- `type`: `override_agent`
  - `additional_knowledge_base` (list of KnowledgeBaseLocator, required) — Documents supplémentaires de la base de connaissances auxquels le sous-agent a accès. Ils seront utilisés en complément des documents de l'agent principal.
  - `additional_prompt` (string, required) — Objectif spécifique de ce sous-agent. Il sera ajouté au prompt système et peut servir à affiner davantage le comportement de l’agent dans ce contexte précis.
  - `additional_tool_ids` (list of string, required) — ID des outils supplémentaires auxquels le sous-agent a accès. Ils seront utilisés en plus des outils de l’agent principal.
  - `conversation_config` (ConversationalConfigApiModelWorkflowOverrideOutput, required) — Remplacements de configuration appliqués pendant que le sous-agent mène la conversation.
  - `edge_order` (list of string, required) — Les ID des arêtes sortantes, dans l’ordre où elles doivent être évaluées.
  - `entry_behavior` (enum, required, default: auto) — Indique si ce nœud doit générer une réponse immédiatement lorsqu’il est atteint ou attendre une entrée utilisateur. Lorsque cette valeur est définie sur "auto", le comportement dépend du type du nœud précédent : "wait_for_user" après les nœuds "say" et "start", et "generate_immediately" dans les autres cas.
    - Allowed values: `generate_immediately`, `wait_for_user`, `auto`
  - `label` (string, required) — Libellé lisible du nœud, utilisé dans toute l’interface.
  - `position` (PositionOutput, required) — Position du nœud dans le workflow.
- `type`: `phone_number`
  - `custom_sip_headers` (list of WorkflowPhoneNumberNodeModelOutputCustomSipHeadersItem, required) — En-têtes SIP personnalisés à inclure lors du transfert de l'appel. Chaque en-tête peut être une valeur statique ou une référence de variable dynamique.
  - `edge_order` (list of string, required) — Les ID des arêtes sortantes, dans l’ordre où elles doivent être évaluées.
  - `position` (PositionOutput, required) — Position du nœud dans le workflow.
  - `sip_refer_play_dialtone` (boolean, required, default: true) — Lorsque la valeur est True, une tonalité est diffusée sur la branche d’appel d’origine pendant l’exécution d’un transfert SIP REFER. La tonalité est transmise via RTP au pair SIP exécutant le REFER ; désactivez cette option si le système destinataire, par exemple un SBC ou un centre de contact, ne doit pas l’entendre. Lorsqu’elle est désactivée, l’appelant entend le silence jusqu’à la fin du transfert. Uniquement pour les transferts SIP REFER.
  - `transfer_destination` (WorkflowPhoneNumberNodeModelOutputTransferDestination, required)
  - `transfer_type` (enum, required, default: conference)
    - Allowed values: `blind`, `conference`, `sip_refer`
  - `post_dial_digits` (WorkflowPhoneNumberNodeModelOutputPostDialDigits, optional) — Chiffres DTMF à envoyer après la connexion de l’appel, par exemple 'ww1234' pour un poste. Peut correspondre à une valeur statique ou à une référence de variable dynamique. Utilisez 'w' pour une pause de 0,5 s. Pris en charge uniquement pour les transferts Twilio.
  - `uui` (UuiTransferConfig, optional) — Informations d’utilisateur à utilisateur (RFC 7433) à joindre aux transferts SIP REFER. Transmet le contexte de l’appel, tel que les identifiants CRM ou le motif d’escalade, lors du transfert.
- `type`: `standalone_agent`
  - `delay_ms` (integer, required, default: 0) — Délai artificiel en millisecondes appliqué avant le transfert de la conversation.
  - `edge_order` (list of string, required) — Les ID des arêtes sortantes, dans l’ordre où elles doivent être évaluées.
  - `enable_transferred_agent_first_message` (boolean, required, default: false) — Indique s'il faut autoriser l'agent transféré à envoyer son premier message configuré après le transfert.
  - `position` (PositionOutput, required) — Position du nœud dans le workflow.
  - `preserve_client_tts_overrides` (boolean, required, default: false) — Définit si les remplacements côté client du TTS doivent être transférés vers l'agent cible.
  - `preserve_voice_settings` (boolean, required, default: false) — Définit si la voix de base, le modèle TTS et les paramètres vocaux doivent être transférés vers l'agent cible.
  - `agent_id` (string, optional) — L’ID de l’agent vers lequel transférer la conversation. None signifie un transfert au sein de l’agent actuel.
  - `branch_id` (string, optional) — ID de branche facultatif pour l’agent cible. La valeur None suit le déploiement du trafic de l’agent cible ou utilise sa branche principale lorsque node_id est défini.
  - `node_id` (string, optional) — ID facultatif du nœud cible dans le workflow de l'agent de destination. Lorsqu'il est défini, le transfert commence à ce nœud plutôt qu'au nœud d'entrée par défaut.
  - `transfer_message` (string, optional) — Message facultatif envoyé à l'utilisateur avant le lancement du transfert.
- `type`: `start`
  - `edge_order` (list of string, required) — Les ID des arêtes sortantes, dans l’ordre où elles doivent être évaluées.
  - `position` (PositionOutput, required) — Position du nœud dans le workflow.
- `type`: `tool`
  - `edge_order` (list of string, required) — Les ID des arêtes sortantes, dans l’ordre où elles doivent être évaluées.
  - `position` (PositionOutput, required) — Position du nœud dans le workflow.
  - `tools` (list of WorkflowToolLocator, required) — Liste des outils à exécuter en parallèle. L'ensemble du nœud est considéré comme réussi si tous les outils s'exécutent correctement.
- `type`: `say`
  - `additional_knowledge_base` (list of KnowledgeBaseLocator, required) — Documents de la base de connaissances disponibles pour le LLM lorsque ce nœud génère son message, en plus des documents de l'agent.
  - `additional_prompt` (string, required) — Accepté pour assurer la cohérence avec les nœuds de sous-agents, mais non utilisé. Décrivez le message dans `message.prompt` ou remplacez le prompt système par `conversation_config.agent.prompt.prompt`.
  - `additional_tool_ids` (list of string, required) — Accepté pour assurer la cohérence avec les nœuds de sous-agents, mais non utilisé. Un nœud say ne peut pas appeler d'outils.
  - `conversation_config` (ConversationalConfigApiModelWorkflowOverrideOutput, required) — Remplacements de configuration appliqués pendant que ce nœud parle, comme la voix ou, pour les messages de type prompt, le LLM et le prompt système.
  - `edge_order` (list of string, required) — Les ID des arêtes sortantes, dans l’ordre où elles doivent être évaluées.
  - `label` (string, required) — Libellé lisible du nœud, utilisé dans toute l’interface.
  - `message` (WorkflowSayNodeModelOutputMessage, required) — Message prononcé par ce nœud. Utilisez `literal` pour un texte exact ou `prompt` pour que le LLM génère le message à partir d'une description.
  - `position` (PositionOutput, required) — Position du nœud dans le workflow.
  - `wait_for_speech_completion` (boolean, required, default: false) — Lorsque la valeur est true, le workflow ne passe au nœud suivant qu'une fois le message entièrement prononcé.
  - `wait_for_user_response` (boolean, required, default: false) — Lorsque la valeur est true, le nœud prononce son message, puis attend la réponse de l'utilisateur avant d'évaluer les transitions sortantes afin qu'elles puissent varier selon cette réponse. Si l'utilisateur reste silencieux, le workflow avance après le délai d'expiration du tour.
- `type`: `update_state`
  - `edge_order` (list of string, required) — Les ID des arêtes sortantes, dans l’ordre où elles doivent être évaluées.
  - `label` (string, required) — Libellé lisible du nœud, utilisé dans toute l’interface.
  - `position` (PositionOutput, required) — Position du nœud dans le workflow.
  - `updates` (list of WorkflowStateUpdateOutput, required) — Mises à jour d'état appliquées lorsque le workflow atteint ce nœud. Un nœud accepte au maximum 50 mises à jour.

### ValidationErrorLocItem

- string
- integer

### SoftTimeoutConfig

Configuration de la fonctionnalité de délai d'expiration souple pendant la génération de réponses par LLM.

- `timeout_seconds` (double, optional, default: -1) — Délai, en secondes, avant l’affichage du message prédéfini pendant l’attente de la réponse du LLM. Définissez -1 pour désactiver cette option.
- `message` (string, optional, default: Hhmmmm...yeah.) — Message à afficher lorsque le premier délai d’expiration souple est atteint pendant l’attente d’une réponse LLM. Prend en charge les variables dynamiques, par exemple \{\{system\_\_time}} et \{\{custom\_variable}}.
- `additional_soft_timeout_messages` (list of string, optional) — Messages statiques de remplissage supplémentaires pour les délais d'attente souples suivants dans la même génération LLM. Le premier délai utilise `message`. Si moins de messages sont configurés que `max_soft_timeouts_per_generation`, le dernier message configuré est répété ; sinon, un message de remplissage intégré est utilisé.
- `use_llm_generated_message` (boolean, optional, default: false) — Si cette option est activée, le message de délai d’inactivité sera généré dynamiquement au lieu d’utiliser le message statique.
- `randomize_fillers` (boolean, optional, default: false) — Si cette option est activée, mélangez une fois l’ordre des messages statiques de délai d’inactivité au début de chaque tour. S’applique uniquement lorsque use_llm_generated_message est false.
- `max_soft_timeouts_per_generation` (integer, optional, default: 1) — Maximum filler messages while waiting for a single LLM response. Fires every timeout_seconds until the LLM streams content or this limit is reached.
- `llm_generated_message_prompt_override` (string, optional) — Prompt personnalisé pour générer le message de remplissage lors d'un délai d'attente souple lorsque use\_llm\_generated\_message est activé. Le contexte récent de la conversation est fourni dans un message utilisateur distinct. S'il n'est pas défini, le prompt par défaut est utilisé. Prend en charge les variables dynamiques (par exemple, \{\{system\_\_time}}, \{\{custom\_variable}}).
- `disable_until_first_user_message` (boolean, optional, default: false) — Lorsque la valeur est true, les fillers de délai d’expiration souple sont supprimés jusqu’à ce que la conversation comporte au moins un véritable message utilisateur. Empêche les fillers pendant le tour d’ouverture de l’agent, par exemple avec le workflow generate-immediately ou des appels d’outils avant que l’utilisateur ne parle.

### SupportedVoice

- `label` (string, required)
- `voice_id` (string, required)
- `description` (string, optional)
- `language` (string, optional)
- `model_family` (enum, optional)
  - Allowed values: `turbo`, `flash`, `multilingual`, `v3_conversational`, `v4`, `v4_turbo`
- `optimize_streaming_latency` (integer, optional)
- `stability` (double, optional)
- `speed` (double, optional)
- `similarity_boost` (double, optional)

### SuggestedAudioTag

- `tag` (string, required) — Balise audio à utiliser (pour de meilleures performances, 1 à 2 mots, par exemple « happy », « excited »)
- `description` (string, optional) — Description facultative des cas d'utilisation de cette balise

### PydanticPronunciationDictionaryVersionLocator

Un localisateur permettant à d'autres documents de référencer un dictionnaire spécifique et sa version. Il s'agit d'une version Pydantic de PronunciationDictionaryVersionLocatorDBModel. Requis pour assurer la compatibilité avec les autres modèles de données de l'agent.

- `pronunciation_dictionary_id` (string, required) — L’ID du dictionnaire de prononciation
- `version_id` (string, optional) — L’ID de la version du dictionnaire de prononciation

### EffectsSpecOutput

Effets audio appliqués à la parole générée : un préréglage de filtre, une distance perçue, un environnement de réverbération, un fond sonore et un panoramique stéréo. Laissez chaque champ à sa valeur par défaut pour obtenir un audio non traité.

- `distance` (double, required, default: 0) — Distance à laquelle le locuteur semble se trouver du microphone, de 0 (proche, inchangée) à 1 (loin). Des valeurs plus élevées atténuent les basses et hautes fréquences et, lorsqu’un environnement est défini, déplacent l’équilibre de la voix sèche vers la réverbération.
- `send_level` (double, required, default: 1) — Quantité de voix envoyée vers la réverbération, de 0 (aucune) à 1 (totale). S’applique uniquement lorsque `environment_id` est défini ; 0 désactive la réverbération.
- `pan` (double, required, default: 0) — Position stéréo de la voix, de -1 (complètement à gauche) à 1 (complètement à droite), en passant par 0 (au centre). Seule la voix est panoramiquée ; la réverbération et le bruit de fond restent centrés.
- `filter_preset_id` (string, optional) — ID d’un préréglage de filtre qui colore la voix, tel que `phone` ou `old_radio`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`.
- `environment_id` (string, optional) — ID d’un environnement de réverbération qui place la voix dans un espace, tel que `small_room` ou `hall`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`. La réverbération est produite en stéréo et ajoute une traîne pouvant durer plusieurs secondes après la fin de la parole.
- `background_noise_id` (string, optional) — ID d’un fond sonore diffusé en boucle sous la voix, tel que `cafe` ou `keyboard`. Répertoriez les ID valides avec `GET /v1/audio-effects/catalog`.

### FileInputConfig

- `enabled` (boolean, optional, default: true) — Lorsque cette option est activée, les utilisateurs peuvent joindre des images, des fichiers PDF ou des fichiers texte dans le chat si le LLM prend en charge les entrées multimodales.
- `max_files_in_memory` (integer, optional, default: 10) — Nombre de fichiers les plus récents conservés en mémoire au cours d’une conversation. Les fichiers plus anciens sont résumés et leur mémoire est libérée.
- `max_files_per_conversation` (integer, optional, default: 10) — Nombre total de fichiers qu’un utilisateur peut importer au cours d’une conversation. Les importations sont facturées par fichier. Utilisez -1 pour aucune limite, ou une valeur >= max_files_in_memory.

### DtmfInputConfig

Configuration de la collecte de saisies DTMF (clavier téléphonique) pendant les appels.

- `dtmf_input_timeout` (double, optional, default: 2) — Délai d’expiration, en secondes, pour attendre des chiffres DTMF supplémentaires
- `hash_terminator` (boolean, optional, default: true) — Si true, appuyer sur # termine immédiatement la saisie DTMF.
- `redact_input` (boolean, optional, default: false) — Si true, remplace les saisies DTMF du correspondant, effectuées au clavier, par un marqueur de masquage dans la transcription, le journal de conversation et l’analyse. Les chiffres que l’agent répète ou transmet à un outil ne sont pas concernés.

### BackgroundSoundConfig

- `source_type` ("preset", optional) — Le type de source sonore d’arrière-plan.
- `source_id` (enum, optional) — Identifiant de la source sonore.
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional, default: 0.15) — Niveau de volume du son d’arrière-plan (de 0,01 à 1,0).
- `crossfade_loop` (boolean, optional, default: true) — Applique un fondu enchaîné à la jonction de la boucle afin d'éviter les clics audibles lors de la répétition du son.

### ConversationConfigClientOverrideOutput

- `asr` (AsrConversationalConfigOverride, optional) — Configuration de la transcription conversationnelle
- `turn` (TurnConfigOverride, optional) — Configuration de la détection des tours de parole
- `tts` (TtsConversationalConfigOverride, optional) — Configuration de la synthèse vocale conversationnelle
- `conversation` (ConversationConfigOverride, optional) — Configuration des événements conversationnels
- `agent` (AgentConfigOverrideOutput, optional) — Configuration spécifique à l'agent

### LanguagePresetTranslation

- `source_hash` (string, required)
- `text` (string, required)

### BehaviorOverride

- `verbosity` (enum, optional) — Remplacement du niveau de verbosité. La valeur par défaut sous-jacente s’applique lorsqu’aucune valeur n’est définie.
  - Allowed values: `auto`, `concise`, `thorough`
- `output_format` (enum, optional) — Remplacement du format de sortie. La valeur par défaut sous-jacente s'applique s'il n'est pas défini.
  - Allowed values: `mp3_22050_32`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128`, `mp3_44100_192`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `ulaw_8000`
- `interaction_budget` (enum, optional) — Remplacement du budget d’interaction. La valeur par défaut sous-jacente s’applique si non défini.
  - Allowed values: `realtime`, `5_minutes`, `10_minutes`, `1_hour`

### PromptAgentApiModelOutput

- `prompt` (string, optional, default: ) — Le prompt de l’agent
- `llm` (enum, optional) — Le LLM à interroger avec le prompt et l’historique de discussion. En cas de résidence des données européenne, le LLM doit être pris en charge dans l’environnement de résidence des données.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `reasoning_effort` (enum, optional) — Effort de raisonnement du modèle. Disponible uniquement pour certains modèles.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional) — Nombre maximal de jetons utilisés pour le raisonnement. Utilisez 0 pour le désactiver si le modèle le prend en charge.
- `enable_reasoning_summary` (boolean, optional, default: false) — Activez les résumés du raisonnement du modèle. Lorsqu’ils sont désactivés, nous ne demandons pas de résumés au fournisseur lorsque cela est possible, afin de réduire le TTFB. Non compatible avec ZRM.
- `temperature` (double, optional) — La température du LLM. La valeur par défaut est 0. Définissez-la sur null pour omettre entièrement le paramètre de la requête au LLM, ce qui est utile pour les LLM personnalisés qui refusent le champ de température.
- `max_tokens` (integer, optional, default: -1) — S’il est supérieur à 0, nombre maximal de jetons que le LLM peut prédire
- `tool_ids` (list of string, optional) — Liste des ID des outils utilisés par l’agent.
- `tool_ids_strict` (boolean, optional, default: false) — Only applies as a conversation override, allowed whenever tool_ids may be overridden. When true, the overridden tool_ids is the full list of tools allowed in the conversation, including tools on workflow nodes. Ignored when set on the agent.
- `built_in_tools` (BuiltInToolsOutput, optional) — Outils système intégrés à utiliser par l'agent
- `enable_parallel_tool_calls` (boolean, optional, default: true) — Activez les appels d’outils parallèles. Lorsqu’ils sont activés, l’agent peut exécuter plusieurs outils en parallèle au cours d’un même tour. Cette option n’est pas prise en charge par tous les modèles.
- `mcp_server_ids` (list of string, optional) — Liste des identifiants de serveurs MCP à utiliser par l'agent
- `native_mcp_server_ids` (list of string, optional) — Liste des identifiants de serveurs MCP natifs à utiliser par l'agent
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — Liste des bases de connaissances à utiliser par l'agent
- `custom_llm` (CustomLlm, optional) — Définition d'un LLM personnalisé si le champ LLM est défini sur « CUSTOM_LLM »
- `ignore_default_personality` (boolean, optional) — Indique s'il faut supprimer les lignes de personnalité par défaut du prompt système.
- `rag` (RagConfigOutput, optional) — Configuration pour RAG
- `timezone` (string, optional) — Fuseau horaire utilisé pour afficher l’heure actuelle dans le prompt système. S’il est défini, l’heure actuelle sera incluse dans le prompt système à l’aide de ce fuseau horaire. Doit être un nom de fuseau horaire valide, par exemple « America/New_York », « Europe/London » ou « UTC ». Recommandé pour des réponses tenant compte de l’heure avec précision. Sans cela, l’agent ne connaît ni la date ni l’heure actuelles, sauf si vous les fournissez via des variables dynamiques ou des outils, ce qui peut entraîner des références temporelles incorrectes ou inventées.
- `backup_llm_config` (PromptAgentApiModelOutputBackupLlmConfig, optional) — Configuration du basculement en cascade des LLM de secours. Peut être désactivée, utiliser les valeurs par défaut du système ou spécifier un ordre personnalisé.
- `cascade_timeout_seconds` (double, optional, default: 4) — Délai, en secondes, avant le basculement vers le LLM de secours. Doit être compris entre 2 et 15 secondes.
- `tools` (list of PromptAgentApiModelOutputToolsItem, optional, deprecated) — Liste des outils que l'agent peut utiliser au cours de la conversation, utilisez plutôt tool_ids.

### PromptEvaluationCriteria

Une évaluation utilisant la transcription et un prompt pour obtenir une réponse oui/non

- `id` (string, required) — L’identifiant unique du critère d’évaluation.
- `name` (string, required)
- `conversation_goal_prompt` (string, required) — Le prompt que l’agent doit utiliser pour évaluer la conversation
- `type` ("prompt", optional) — Le type de critère d’évaluation.
- `use_knowledge_base` (boolean, optional, default: false) — Indique si la base de connaissances de l’agent doit être utilisée lors de l’évaluation du prompt.
- `scope` (enum, optional, default: conversation) — La portée du contexte de transcription utilisée pour évaluer ce critère. « conversation » utilise la transcription complète ; « agent » utilise uniquement la partie durant laquelle l'agent défini était actif.
  - Allowed values: `conversation`, `agent`
- `llm` (enum, optional) — LLM model to use for this evaluation criteria. If not set, uses agent's analysis_llm default.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `scoring_mode` (enum, optional, default: binary) — Mode d’évaluation de ce critère. 'binary' produit success/failure/unknown. 'numeric_uniform' renvoie un nombre sur l’échelle [0, max_score], normalisé en pourcentage global de réussite de la conversation.
  - Allowed values: `binary`, `numeric_uniform`
- `max_score` (integer, optional, default: 100) — Maximum value of the numeric score scale (minimum is always 0). Only used when scoring_mode is 'numeric_uniform'.
- `score_instructions` (string, optional) — Instructions facultatives en texte libre indiquant comment attribuer des valeurs sur l'échelle numérique. Utilisées uniquement lorsque scoring_mode est défini sur 'numeric_uniform'.

### WidgetConfigAvatar

Avatar du widget

- `type`: `orb`
  - `color_1` (string, optional, default: #2792dc) — La première couleur de l’avatar
  - `color_2` (string, optional, default: #9ce6e6) — La deuxième couleur de l'avatar
- `type`: `url`
  - `custom_url` (string, optional, default: ) — URL personnalisée de l’avatar
- `type`: `image`
  - `url` (string, optional, default: ) — L’URL de l’avatar

### WidgetEndFeedbackConfig

- `type` ("rating", optional) — Le type de retour à recueillir à la fin de la conversation.

### AllowlistItem

- `hostname` (string, required) — Le nom d’hôte de l’origine autorisée

### WidgetTextContents

- `main_label` (string, optional) — Appel à l'action affiché dans les variantes compacte et complète.
- `start_call` (string, optional) — Texte et libellé ARIA du bouton de démarrage d’appel.
- `start_chat` (string, optional) — Texte et libellé ARIA du bouton de démarrage du chat (texte uniquement)
- `new_call` (string, optional) — Texte et libellé ARIA du bouton de nouvel appel. Affiché lorsque l’appelant a déjà terminé au moins un appel afin d’en commencer un autre.
- `end_call` (string, optional) — Texte et libellé ARIA du bouton de fin d’appel.
- `mute_microphone` (string, optional) — Libellé ARIA du bouton de désactivation du microphone.
- `change_language` (string, optional) — Libellé ARIA de la liste déroulante de changement de langue.
- `collapse` (string, optional) — Libellé ARIA du bouton de réduction.
- `expand` (string, optional) — Libellé ARIA du bouton de développement.
- `copied` (string, optional) — Texte affiché lorsque l’utilisateur copie une valeur à l’aide du bouton de copie.
- `accept_terms` (string, optional) — Texte et libellé ARIA du bouton d’acceptation des conditions.
- `dismiss_terms` (string, optional) — Texte et libellé ARIA du bouton d’annulation des conditions.
- `listening_status` (string, optional) — Statut affiché lorsque l’agent écoute.
- `speaking_status` (string, optional) — Statut affiché lorsque l’agent parle.
- `connecting_status` (string, optional) — Statut affiché lorsque l’agent se connecte.
- `chatting_status` (string, optional) — Statut affiché lorsque l’agent échange par chat, texte uniquement
- `queue_waiting_status` (string, optional) — Statut affiché pendant l’attente dans la file d’un agent disponible.
- `queue_waiting_status_short` (string, optional) — Statut court affiché en attendant qu’un agent soit disponible.
- `input_label` (string, optional) — Libellé ARIA du champ de saisie de message texte.
- `input_placeholder` (string, optional) — Texte indicatif du champ de saisie des messages texte.
- `input_placeholder_text_only` (string, optional) — Texte indicatif du champ de saisie des messages texte (texte uniquement)
- `input_placeholder_new_conversation` (string, optional) — Texte indicatif du champ de saisie des messages texte lors du démarrage d’une nouvelle conversation (texte uniquement)
- `user_ended_conversation` (string, optional) — Message d’information affiché lorsque l’utilisateur met fin à la conversation.
- `agent_ended_conversation` (string, optional) — Message d’information affiché lorsque l’agent met fin à la conversation.
- `conversation_id` (string, optional) — Libellé textuel utilisé à côté de l’ID de conversation.
- `error_occurred` (string, optional) — Libellé textuel utilisé lorsqu’une erreur survient.
- `queue_timed_out` (string, optional) — Message d'erreur affiché lorsque le délai d'attente dans la file expire.
- `copy_id` (string, optional) — Texte et libellé ARIA utilisés pour le bouton de copie de l’ID.
- `initiate_feedback` (string, optional) — Texte affiché pour inviter l’utilisateur à donner son avis.
- `request_follow_up_feedback` (string, optional) — Texte affiché pour demander des précisions supplémentaires sur l’avis.
- `thanks_for_feedback` (string, optional) — Texte affiché pour remercier l’utilisateur d’avoir donné son avis.
- `thanks_for_feedback_details` (string, optional) — Texte supplémentaire affiché pour expliquer l'intérêt des retours utilisateurs.
- `follow_up_feedback_placeholder` (string, optional) — Texte indicatif du champ de saisie des commentaires de suivi.
- `submit` (string, optional) — Texte et libellé ARIA du bouton d’envoi.
- `go_back` (string, optional) — Texte et libellé ARIA du bouton de retour.
- `send_message` (string, optional) — Texte et libellé ARIA du bouton d’envoi de message.
- `text_mode` (string, optional) — Texte et libellé ARIA du bouton de basculement vers le mode texte.
- `voice_mode` (string, optional) — Texte et libellé ARIA du bouton de basculement vers le mode vocal.
- `switched_to_text_mode` (string, optional) — Notification toast affichée lors du passage en mode texte.
- `switched_to_voice_mode` (string, optional) — Notification toast affichée lors du passage en mode vocal.
- `copy` (string, optional) — Texte et libellé ARIA du bouton de copie.
- `download` (string, optional) — Texte et libellé ARIA du bouton de téléchargement.
- `wrap` (string, optional) — Texte et libellé ARIA du bouton d’activation du retour à la ligne.
- `agent_working` (string, optional) — Texte d’état affiché lorsque l’agent traite un appel d’outil.
- `agent_done` (string, optional) — Texte d’état affiché lorsque l’agent termine le traitement d’un appel d’outil.
- `agent_error` (string, optional) — Texte d’état affiché lorsque l’agent rencontre une erreur lors d’un appel d’outil.
- `attach_file` (string, optional) — Texte et libellé ARIA du bouton de pièce jointe.
- `remove_file` (string, optional) — Libellé ARIA du bouton de suppression de fichier.
- `file_upload_error` (string, optional) — Message d'erreur affiché lorsqu'un fichier ne parvient pas à être importé.
- `file_type_unsupported` (string, optional) — Message d'erreur affiché lorsqu'un type de fichier non pris en charge est sélectionné. Suivi de la liste des types acceptés.
- `file_too_large` (string, optional) — Message d'erreur affiché lorsqu'un fichier dépasse la taille maximale autorisée.
- `file_limit_reached` (string, optional) — Message d'erreur affiché lorsque le nombre maximal de fichiers pour une conversation est atteint.
- `typing_indicator` (string, optional) — Texte d’état affiché pendant que l’agent écrit.
- `rich_content_unavailable` (string, optional) — Message de secours affiché lorsque le contenu enrichi ne peut pas être rendu.

### WidgetStyles

- `base` (string, optional) — Couleur d’arrière-plan de base.
- `base_hover` (string, optional) — Couleur de l’arrière-plan de base au survol.
- `base_active` (string, optional) — Couleur de l’arrière-plan de base lorsqu’il est actif, après clic.
- `base_border` (string, optional) — Couleur de la bordure sur l’arrière-plan de base.
- `base_subtle` (string, optional) — Couleur du texte secondaire sur l’arrière-plan de base.
- `base_primary` (string, optional) — Couleur du texte principal sur l’arrière-plan de base.
- `base_error` (string, optional) — Couleur du texte d’erreur sur l’arrière-plan de base.
- `accent` (string, optional) — Couleur d’arrière-plan d’accentuation.
- `accent_hover` (string, optional) — Couleur de l’arrière-plan d’accentuation au survol.
- `accent_active` (string, optional) — Couleur de l’arrière-plan d’accentuation lorsqu’il est actif, après clic.
- `accent_border` (string, optional) — Couleur de la bordure sur l’arrière-plan d’accentuation.
- `accent_subtle` (string, optional) — Couleur du texte secondaire sur l’arrière-plan d’accentuation.
- `accent_primary` (string, optional) — Couleur du texte principal sur l’arrière-plan d’accentuation.
- `overlay_padding` (double, optional) — La marge intérieure autour des bords de la zone d’affichage.
- `button_radius` (double, optional) — Le rayon des boutons.
- `input_radius` (double, optional) — Le rayon des champs de saisie.
- `bubble_radius` (double, optional) — Le rayon des bulles de discussion.
- `sheet_radius` (double, optional) — Le rayon par défaut des feuilles.
- `compact_sheet_radius` (double, optional) — Le rayon du panneau en mode compact.
- `dropdown_sheet_radius` (double, optional) — Le rayon du panneau déroulant.

### WidgetLanguagePreset

- `text_contents` (WidgetTextContents, optional) — Le contenu textuel pour la langue sélectionnée.
- `text_contents_translation` (WidgetTextContentsTranslation, optional) — Le cache de traduction du contenu textuel.
- `terms_text` (string, optional) — Le texte à afficher pour les conditions générales dans cette langue.
- `terms_html` (string, optional) — Le HTML à afficher pour les conditions générales dans cette langue
- `terms_key` (string, optional) — La clé à afficher pour les conditions générales dans cette langue
- `terms_translation` (WidgetTermsTranslation, optional) — Le cache de traduction des termes.

### AllowedValues

- `dynamic_variable` (string, required) — Nom d’une variable dynamique qui doit correspondre à un tableau JSON de valeurs autorisées, par exemple ["ws_alpha", "ws_beta"]. Les variables système ne fonctionnent que si elles correspondent à une liste.

### AnalysisPropertyConstantValue

Valeur constante à utiliser pour cette propriété. S’exclut mutuellement avec description, dynamic_variable, is_system_provided et is_omitted.

- string
- integer
- double
- boolean

### AgentAnalysisItemsOutputEvaluationCriteriaItem

- `source`: `system`
  - `analysis_item_id` (enum, required) — ID de l’évaluation système intégrée référencée.
    - Allowed values: `__system_eval_criteria_sentiment`, `__system_eval_criteria_frustration`
  - `scope` (enum, optional, default: conversation) — Contexte de transcription (« conversation » ou « agent ») utilisé lors de l’exécution de cet élément.
    - Allowed values: `conversation`, `agent`
  - `weight` (double, optional) — Poids relatif facultatif pour le calcul du score agrégé.
- `source`: `user`
  - `analysis_item_id` (string, required) — ID de l’élément d’évaluation utilisateur référencé.
  - `additional_version_ids` (list of string, optional) — Versions d'éléments supplémentaires à exécuter également à des fins de comparaison A/B. Elles sont exécutées et stockées, mais exclues du calcul du score ; le version_id principal est celui qui est évalué.
  - `scope` (enum, optional, default: conversation) — Contexte de transcription (« conversation » ou « agent ») utilisé lors de l’exécution de cet élément.
    - Allowed values: `conversation`, `agent`
  - `version_id` (string, optional) — Version principale de l’élément dont le résultat alimente le score. None suit la dernière version publiée de l’élément.
  - `weight` (double, optional) — Poids relatif facultatif pour le calcul du score agrégé.

### AgentAnalysisItemsOutputDataCollectionItem

- `source`: `system`
  - `analysis_item_id` ("__system_data_collection_topic", required) — ID de l’élément de collecte de données système intégré référencé.
  - `scope` (enum, optional, default: conversation) — Contexte de transcription (« conversation » ou « agent ») utilisé lors de l’exécution de cet élément.
    - Allowed values: `conversation`, `agent`
- `source`: `user`
  - `analysis_item_id` (string, required) — ID de l’élément de collecte de données utilisateur référencé.
  - `scope` (enum, optional, default: conversation) — Contexte de transcription (« conversation » ou « agent ») utilisé lors de l’exécution de cet élément.
    - Allowed values: `conversation`, `agent`
  - `version_id` (string, optional) — Version épinglée de l’élément. None suit la dernière version publiée de l’élément.

### ConversationConfigClientOverrideConfigOutput

- `asr` (AsrConversationalConfigOverrideConfig, optional) — Configure les remplacements pour les champs imbriqués.
- `turn` (TurnConfigOverrideConfig, optional) — Configure les remplacements pour les champs imbriqués.
- `tts` (TtsConversationalConfigOverrideConfig, optional) — Configure les remplacements pour les champs imbriqués.
- `conversation` (ConversationConfigOverrideConfig, optional) — Configure les remplacements pour les champs imbriqués.
- `agent` (AgentConfigOverrideConfig, optional) — Configure les remplacements pour les champs imbriqués.

### ConversationInitiationClientDataWebhook

- `url` (string, required) — L’URL à laquelle envoyer le webhook
- `request_headers` (map from string to ConversationInitiationClientDataWebhookRequestHeadersValue, required) — Les en-têtes à envoyer avec la requête webhook

### ConvAiWebhooks

- `post_call_webhook_id` (string, optional)
- `events` (list of enum, optional) — Liste des types d'événements à envoyer par webhook. Options : transcript, audio, call_initiation_failure, answering_machine_detection, unredacted_transcript, unredacted_audio.
  - Allowed values: `transcript`, `audio`, `call_initiation_failure`, `answering_machine_detection`, `unredacted_transcript`, `unredacted_audio`
- `transcript_format` (enum, optional, default: json) — Format des webhooks de transcription.
  - Allowed values: `json`, `opentelemetry`
- `exclude_transcript` (boolean, optional, default: false) — Lorsque la valeur est true, les webhooks JSON de transcription après appel omettent la transcription tour par tour. L’analyse, les métadonnées et les autres champs de conversation sont toujours envoyés. Ignoré pour le format de transcription OpenTelemetry.
- `send_audio` (boolean, optional, deprecated) — OBSOLÈTE : utilisez plutôt le champ « events ». Indique si les données audio doivent être envoyées avec les webhooks post-appel pour les conversations ConvAI.

### AttachedTestModel

- `test_id` (string, required)
- `workflow_node_id` (string, optional)

### FocusGuardrail

- `is_enabled` (boolean, optional, default: false)

### PromptInjectionGuardrail

- `is_enabled` (boolean, optional, default: false)

### ContentGuardrailOutput

- `execution_mode` (enum, optional, default: streaming)
  - Allowed values: `streaming`, `blocking`
- `config` (ContentConfig, optional)
- `trigger_action` (ContentGuardrailOutputTriggerAction, optional)

### CustomGuardrailOutput

Conteneur de garde-fous personnalisés, conforme au modèle ModerationGuardrail

- `config` (CustomGuardrailsConfigOutput, optional) — Conteneur de configuration pour la liste de garde-fous personnalisés

### AgentHoldAudioConfig

Audio d'attente personnalisé diffusé en boucle aux appelants en attente dans la file de l'agent. Défini en chargeant un fichier via le point de terminaison d'audio d'attente de l'agent. Les valeurs envoyées dans les requêtes de création ou de mise à jour d'agent sont ignorées.

- `audio_path` (string, required) — Chemin de stockage du clip importé
- `audio_url` (string, required) — URL CDN publique du clip importé
- `original_filename` (string, required) — Nom du fichier du clip importé, tel que fourni par l'utilisateur
- `duration_secs` (double, required) — Durée du clip importé, en secondes
- `size_bytes` (integer, required) — Taille du clip importé en octets

### ConversationHistoryRedactionConfig

- `enabled` (boolean, optional, default: false) — Indique si le masquage de l’historique des conversations est activé
- `entities` (list of enum, optional) — Les entités à masquer dans la transcription, l’audio et l’analyse de la conversation. Utilisez des types de niveau supérieur tels que « name », « email_address », ou la notation par points pour des sous-types spécifiques tels que « name.full_name ».
  - Allowed values: `name`, `name.name_given`, `name.name_family`, `name.name_other`, `email_address`, `contact_number`, `dob`, `age`, `religious_belief`, `political_opinion`, `sexual_orientation`, `ethnicity_race`, `marital_status`, `occupation`, `physical_attribute`, `language`, `username`, `password`, `url`, `organization`, `financial_id`, `financial_id.payment_card`, `financial_id.payment_card.payment_card_number`, `financial_id.payment_card.payment_card_expiration_date`, `financial_id.payment_card.payment_card_cvv`, `financial_id.bank_account`, `financial_id.bank_account.bank_account_number`, `financial_id.bank_account.bank_routing_number`, `financial_id.bank_account.swift_bic_code`, `financial_id.financial_id_other`, `location`, `location.location_address`, `location.location_city`, `location.location_postal_code`, `location.location_coordinate`, `location.location_state`, `location.location_country`, `location.location_other`, `date`, `date_interval`, `unique_id`, `unique_id.government_issued_id`, `unique_id.account_number`, `unique_id.vehicle_id`, `unique_id.healthcare_number`, `unique_id.healthcare_number.medical_record_number`, `unique_id.healthcare_number.health_plan_beneficiary_number`, `unique_id.device_id`, `unique_id.unique_id_other`, `medical`, `medical.medical_condition`, `medical.medication`, `medical.medical_procedure`, `medical.medical_measurement`, `medical.medical_other`
- `excluded_data_collection_ids` (list of string, optional) — ID des éléments de collecte de données dont les valeurs extraites ne sont pas masquées. Leurs justifications restent masquées.

### AlertingMonitorConfig

- `enabled` (boolean, optional) — Indique si ce moniteur est activé et peut envoyer des notifications
- `threshold` (double, optional) — Seuil de taux d'échec à partir duquel ce moniteur peut envoyer une notification.
- `relative_increase_threshold` (double, optional) — Relative increase over the trailing baseline at which this monitor can notify (0.2 = 20% above baseline, 0 = any failure). For conversation_volume_drop it is the share of the usual volume that must be missing, between 0.1 and 0.9 (0.5 = half).
- `min_failure_count` (integer, optional) — Nombre minimal d’échecs dans la fenêtre avant que ce moniteur puisse se déclencher.
- `min_history_bucket_count` (integer, optional) — Nombre minimal de compartiments consécutifs avec du trafic avant que la détection de pic puisse se déclencher.
- `min_sample_count` (integer, optional) — Nombre minimal d’échantillons dans la fenêtre avant que ce moniteur puisse se déclencher.
- `suspect_trigger_threshold` (integer, optional) — Nombre de compartiments suspects requis dans la fenêtre de rétrospection pour faire passer un élément suspect au statut d’alerte.
- `auto_resolve_after_inactive_minutes` (integer, optional) — Nombre de minutes pendant lesquelles une alerte peut rester inactive avant d’être résolue automatiquement.

### AlertingSettingsResponseNotifiersItem

- `type`: `webhook`
  - `webhook_id` (string, required)
- `type`: `integration`
  - `connection_id` (string, required)
  - `channel_id` (string, optional)
  - `integration_type` (enum, optional)
    - Allowed values: `pagerduty`, `slack`

### WorkflowEdgeModelOutputForwardCondition

- `type`: `expression`
  - `expression` (AstNodeOutput, required) — Expression à évaluer.
  - `label` (string, optional) — Libellé facultatif lisible par l'utilisateur pour la condition, utilisé dans toute l'interface.
- `type`: `llm`
  - `condition` (string, required) — Condition à évaluer
  - `label` (string, optional) — Libellé facultatif lisible par l'utilisateur pour la condition, utilisé dans toute l'interface.
- `type`: `result`
  - `successful` (boolean, required) — Indique si tous les outils du nœud d’outils exécuté précédemment ont été exécutés avec succès.
  - `label` (string, optional) — Libellé facultatif lisible par l'utilisateur pour la condition, utilisé dans toute l'interface.
- `type`: `unconditional`
  - `label` (string, optional) — Libellé facultatif lisible par l'utilisateur pour la condition, utilisé dans toute l'interface.

### WorkflowEdgeModelOutputBackwardCondition

- `type`: `expression`
  - `expression` (AstNodeOutput, required) — Expression à évaluer.
  - `label` (string, optional) — Libellé facultatif lisible par l'utilisateur pour la condition, utilisé dans toute l'interface.
- `type`: `llm`
  - `condition` (string, required) — Condition à évaluer
  - `label` (string, optional) — Libellé facultatif lisible par l'utilisateur pour la condition, utilisé dans toute l'interface.
- `type`: `result`
  - `successful` (boolean, required) — Indique si tous les outils du nœud d’outils exécuté précédemment ont été exécutés avec succès.
  - `label` (string, optional) — Libellé facultatif lisible par l'utilisateur pour la condition, utilisé dans toute l'interface.
- `type`: `unconditional`
  - `label` (string, optional) — Libellé facultatif lisible par l'utilisateur pour la condition, utilisé dans toute l'interface.

### PositionOutput

- `x` (double, required, default: 0)
- `y` (double, required, default: 0)

### KnowledgeBaseLocator

- `type` (enum, required) — Le type de base de connaissances.
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — Le nom de la base de connaissances
- `id` (string, required) — L’ID de la base de connaissances
- `usage_mode` (enum, optional, default: auto) — Le mode d’utilisation de la base de connaissances
  - Allowed values: `prompt`, `auto`

### ConversationalConfigApiModelWorkflowOverrideOutput

- `asr` (AsrConversationalConfigWorkflowOverride, optional) — Configuration de la transcription conversationnelle
- `turn` (TurnConfigWorkflowOverride, optional) — Configuration de la détection des tours de parole
- `tts` (TtsConversationalConfigWorkflowOverrideOutput, optional) — Configuration de la synthèse vocale conversationnelle
- `conversation` (ConversationConfigWorkflowOverrideOutput, optional) — Configuration des événements conversationnels
- `language_presets` (map from string to LanguagePresetOutput, optional) — Paramètres prédéfinis de langue pour les conversations
- `vad` (VadConfigWorkflowOverride, optional) — Configuration de la détection d'activité vocale
- `agent` (AgentConfigApiModelWorkflowOverrideOutput, optional) — Configuration spécifique à l'agent

### WorkflowPhoneNumberNodeModelOutputCustomSipHeadersItem

- `type`: `dynamic`
  - `key` (string, required) — Le nom de l'en-tête SIP (par exemple, « X-Customer-ID »)
  - `value` (string, required) — Le nom de la variable dynamique à résoudre
- `type`: `static`
  - `key` (string, required) — Le nom de l'en-tête SIP (par exemple, « X-Customer-ID »)
  - `value` (string, required) — La valeur de l’en-tête

### WorkflowPhoneNumberNodeModelOutputTransferDestination

- `type`: `phone`
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable`
  - `phone_number` (string, required)
- `type`: `sip_uri`
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable`
  - `sip_uri` (string, required)

### WorkflowPhoneNumberNodeModelOutputPostDialDigits

- `type`: `dynamic`
  - `value` (string, required) — Le nom de la variable dynamique à résoudre
- `type`: `static`
  - `value` (string, required) — Chiffres DTMF à envoyer après la connexion de l’appel, par exemple 'ww1234' pour un poste.

### UuiTransferConfig

Enveloppe User-to-User Information pour les transferts SIP REFER (RFC 7433). Les charges utiles sortantes sont encodées en hexadécimal, le seul encodage défini par la RFC 7433. L’axe de discrimination du protocole permet d’exprimer les formats propres à chaque plateforme (Talkdesk, Genesys, etc.) par configuration, plutôt que par des indicateurs de transfert dispersés. D’autres axes, comme l’encodage ASCII, le nom de l’en-tête ou les paramètres de finalité et de contenu, peuvent être ajoutés ici sans modifier le modèle de transfert.

- `data` (string, required) — Charge utile UUI à envoyer lors des transferts SIP REFER. Prend en charge les variables dynamiques intégrées et est encodée en hexadécimal au moment du transfert.
- `protocol_discriminator` (string, optional) — Discriminateur de protocole facultatif sur un octet, composé de deux chiffres hexadécimaux, par exemple '00'. Requis par des plateformes telles que Genesys Cloud, qui suppriment sinon le premier octet de la charge utile. Ne le définissez pas pour les plateformes comme Talkdesk qui attendent une charge utile hexadécimale brute.
- `protocol_discriminator_mode` (enum, optional, default: prefix) — Méthode d’ajout de protocol\_discriminator. 'prefix' ajoute l’octet avant la charge utile hexadécimale (User-to-User=XX\<hex>;encoding=hex). 'pd\_parameter' l’envoie comme paramètre distinct (User-to-User=\<hex>;pd=XX;encoding=hex). Ignoré lorsque protocol\_discriminator n’est pas défini.
  - Allowed values: `prefix`, `pd_parameter`

### WorkflowToolLocator

- `tool_id` (string, required)
- `schema_overrides` (map from string to WorkflowToolLocatorSchemaOverridesValue, optional) — Remplacements de paramètres par nœud appliqués en complément de la configuration propre à l’outil. Les clés sont des chemins de paramètres séparés par des points (les outils webhook préfixent les clés par path_params./query_params./request_body.). Ils prévalent sur tout remplacement déjà défini sur l’outil lui-même.

### WorkflowSayNodeModelOutputMessage

Message prononcé par ce nœud. Utilisez `literal` pour un texte exact ou `prompt` pour que le LLM génère le message à partir d'une description.

- `type`: `literal`
  - `text` (string, required) — Texte exact prononcé par l'agent. Prend en charge les espaces réservés de variables dynamiques `{{variable_name}}`.
  - `text_translations` (map from string to TranslatedString, required) — Traductions de `text`, indexées par code de langue. Lorsque la langue de la conversation possède une entrée, sa valeur est prononcée à la place de `text`.
- `type`: `prompt`
  - `prompt` (string, required) — Description du message que le LLM doit générer. Elle est ajoutée au prompt système de l'agent lorsque ce nœud est actif.

### WorkflowStateUpdateOutput

- `type` ("dynamic_variable", required)
- `variable_name` (string, required) — Nom de la variable dynamique à attribuer.
- `expression` (AstNodeOutput, required) — Expression dont le résultat est attribué à la variable. Elle peut combiner des constantes, d'autres variables dynamiques, des valeurs extraites par le LLM et des opérateurs.
- `required` (boolean, required, default: true) — Lorsque la valeur est false, le LLM peut omettre les valeurs dont dépend cette mise à jour. La mise à jour est alors ignorée et la variable conserve sa valeur actuelle.

### AsrConversationalConfigOverride

- `keywords` (list of string, optional) — Mots-clés dont la probabilité de prédiction doit être augmentée

### TurnConfigOverride

- `soft_timeout_config` (SoftTimeoutConfigOverride, optional) — Configuration de la fonctionnalité de délai d'expiration souple. Fournit un retour immédiat pendant les réponses plus longues des LLM.

### TtsConversationalConfigOverride

- `model_id` (enum, optional, default: eleven_v4_turbo) — Le modèle à utiliser pour le TTS
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional) — L’ID de voix à utiliser pour le TTS
- `supported_voices` (list of SupportedVoice, optional) — Voix supplémentaires prises en charge pour l'agent
- `stability` (double, optional) — La stabilité de la parole générée
- `speed` (double, optional) — La vitesse de la parole générée
- `similarity_boost` (double, optional) — L'amélioration de similarité pour la parole générée
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — Les localisateurs de dictionnaires de prononciation

### ConversationConfigOverride

- `text_only` (boolean, optional) — Si cette option est activée, l’audio ne sera pas traité et seul le texte sera utilisé, afin d’éviter la tarification audio.
- `max_duration_seconds` (integer, optional) — La durée maximale d’une conversation, en secondes

### AgentConfigOverrideOutput

- `first_message` (string, optional) — S’il n’est pas vide, premier message que l’agent prononcera. S’il est vide, l’agent attend que l’utilisateur commence la discussion.
- `language` (string, optional) — Langue de l'agent, utilisée pour l'ASR et le TTS
- `max_conversation_duration_message` (string, optional) — S’il n’est pas vide, message que l’agent enverra lorsque la durée maximale de la conversation sera atteinte.
- `prompt` (PromptAgentApiModelOverrideOutput, optional) — Le prompt de l’agent

### BuiltInToolsOutput

Outils système pouvant être attribués à un agent conversationnel. Ils ne sont délibérément pas nommés ConversationalBuiltInTools : BuiltInToolsInput et BuiltInToolsOutput font partie de la spécification publique de l’API et des SDK générés.

- `transfer_to_agent` (SystemToolConfigOutput, optional) — L’outil de transfert vers un agent.
- `end_call` (SystemToolConfigOutput, optional) — L’outil de fin d’appel
- `language_detection` (SystemToolConfigOutput, optional) — L’outil de détection de langue
- `transfer_to_number` (SystemToolConfigOutput, optional) — L’outil de transfert vers un numéro.
- `skip_turn` (SystemToolConfigOutput, optional) — L'outil d'ignorance de tour
- `play_keypad_touch_tone` (SystemToolConfigOutput, optional) — L’outil de lecture DTMF
- `voicemail_detection` (SystemToolConfigOutput, optional) — L’outil de détection de messagerie vocale

### CustomLlm

- `url` (string, required) — L’URL du point de terminaison compatible avec Chat Completions
- `model_id` (string, optional) — L’ID du modèle à utiliser si l’URL dessert plusieurs modèles
- `api_key` (CustomLlmApiKey, optional) — Clé API utilisée pour l’authentification. Il peut s’agir d’une référence à un secret du Workspace \{'secret\_id': '...'} ou d’une référence à une variable d’environnement \{'env\_var\_label': '...'}.
- `auth_connection` (CustomLlmAuthConnection, optional) — Connexion d'authentification facultative du Workspace. Seules les connexions d'authentification produisant un jeton Authorization Bearer sont prises en charge ; les connexions d'authentification Basic, mTLS, par en-tête personnalisé et par secret d'URL ne sont pas prises en charge.
- `request_headers` (map from string to CustomLlmRequestHeadersValue, optional) — En-têtes à inclure dans la requête.
- `api_version` (string, optional) — Version de l’API à utiliser pour la requête
- `api_type` (enum, optional, default: chat_completions) — Type d’API à utiliser (chat_completions, responses ou websocket)
  - Allowed values: `chat_completions`, `responses`, `websocket`

### RagConfigOutput

- `enabled` (boolean, optional, default: false)
- `embedding_model` (enum, optional, default: e5_mistral_7b_instruct)
  - Allowed values: `e5_mistral_7b_instruct`, `multilingual_e5_large_instruct`
- `max_vector_distance` (double, optional, default: 0.6) — Distance vectorielle maximale des fragments récupérés.
- `max_documents_length` (integer, optional, default: 50000) — Longueur totale maximale des fragments de document récupérés depuis RAG.
- `max_retrieved_rag_chunks_count` (integer, optional, default: 20) — Nombre maximal de fragments de document RAG à récupérer initialement depuis la base vectorielle. Ils sont ensuite filtrés selon la distance vectorielle et la longueur totale.
- `num_candidates` (integer, optional) — Nombre de candidats évalués dans la recherche vectorielle ANN. Une valeur plus élevée améliore les résultats, mais augmente la latence. La valeur minimale recommandée est 100. Si cette option est désactivée, la valeur par défaut est utilisée.
- `query_rewrite_prompt_override` (string, optional) — Prompt personnalisé pour reformuler les requêtes utilisateur avant la récupération RAG. L'historique de la conversation est automatiquement ajouté à la fin. S'il n'est pas défini, le prompt par défaut est utilisé.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional) — Lorsqu’il est défini, l’agent utilise l’outil knowledge_base au lieu de l’ancien outil knowledge_base_rag. None signifie que l’agent n’y a pas adhéré.

### PromptAgentApiModelOutputBackupLlmConfig

Configuration du basculement en cascade des LLM de secours. Peut être désactivée, utiliser les valeurs par défaut du système ou spécifier un ordre personnalisé.

- `preference`: `default`
- `preference`: `disabled`
- `preference`: `override`
  - `order` (list of enum, required)
    - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`

### PromptAgentApiModelOutputToolsItem

Le type d’outil.

- `type`: `api_integration_webhook`
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `assignments` (list of DynamicVariableAssignment, required) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
  - `description` (string, required) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait.
  - `dynamic_variables` (DynamicVariablesConfig, required) — Configuration des variables dynamiques
  - `execution_mode` (enum, required, default: immediate) — Détermine quand et comment l’outil s’exécute : 'immediate' exécute l’outil immédiatement lorsqu’il est demandé par le LLM, 'post_tool_speech' attend que l’agent ait fini de parler avant de l’exécuter, et 'async' exécute l’outil en arrière-plan sans bloquer, idéal pour les opérations longues.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, required, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `name` (string, required)
  - `pre_tool_speech` (enum, required, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, required, default: 20) — Le délai maximal, en secondes, avant la fin de l’appel d’outil. Doit être compris entre 5 et 300 secondes, incluses.
  - `tool_call_sound_behavior` (enum, required, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, required, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, required, default: 1.0.0) — La version de l’outil d’intégration API
  - `disable_interruptions` (boolean, required, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
  - `force_pre_tool_speech` (boolean, required, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, optional) — Substitutions utilisateur appliquées en complément du api_schema de base
  - `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `type`: `client`
  - `description` (string, required) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuration des variables dynamiques
  - `execution_mode` (enum, optional, default: immediate) — Détermine quand et comment l’outil s’exécute : 'immediate' exécute l’outil immédiatement lorsqu’il est demandé par le LLM, 'post_tool_speech' attend que l’agent ait fini de parler avant de l’exécuter, et 'async' exécute l’outil en arrière-plan sans bloquer, idéal pour les opérations longues.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Si true, l’appel de cet outil doit bloquer la conversation jusqu’à ce que le client fournisse une réponse, qui est transmise au LLM. Si false, la conversation se poursuit sans attendre la réponse du client. Cela permet d’afficher du contenu à un utilisateur sans bloquer la conversation.
  - `interruption_mode` (enum, optional, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaPropertyOutput, optional) — Schéma des paramètres à transmettre au client
  - `pre_tool_speech` (enum, optional, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Durée maximale, en secondes, d’attente de la fin de l’appel d’outil. Doit être comprise entre 1 et 120 secondes (incluses), ou égale à -1 pour attendre indéfiniment la réponse du client (nécessite expects_response).
  - `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.
- `type`: `mcp`
  - `value` (any, required)
- `type`: `smb`
  - `value` (any, required)
- `type`: `system`
  - `name` (string, required)
  - `params` (SystemToolConfigOutputParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
  - `description` (string, optional, default: ) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait. Laissez ce champ vide pour utiliser la description par défaut, optimisée pour le type d’outil concerné.
  - `interruption_mode` (enum, optional, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Le délai maximal, en secondes, avant la fin de l’appel d’outil.
  - `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.
- `type`: `webhook`
  - `api_schema` (WebhookToolApiSchemaConfigOutput, required) — Le schéma du webhook sortant, y compris les paramètres et la spécification de l'URL
  - `description` (string, required) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuration des variables dynamiques
  - `execution_mode` (enum, optional, default: immediate) — Détermine quand et comment l’outil s’exécute : 'immediate' exécute l’outil immédiatement lorsqu’il est demandé par le LLM, 'post_tool_speech' attend que l’agent ait fini de parler avant de l’exécuter, et 'async' exécute l’outil en arrière-plan sans bloquer, idéal pour les opérations longues.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Indique s'il faut suivre une redirection depuis le point de terminaison et renvoyer la réponse finale. Une seule redirection est suivie, sous la forme d'une requête GET sans corps de requête ; aucun élément configuré sur cet outil, comme les en-têtes, l'authentification ou le certificat client, n'est envoyé à la cible de redirection. Le point de terminaison et la cible de redirection doivent tous deux utiliser HTTPS. Non pris en charge pour les outils d'intégration d'API.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domaines vers lesquels une redirection peut pointer, par exemple 'test.example.com'. Requis pour suivre les redirections, toute cible hors de cette liste étant refusée.
  - `interruption_mode` (enum, optional, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Le délai maximal, en secondes, avant la fin de l’appel d’outil. Doit être compris entre 5 et 300 secondes, incluses.
  - `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.

### WidgetTextContentsTranslation

- `source` (map from string to string, optional) — Le texte source dont chaque champ traduit est dérivé
- `text` (map from string to string, optional) — La dernière sortie traduite automatiquement pour chaque champ traduit

### WidgetTermsTranslation

- `source_hash` (string, required)
- `text` (string, required)

### AsrConversationalConfigOverrideConfig

- `keywords` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ keywords.

### TurnConfigOverrideConfig

- `soft_timeout_config` (SoftTimeoutConfigOverrideConfig, optional) — Configure les remplacements pour les champs imbriqués.

### TtsConversationalConfigOverrideConfig

- `model_id` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ model_id.
- `voice_id` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ voice_id.
- `supported_voices` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ supported_voices.
- `stability` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ stability.
- `speed` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ speed.
- `similarity_boost` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ similarity_boost.
- `pronunciation_dictionary_locators` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ pronunciation_dictionary_locators.

### ConversationConfigOverrideConfig

- `text_only` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ text_only.
- `max_duration_seconds` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ max_duration_seconds.

### AgentConfigOverrideConfig

- `first_message` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ first_message.
- `language` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ language.
- `max_conversation_duration_message` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ max_conversation_duration_message.
- `prompt` (PromptAgentApiModelOverrideConfig, optional) — Configure les remplacements pour les champs imbriqués.

### ConversationInitiationClientDataWebhookRequestHeadersValue

- string
- Conv AI Secret Locator: ConvAiSecretLocator

### ContentConfig

- `sexual` (ContentThresholdGuardrail, optional)
- `violence` (ContentThresholdGuardrail, optional)
- `harassment` (ContentThresholdGuardrail, optional)
- `self_harm` (ContentThresholdGuardrail, optional)
- `profanity` (ContentThresholdGuardrail, optional)
- `religion_or_politics` (ContentThresholdGuardrail, optional)
- `medical_and_legal_information` (ContentThresholdGuardrail, optional)

### ContentGuardrailOutputTriggerAction

- `type`: `end_call`
- `type`: `retry`
  - `feedback` (string, optional, default: Your response was blocked by a guardrail that blocks content that matches this condition/category: '{{trigger_reason}}' During your next turn you must tell the user "I'm sorry but I can't answer that question, would you like to know something else?".) — Retour personnalisé à injecter dans l'agent lors d'une nouvelle tentative après le déclenchement d'une règle de sécurité.

### CustomGuardrailsConfigOutput

Conteneur de configuration pour la liste de garde-fous personnalisés

- `configs` (list of CustomGuardrailConfig, optional)

### AstNodeOutput

- `type`: `add_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `and_operator`
  - `children` (list of AstNodeOutput, required) — Nœuds enfants de l'opérateur logique.
- `type`: `boolean_literal`
  - `value` (boolean, required) — Valeur de ce littéral.
- `type`: `conditional_operator`
  - `condition` (AstNodeOutput, required) — Condition déterminant l'expression à sélectionner.
  - `falseExpression` (AstNodeOutput, required) — Expression sélectionnée si la condition est false.
  - `trueExpression` (AstNodeOutput, required) — Expression sélectionnée si la condition est true.
- `type`: `div_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `dynamic_variable`
  - `name` (string, required) — Le nom de la variable dynamique.
- `type`: `eq_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `gt_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `gte_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `llm`
  - `value_schema` (LlmLiteralJsonSchemaProperty, required) — Schéma JSON décrivant la valeur que le LLM doit extraire.
  - `prompt` (string, required, deprecated) — Le prompt à évaluer en valeur booléenne. Obsolète. Utilisez plutôt un schéma booléen.
- `type`: `lt_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `lte_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `mul_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `neq_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.
- `type`: `null_literal`
- `type`: `number_literal`
  - `value` (AstNumberNodeOutputValue, required) — Valeur de ce littéral.
- `type`: `or_operator`
  - `children` (list of AstNodeOutput, required) — Nœuds enfants de l'opérateur logique.
- `type`: `string_literal`
  - `value` (string, required) — Valeur de ce littéral.
- `type`: `sub_operator`
  - `left` (AstNodeOutput, required) — Opérande gauche de l'opérateur binaire.
  - `right` (AstNodeOutput, required) — Opérande droit de l’opérateur binaire.

### AsrConversationalConfigWorkflowOverride

- `quality` ("high", optional) — La qualité de la transcription
- `provider` (enum, optional, default: scribe_realtime) — Le fournisseur du service de transcription
  - Allowed values: `elevenlabs`, `scribe_realtime`, `scribe_v2_turbo`
- `user_input_audio_format` (enum, optional, default: pcm_16000) — Le format de l’audio à transcrire
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `keywords` (list of string, optional) — Mots-clés dont la probabilité de prédiction doit être augmentée

### TurnConfigWorkflowOverride

- `turn_timeout` (double, optional) — Temps d’attente maximal de la réponse de l’utilisateur avant de le solliciter à nouveau
- `initial_wait_time` (double, optional) — How long the agent will wait for the user to start the conversation if the first message is empty. If not set, uses the regular turn_timeout.
- `silence_end_call_timeout` (double, optional) — Temps d’attente maximal depuis la dernière intervention de l’utilisateur avant de mettre fin à l’appel
- `turn_eagerness` (enum, optional, default: normal) — Contrôle la réactivité de l'agent. Faible = moins réactif (attend davantage), Standard = réactivité par défaut, Élevé = plus réactif (répond plus rapidement)
  - Allowed values: `patient`, `normal`, `eager`
- `spelling_patience` (enum, optional, default: auto) — Détermine si l'agent doit attendre davantage lorsque l'utilisateur épelle des nombres et des entités nommées. Auto = selon le modèle, Off = ne jamais attendre davantage
  - Allowed values: `auto`, `off`
- `speculative_turn` (boolean, optional) — Lorsque cette option est activée, la génération des réponses du LLM commence pendant le silence, avant que la confiance totale du tour de parole soit atteinte, afin de réduire la latence perçue. Peut augmenter les coûts du LLM.
- `retranscribe_on_turn_timeout` (boolean, optional) — Lorsqu’elle est activée, si la VAD ne détecte aucune parole, tente de retranscrire l’audio accumulé à l’expiration du délai du tour. Désactive la facturation avec réduction pour les silences tant qu’elle est activée pour l’agent ou le nœud de workflow actif.
- `turn_model` (enum, optional, default: turn_v3) — Version du modèle de détection des tours de parole à utiliser.
  - Allowed values: `turn_v2`, `turn_v3`
- `interruption_ignore_terms` (list of string, optional) — Liste des termes qui ne doivent pas déclencher d'interruption lorsqu'ils sont prononcés par l'utilisateur, par exemple « gotcha » ou « understood ». Utilise une correspondance exacte insensible à la casse.
- `interruption_ignore_term_languages` (list of string, optional) — Codes de langue pour lesquels des catégories prédéfinies de termes à ignorer ont été activées. Ils sont stockés explicitement afin que l'affichage ne soit pas déduit du chevauchement des termes.
- `merge_with_default_ignore_terms` (boolean, optional) — Lorsque cette option est activée, les termes par défaut sélectionnés pour interruption_ignore_term_languages sont utilisés en plus de interruption_ignore_terms.
- `transcribe_on_disabled_interruptions` (boolean, optional) — Lorsque les interruptions sont désactivées, transcrit tout de même ce que dit l’utilisateur afin de le reporter au tour suivant. Lorsque cette option est désactivée, la parole de l’utilisateur pendant un tour non interruptible est ignorée et ne déclenche pas de tour de parole.
- `soft_timeout_config` (SoftTimeoutConfigWorkflowOverride, optional) — Configuration de la fonctionnalité de délai d'expiration souple. Fournit un retour immédiat pendant les réponses plus longues des LLM.

### TtsConversationalConfigWorkflowOverrideOutput

- `model_id` (enum, optional, default: eleven_v4_turbo) — Le modèle à utiliser pour le TTS
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional) — L’ID de voix à utiliser pour le TTS
- `supported_voices` (list of SupportedVoice, optional) — Voix supplémentaires prises en charge pour l'agent
- `expressive_mode` (boolean, optional) — Lorsque cette option est activée, applique le prompt de balises audio expressives. Elle est automatiquement désactivée pour les modèles autres que v3.
- `suggested_audio_tags` (list of SuggestedAudioTag, optional) — Suggested audio tags to boost expressive speech (for eleven_v3 and eleven_v3_conversational models). The agent can still use other tags not listed here.
- `agent_output_audio_format` (enum, optional, default: pcm_16000) — Format audio à utiliser pour le TTS
  - Allowed values: `pcm_8000`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `pcm_48000`, `ulaw_8000`
- `optimize_streaming_latency` (integer, optional) — Obsolète : ce champ n'a aucun effet et est ignoré.
- `stability` (double, optional) — La stabilité de la parole générée
- `speed` (double, optional) — La vitesse de la parole générée
- `similarity_boost` (double, optional) — L'amélioration de similarité pour la parole générée
- `text_normalisation_type` (enum, optional, default: system_prompt) — Méthode de conversion des nombres en mots avant la synthèse vocale. Si elle est définie sur SYSTEM_PROMPT, le prompt système est mis à jour pour inclure des instructions de normalisation. Si elle est définie sur ELEVENLABS, le texte est normalisé après la génération, ce qui entraîne une légère latence supplémentaire.
  - Allowed values: `system_prompt`, `elevenlabs`
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — Les localisateurs de dictionnaires de prononciation
- `enable_phoneme_tags` (boolean, optional) — Active la gestion des balises de phonèmes SSML pour les modèles V3. Lorsqu'elle est activée, les balises de phonèmes, en ligne et issues des dictionnaires de prononciation, sont analysées en API en ligne avant d'être envoyées au modèle.
- `audio_effects` (EffectsSpecOutput, optional) — Spécification facultative des effets TTS : préréglage de filtre, distance (égalisation de proximité) et environnement (réverbération par convolution).

### ConversationConfigWorkflowOverrideOutput

- `text_only` (boolean, optional) — Si cette option est activée, l’audio ne sera pas traité et seul le texte sera utilisé, afin d’éviter la tarification audio.
- `max_duration_seconds` (integer, optional) — La durée maximale d’une conversation, en secondes
- `client_events` (list of enum, optional) — Les événements qui seront envoyés au client
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `file_input` (FileInputConfigWorkflowOverride, optional) — Configuration des entrées de fichiers (chargements d'images/PDF) pendant les conversations.
- `monitoring_enabled` (boolean, optional) — Active la surveillance des conversations en temps réel via WebSocket
- `monitoring_events` (list of enum, optional) — Les événements qui seront envoyés aux connexions de surveillance.
  - Allowed values: `conversation_initiation_metadata`, `asr_initiation_metadata`, `ping`, `audio`, `interruption`, `user_transcript`, `tentative_user_transcript`, `agent_response`, `agent_response_correction`, `client_tool_call`, `mcp_tool_call`, `mcp_connection_status`, `agent_tool_request`, `agent_tool_response`, `agent_tool_response_full_payload`, `agent_response_metadata`, `vad_score`, `agent_chat_response_part`, `client_error`, `guardrail_triggered`, `dtmf_request`, `agent_response_complete`, `context_usage`, `internal_turn_probability`, `internal_tentative_agent_response`
- `dtmf_input_settings` (DtmfInputConfig, optional) — Configurez la collecte de saisies DTMF (clavier téléphonique) pendant les appels
- `background_sound` (BackgroundSoundConfigWorkflowOverride, optional) — Configuration du son d'arrière-plan durant les conversations.
- `source_attribution` (boolean, optional) — Lorsque cette option est activée et que la base de connaissances contient du contenu, le LLM reçoit l’instruction d’indiquer les sources qu’il a utilisées.

### VadConfigWorkflowOverride

### AgentConfigApiModelWorkflowOverrideOutput

- `first_message` (string, optional) — S’il n’est pas vide, premier message que l’agent prononcera. S’il est vide, l’agent attend que l’utilisateur commence la discussion.
- `language` (string, optional) — Langue de l'agent, utilisée pour l'ASR et le TTS
- `hinglish_mode` (boolean, optional) — Lorsqu’elle est activée, l’agent intègre des mots et des expressions en anglais dans les réponses en hindi, en malayalam, en télougou ou en kannada.
- `dynamic_variables` (DynamicVariablesConfigWorkflowOverride, optional) — Configuration des variables dynamiques
- `disable_first_message_interruptions` (boolean, optional) — Si true, l’utilisateur ne pourra pas interrompre l’agent pendant la diffusion du premier message.
- `max_conversation_duration_message` (string, optional) — S’il n’est pas vide, message que l’agent enverra lorsque la durée maximale de la conversation sera atteinte.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional) — Remplacements du comportement de réponse par canal pour les conversations textuelles. Les valeurs par défaut intégrées au canal s’appliquent lorsqu’aucune valeur n’est définie.
- `prompt` (PromptAgentApiModelWorkflowOverrideOutput, optional) — Le prompt de l’agent

### WorkflowToolLocatorSchemaOverridesValue

- `source`: `constant`
  - `constant_value` (ConstantSchemaOverrideConstantValue, optional) — Valeur constante à utiliser
- `source`: `dynamic_variable`
  - `dynamic_variable` (string, required) — Le nom de la variable dynamique à utiliser
- `source`: `llm`
  - `prompt` (string, optional) — Remplacement du prompt pour le LLM. S’il n’est pas fourni, la description du schéma d’origine est utilisée.
- `source`: `omit`

### TranslatedString

- `value` (string, required)

### SoftTimeoutConfigOverride

- `message` (string, optional) — Message à afficher lorsque le premier délai d’expiration souple est atteint pendant l’attente d’une réponse LLM. Prend en charge les variables dynamiques, par exemple \{\{system\_\_time}} et \{\{custom\_variable}}.
- `additional_soft_timeout_messages` (list of string, optional) — Messages statiques de remplissage supplémentaires pour les délais d'attente souples suivants dans la même génération LLM. Le premier délai utilise `message`. Si moins de messages sont configurés que `max_soft_timeouts_per_generation`, le dernier message configuré est répété ; sinon, un message de remplissage intégré est utilisé.

### PromptAgentApiModelOverrideOutput

- `prompt` (string, optional) — Le prompt de l’agent
- `llm` (enum, optional) — Le LLM à interroger avec le prompt et l’historique de discussion. En cas de résidence des données européenne, le LLM doit être pris en charge dans l’environnement de résidence des données.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `tool_ids` (list of string, optional) — Liste des ID des outils utilisés par l’agent.
- `tool_ids_strict` (boolean, optional) — Only applies as a conversation override, allowed whenever tool_ids may be overridden. When true, the overridden tool_ids is the full list of tools allowed in the conversation, including tools on workflow nodes. Ignored when set on the agent.
- `native_mcp_server_ids` (list of string, optional) — Liste des identifiants de serveurs MCP natifs à utiliser par l'agent
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — Liste des bases de connaissances à utiliser par l'agent

### SystemToolConfigOutput

Un outil système permet d'appeler une méthode système sur le serveur

- `name` (string, required)
- `params` (SystemToolConfigOutputParams, required)
- `type` ("system", optional) — Le type d’outil.
- `description` (string, optional, default: ) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait. Laissez ce champ vide pour utiliser la description par défaut, optimisée pour le type d’outil concerné.
- `response_timeout_secs` (integer, optional, default: 20) — Le délai maximal, en secondes, avant la fin de l’appel d’outil.
- `interruption_mode` (enum, optional, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `pre_tool_speech` (enum, optional, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
  - Allowed values: `auto`, `force`, `off`
- `assignments` (list of DynamicVariableAssignment, optional) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
- `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
  - Allowed values: `auto`, `always`
- `tool_error_handling_mode` (enum, optional, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
  - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
- `disable_interruptions` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.

### CustomLlmApiKey

Clé API utilisée pour l’authentification. Il peut s’agir d’une référence à un secret du Workspace \{'secret\_id': '...'} ou d’une référence à une variable d’environnement \{'env\_var\_label': '...'}.

- Conv AI Secret Locator: ConvAiSecretLocator
- Conv AI Env Var Locator: ConvAiEnvVarLocator

### CustomLlmAuthConnection

Connexion d'authentification facultative du Workspace. Seules les connexions d'authentification produisant un jeton Authorization Bearer sont prises en charge ; les connexions d'authentification Basic, mTLS, par en-tête personnalisé et par secret d'URL ne sont pas prises en charge.

- Auth Connection Locator: AuthConnectionLocator
- Environment Auth Connection Locator: EnvironmentAuthConnectionLocator

### CustomLlmRequestHeadersValue

- string
- Conv AI Secret Locator: ConvAiSecretLocator
- Conv AI Dynamic Variable: ConvAiDynamicVariable
- Conv AI Env Var Locator: ConvAiEnvVarLocator

### KnowledgeBaseToolInfo

- `enabled_strategies` (list of enum, optional) — Stratégies de recherche exposées au modèle. Ne peut pas être vide.
  - Allowed values: `cat`, `keyword`, `semantic`, `ls`

### DynamicVariableAssignment

Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques.

- `dynamic_variable` (string, required) — Le nom de la variable dynamique à laquelle attribuer la valeur extraite
- `value_path` (string, required) — Chemin en notation pointée permettant d’extraire la valeur de la source, par exemple 'user.name' ou 'data.0.id'.
- `source` ("response", optional) — La source dont extraire la valeur. Seul « response » est actuellement pris en charge.
- `sanitize` (boolean, optional, default: false) — Si true, la valeur de cette affectation sera retirée de la réponse de l’outil avant son envoi au LLM et à la transcription, mais restera traitée pour l’affectation de variables.
- `preserve_native_type` (boolean, optional, default: false) — Si true, les valeurs non scalaires, comme les listes et objets, extraites de la réponse de l’outil sont stockées dans leur type natif au lieu d’être converties en chaînes JSON. Activez cette option pour utiliser directement les tableaux extraits comme variables dynamiques de liste.

### DynamicVariablesConfig

- `dynamic_variable_placeholders` (map from string to any, optional) — Dictionnaire des espaces réservés de variables dynamiques et de leurs valeurs.

### ApiIntegrationWebhookOverrides

- `schema_overrides` (map from string to ApiIntegrationWebhookOverridesSchemaOverridesValue, optional)
- `response_filter_mode` (enum, optional, default: all) — Contrôle le filtrage des réponses d'outil avant qu'elles ne soient visibles par l'agent.
  - Allowed values: `all`, `allow`, `hide_all`
- `response_filters` (list of string, optional)
- `request_headers` (map from string to ApiIntegrationWebhookOverridesRequestHeadersValue, optional)

### ObjectJsonSchemaPropertyOutput

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Lorsqu’il est défini, l’intégralité du paramètre est renseignée à partir de cette variable dynamique à l’exécution. S’exclut mutuellement avec description (valeur fournie par le LLM), constant_value et is_omitted.
- `constant_value` (map from string to any, optional) — Lorsqu’elle est définie, l’intégralité de l’objet utilise cette valeur JSON constante à l’exécution. S’exclut mutuellement avec description (objet fourni par le LLM), dynamic_variable et is_omitted.
- `is_omitted` (boolean, optional, default: false) — Si true, ce paramètre sera entièrement omis de la requête. Valide uniquement pour les paramètres facultatifs. Mutuellement exclusif avec description, dynamic_variable et constant_value.
- `type` ("object", optional)
- `required` (list of string, optional)
- `properties` (map from string to ObjectJsonSchemaPropertyOutputPropertiesValue, optional)
- `required_constraints` (RequiredConstraints, optional) — Conteneur pour les contraintes de composition anyOf/allOf limitées aux champs obligatoires.

### SystemToolConfigOutputParams

- `system_tool_type`: `end_call`
- `system_tool_type`: `end_procedure`
  - `procedures` (map from string to EndProcedureToolConfigProceduresValue, optional)
- `system_tool_type`: `knowledge_base`
  - `enabled_strategies` (list of enum, optional)
    - Allowed values: `cat`, `keyword`, `semantic`, `ls`
- `system_tool_type`: `knowledge_base_rag`
- `system_tool_type`: `language_detection`
  - `only_at_conversation_start` (boolean, optional, default: false) — Si aucun changement de langue ne se produit lors des 2 premiers tours de l’utilisateur, les tentatives ultérieures échouent et la conversation reste dans la langue actuelle. Si la langue change pendant ces tours, les changements ultérieurs restent possibles. Activez cette option pour réduire le risque de changement erroné.
- `system_tool_type`: `play_keypad_touch_tone`
  - `suppress_turn_after_dtmf` (boolean, optional, default: false) — Si true, l’agent ne générera plus de parole après avoir émis des tonalités DTMF. Cela empêche la parole de l’agent d’interférer avec les systèmes IVR.
  - `use_out_of_band_dtmf` (boolean, optional, default: true) — Envoie les tonalités DTMF comme événements RTP hors bande (RFC 4733) plutôt que comme audio dans la bande. Fonctionne uniquement pour les numéros importés depuis un trunk SIP.
- `system_tool_type`: `skip_turn`
  - `wait_timeout_secs` (double, optional, default: -1) — Secondes à attendre après skip_turn avant que l’agent ne génère une relance contextuelle. Le minuteur « Terminer la conversation après un silence » est suspendu pendant l’attente. La valeur -1 désactive l’attente : après skip_turn, l’agent reste silencieux jusqu’à ce que l’appelant parle, et ce minuteur continue de s’écouler. S’applique uniquement aux conversations vocales.
- `system_tool_type`: `start_procedure`
  - `procedures` (map from string to StartProcedureToolConfigProceduresValue, optional)
- `system_tool_type`: `transfer_to_agent`
  - `transfers` (list of AgentTransferOutput, required)
- `system_tool_type`: `transfer_to_number`
  - `transfers` (list of PhoneNumberTransfer, required)
  - `enable_client_message` (boolean, optional, default: true) — Indique s'il faut diffuser un message au client pendant qu'il attend le transfert. La valeur par défaut est true pour assurer la rétrocompatibilité.
- `system_tool_type`: `voicemail_detection`
  - `voicemail_message` (string, optional) — Message facultatif à laisser sur la messagerie vocale lorsqu'elle est détectée. Si aucun message n'est fourni, l'appel se termine immédiatement lors de la détection de la messagerie vocale. Prend en charge les variables dynamiques, par exemple \{\{system\_\_time}}, \{\{system\_\_call\_duration\_secs}}, \{\{custom\_variable}}.

### WebhookToolApiSchemaConfigOutput

- `url` (string, required) — L’URL à laquelle le webhook sera envoyé. Peut inclure des paramètres de chemin, par exemple [https://example.com/agents/\{agent\_id}](https://example.com/agents/\{agent_id})
- `request_headers` (map from string to WebhookToolApiSchemaConfigOutputRequestHeadersValue, optional) — En-têtes à inclure dans la requête.
- `method` (enum, optional, default: GET) — La méthode HTTP à utiliser pour le webhook
  - Allowed values: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`
- `path_params_schema` (map from string to LiteralJsonSchemaProperty, optional) — Schéma des paramètres de chemin, le cas échéant. Les clés doivent correspondre aux espaces réservés dans l’URL.
- `query_params_schema` (QueryParamsJsonSchemaOutput, optional) — Schéma des paramètres de requête, le cas échéant. Ils sont ajoutés à la fin de l’URL comme paramètres de requête. Remarque : les propriétés d’un paramètre de requête doivent toutes être de types littéraux.
- `request_body_schema` (ObjectJsonSchemaPropertyOutput, optional) — Schéma des paramètres du corps, le cas échéant. Utilisé pour les requêtes POST/PATCH/PUT. Le schéma doit être un objet envoyé comme corps JSON.
- `response_body_schema` (ObjectJsonSchemaPropertyOutput, optional) — Schéma décrivant la structure attendue du corps de réponse. À des fins de documentation uniquement ; non exposé au LLM.
- `response_filter` (ResponseFilter, optional) — Filtre de liste blanche facultatif appliqué à la réponse avant que le LLM ne la voie, afin que les réponses volumineuses ne polluent pas le contexte. Par défaut, la réponse complète est utilisée.
- `content_type` (enum, optional, default: application/json) — Type de contenu du corps de la requête. S'applique uniquement aux requêtes POST/PUT/PATCH.
  - Allowed values: `application/json`, `application/x-www-form-urlencoded`
- `auth_resolved_params` (list of string, optional) — Espaces réservés de l’URL résolus depuis la connexion d’authentification, par exemple les secrets injectés via UrlSecretAuthConnection, plutôt que depuis path_params_schema.
- `auth_connection` (WebhookToolApiSchemaConfigOutputAuthConnection, optional) — Connexion d'authentification facultative à utiliser avec ce webhook

### SoftTimeoutConfigOverrideConfig

- `message` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ message.
- `additional_soft_timeout_messages` (boolean, optional, default: false) — Indique s’il faut autoriser le remplacement du champ additional_soft_timeout_messages.

### PromptAgentApiModelOverrideConfig

- `prompt` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ prompt.
- `llm` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ llm.
- `tool_ids` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ tool_ids.
- `tool_ids_strict` (boolean, optional, default: false) — Indique s’il faut autoriser le remplacement du champ tool_ids_strict.
- `native_mcp_server_ids` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ native_mcp_server_ids.
- `knowledge_base` (boolean, optional, default: false) — Indique s'il est possible de remplacer le champ knowledge_base.

### ConvAiSecretLocator

Utilisé pour référencer un secret du stockage de secrets de l’agent.

- `secret_id` (string, required)

### ContentThresholdGuardrail

- `is_enabled` (boolean, optional, default: false)
- `threshold` (ContentThresholdGuardrailThreshold, optional)

### CustomGuardrailConfig

Configuration d’un seul garde-fou personnalisé

- `name` (string, required) — Nom destiné aux utilisateurs pour cette règle de sécurité
- `prompt` (string, required) — Instruction décrivant ce qu’il faut bloquer, par exemple : « ne parlez pas de politique »
- `is_enabled` (boolean, optional, default: false)
- `execution_mode` (enum, optional, default: streaming)
  - Allowed values: `streaming`, `blocking`
- `model` (enum, optional, default: gemini-3.1-flash-lite) — Modèle LLM à utiliser pour l’évaluation des garde-fous personnalisés
  - Allowed values: `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `claude-haiku-4-5`, `claude-sonnet-4-6`, `gpt-5.4-nano`, `gpt-5.4-mini`
- `history_message_count` (integer, optional, default: 0) — Quantité d’historique récent que le garde-fou consulte avant la réponse qu’il évalue, comptée en messages utilisateur, les réponses intermédiaires de l’agent étant également incluses. Le garde-fou reçoit toujours une seule transcription \<conversation\_history> se terminant par la réponse évaluée, marquée « AGENT \[current reply]: ». 0, valeur par défaut, n’ajoute aucun historique antérieur, seulement cette ligne ; 1 ajoute le dernier message utilisateur et les suivants.
- `trigger_action` (CustomGuardrailConfigTriggerAction, optional)
- `evaluate_full_response_only` (boolean, optional, default: false) — Évalue une fois la réponse complète hors TTS, au lieu des réponses partielles cumulées. Nécessite le mode bloquant.

### LlmLiteralJsonSchemaProperty

- `type` (LlmLiteralJsonSchemaPropertyType, required)
- `description` (string, required)
- `enum` (list of string, optional) — List of allowed string values for string type parameters

### AstNumberNodeOutputValue

Valeur de ce littéral.

- double
- integer

### SoftTimeoutConfigWorkflowOverride

- `timeout_seconds` (double, optional) — Délai, en secondes, avant l’affichage du message prédéfini pendant l’attente de la réponse du LLM. Définissez -1 pour désactiver cette option.
- `message` (string, optional) — Message à afficher lorsque le premier délai d’expiration souple est atteint pendant l’attente d’une réponse LLM. Prend en charge les variables dynamiques, par exemple \{\{system\_\_time}} et \{\{custom\_variable}}.
- `additional_soft_timeout_messages` (list of string, optional) — Messages statiques de remplissage supplémentaires pour les délais d'attente souples suivants dans la même génération LLM. Le premier délai utilise `message`. Si moins de messages sont configurés que `max_soft_timeouts_per_generation`, le dernier message configuré est répété ; sinon, un message de remplissage intégré est utilisé.
- `use_llm_generated_message` (boolean, optional) — Si cette option est activée, le message de délai d’inactivité sera généré dynamiquement au lieu d’utiliser le message statique.
- `randomize_fillers` (boolean, optional) — Si cette option est activée, mélangez une fois l’ordre des messages statiques de délai d’inactivité au début de chaque tour. S’applique uniquement lorsque use_llm_generated_message est false.
- `max_soft_timeouts_per_generation` (integer, optional) — Maximum filler messages while waiting for a single LLM response. Fires every timeout_seconds until the LLM streams content or this limit is reached.
- `llm_generated_message_prompt_override` (string, optional) — Prompt personnalisé pour générer le message de remplissage lors d'un délai d'attente souple lorsque use\_llm\_generated\_message est activé. Le contexte récent de la conversation est fourni dans un message utilisateur distinct. S'il n'est pas défini, le prompt par défaut est utilisé. Prend en charge les variables dynamiques (par exemple, \{\{system\_\_time}}, \{\{custom\_variable}}).
- `disable_until_first_user_message` (boolean, optional) — Lorsque la valeur est true, les fillers de délai d’expiration souple sont supprimés jusqu’à ce que la conversation comporte au moins un véritable message utilisateur. Empêche les fillers pendant le tour d’ouverture de l’agent, par exemple avec le workflow generate-immediately ou des appels d’outils avant que l’utilisateur ne parle.

### FileInputConfigWorkflowOverride

- `enabled` (boolean, optional) — Lorsque cette option est activée, les utilisateurs peuvent joindre des images, des fichiers PDF ou des fichiers texte dans le chat si le LLM prend en charge les entrées multimodales.
- `max_files_in_memory` (integer, optional) — Nombre de fichiers les plus récents conservés en mémoire au cours d’une conversation. Les fichiers plus anciens sont résumés et leur mémoire est libérée.
- `max_files_per_conversation` (integer, optional) — Nombre total de fichiers qu’un utilisateur peut importer au cours d’une conversation. Les importations sont facturées par fichier. Utilisez -1 pour aucune limite, ou une valeur >= max_files_in_memory.

### BackgroundSoundConfigWorkflowOverride

- `source_type` ("preset", optional) — Le type de source sonore d’arrière-plan.
- `source_id` (enum, optional) — Identifiant de la source sonore.
  - Allowed values: `office2`, `office1`, `restaurant`, `city`, `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `volume` (double, optional) — Niveau de volume du son d’arrière-plan (de 0,01 à 1,0).
- `crossfade_loop` (boolean, optional) — Applique un fondu enchaîné à la jonction de la boucle afin d'éviter les clics audibles lors de la répétition du son.

### DynamicVariablesConfigWorkflowOverride

- `dynamic_variable_placeholders` (map from string to any, optional) — Dictionnaire des espaces réservés de variables dynamiques et de leurs valeurs.

### PromptAgentApiModelWorkflowOverrideOutput

- `prompt` (string, optional) — Le prompt de l’agent
- `llm` (enum, optional) — Le LLM à interroger avec le prompt et l’historique de discussion. En cas de résidence des données européenne, le LLM doit être pris en charge dans l’environnement de résidence des données.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `reasoning_effort` (enum, optional) — Effort de raisonnement du modèle. Disponible uniquement pour certains modèles.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional) — Nombre maximal de jetons utilisés pour le raisonnement. Utilisez 0 pour le désactiver si le modèle le prend en charge.
- `enable_reasoning_summary` (boolean, optional) — Activez les résumés du raisonnement du modèle. Lorsqu’ils sont désactivés, nous ne demandons pas de résumés au fournisseur lorsque cela est possible, afin de réduire le TTFB. Non compatible avec ZRM.
- `temperature` (double, optional) — La température du LLM. La valeur par défaut est 0. Définissez-la sur null pour omettre entièrement le paramètre de la requête au LLM, ce qui est utile pour les LLM personnalisés qui refusent le champ de température.
- `max_tokens` (integer, optional) — S’il est supérieur à 0, nombre maximal de jetons que le LLM peut prédire
- `tool_ids` (list of string, optional) — Liste des ID des outils utilisés par l’agent.
- `tool_ids_strict` (boolean, optional) — Only applies as a conversation override, allowed whenever tool_ids may be overridden. When true, the overridden tool_ids is the full list of tools allowed in the conversation, including tools on workflow nodes. Ignored when set on the agent.
- `built_in_tools` (BuiltInToolsWorkflowOverrideOutput, optional) — Outils système intégrés à utiliser par l'agent
- `enable_parallel_tool_calls` (boolean, optional) — Activez les appels d’outils parallèles. Lorsqu’ils sont activés, l’agent peut exécuter plusieurs outils en parallèle au cours d’un même tour. Cette option n’est pas prise en charge par tous les modèles.
- `mcp_server_ids` (list of string, optional) — Liste des identifiants de serveurs MCP à utiliser par l'agent
- `native_mcp_server_ids` (list of string, optional) — Liste des identifiants de serveurs MCP natifs à utiliser par l'agent
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — Liste des bases de connaissances à utiliser par l'agent
- `custom_llm` (CustomLlm, optional) — Définition d'un LLM personnalisé si le champ LLM est défini sur « CUSTOM_LLM »
- `ignore_default_personality` (boolean, optional) — Indique s'il faut supprimer les lignes de personnalité par défaut du prompt système.
- `rag` (RagConfigWorkflowOverrideOutput, optional) — Configuration pour RAG
- `timezone` (string, optional) — Fuseau horaire utilisé pour afficher l’heure actuelle dans le prompt système. S’il est défini, l’heure actuelle sera incluse dans le prompt système à l’aide de ce fuseau horaire. Doit être un nom de fuseau horaire valide, par exemple « America/New_York », « Europe/London » ou « UTC ». Recommandé pour des réponses tenant compte de l’heure avec précision. Sans cela, l’agent ne connaît ni la date ni l’heure actuelles, sauf si vous les fournissez via des variables dynamiques ou des outils, ce qui peut entraîner des références temporelles incorrectes ou inventées.
- `backup_llm_config` (PromptAgentApiModelWorkflowOverrideOutputBackupLlmConfig, optional) — Configuration du basculement en cascade des LLM de secours. Peut être désactivée, utiliser les valeurs par défaut du système ou spécifier un ordre personnalisé.
- `cascade_timeout_seconds` (double, optional) — Délai, en secondes, avant le basculement vers le LLM de secours. Doit être compris entre 2 et 15 secondes.
- `tools` (list of PromptAgentApiModelWorkflowOverrideOutputToolsItem, optional) — Liste des outils que l'agent peut utiliser au cours de la conversation, utilisez plutôt tool_ids.

### ConstantSchemaOverrideConstantValue

Valeur constante à utiliser

- string
- integer
- double
- boolean
- list of any
- map from string to any

### ConvAiEnvVarLocator

Utilisé pour référencer une variable d’environnement par son libellé.

- `env_var_label` (string, required)

### AuthConnectionLocator

Utilisé pour référencer une connexion d’authentification depuis le stockage de connexions d’authentification du Workspace.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Référence, par son libellé, une variable d’environnement de type « auth_connection ». Lors de l’exécution, elle est résolue en connexion d’authentification pour l’environnement actuel, avec repli sur l’environnement par défaut.

- `env_var_label` (string, required)

### ConvAiDynamicVariable

Utilisé pour référencer une variable dynamique.

- `variable_name` (string, required)

### ApiIntegrationWebhookOverridesSchemaOverridesValue

- `source`: `constant`
  - `constant_value` (ConstantSchemaOverrideConstantValue, optional) — Valeur constante à utiliser
- `source`: `dynamic_variable`
  - `dynamic_variable` (string, required) — Le nom de la variable dynamique à utiliser
- `source`: `llm`
  - `prompt` (string, optional) — Remplacement du prompt pour le LLM. S’il n’est pas fourni, la description du schéma d’origine est utilisée.
- `source`: `omit`

### ApiIntegrationWebhookOverridesRequestHeadersValue

- string
- Conv AI Dynamic Variable: ConvAiDynamicVariable

### ObjectJsonSchemaPropertyOutputPropertiesValue

- Literal JSON Schema Property: LiteralJsonSchemaProperty
- Object JSON Schema Property Output: ObjectJsonSchemaPropertyOutput
- Array JSON Schema Property Output: ArrayJsonSchemaPropertyOutput

### RequiredConstraints

Conteneur pour les contraintes de composition anyOf/allOf limitées aux champs obligatoires.

- `any_of` (list of RequiredConstraint, optional)
- `all_of` (list of RequiredConstraint, optional)

### EndProcedureToolConfigProceduresValue

- Procedure Version Ref: ProcedureVersionRef
- Procedure Draft Ref: ProcedureDraftRef

### StartProcedureToolConfigProceduresValue

- Procedure Version Ref: ProcedureVersionRef
- Procedure Draft Ref: ProcedureDraftRef

### AgentTransferOutput

- `condition` (string, required)
- `agent_id` (string, optional)
- `branch_id` (string, optional)
- `node_id` (string, optional)
- `delay_ms` (integer, optional, default: 0)
- `transfer_message` (string, optional)
- `enable_transferred_agent_first_message` (boolean, optional, default: false)
- `is_workflow_node_transfer` (boolean, optional, default: false)
- `preserve_client_tts_overrides` (boolean, optional, default: false) — Définit si les remplacements côté client du TTS doivent être transférés vers l'agent cible.
- `preserve_voice_settings` (boolean, optional, default: false) — Définit si la voix de base, le modèle TTS et les paramètres vocaux doivent être transférés vers l'agent cible.

### PhoneNumberTransfer

- `transfer_destination` (PhoneNumberTransferTransferDestination, required)
- `condition` (string, required)
- `custom_sip_headers` (list of PhoneNumberTransferCustomSipHeadersItem, optional) — En-têtes SIP personnalisés à inclure lors du transfert de l'appel. Chaque en-tête peut être une valeur statique ou une référence de variable dynamique.
- `transfer_type` (enum, optional, default: conference)
  - Allowed values: `blind`, `conference`, `sip_refer`
- `sip_refer_play_dialtone` (boolean, optional, default: true) — Lorsque la valeur est True, une tonalité est diffusée sur la branche d’appel d’origine pendant l’exécution d’un transfert SIP REFER. La tonalité est transmise via RTP au pair SIP exécutant le REFER ; désactivez cette option si le système destinataire, par exemple un SBC ou un centre de contact, ne doit pas l’entendre. Lorsqu’elle est désactivée, l’appelant entend le silence jusqu’à la fin du transfert. Uniquement pour les transferts SIP REFER.
- `uui` (UuiTransferConfig, optional) — Informations d’utilisateur à utilisateur (RFC 7433) à joindre aux transferts SIP REFER. Transmet le contexte de l’appel, tel que les identifiants CRM ou le motif d’escalade, lors du transfert.
- `post_dial_digits` (PhoneNumberTransferPostDialDigits, optional) — Chiffres DTMF à envoyer après la connexion de l’appel, par exemple 'ww1234' pour un poste. Peut correspondre à une valeur statique ou à une référence de variable dynamique. Utilisez 'w' pour une pause de 0,5 s. Pris en charge uniquement pour les transferts Twilio.
- `phone_number` (string, optional, deprecated)

### WebhookToolApiSchemaConfigOutputRequestHeadersValue

- string
- Conv AI Secret Locator: ConvAiSecretLocator
- Conv AI Dynamic Variable: ConvAiDynamicVariable
- Conv AI Env Var Locator: ConvAiEnvVarLocator

### LiteralJsonSchemaProperty

Propriété de schéma pour les types JSON littéraux. IMPORTANT : UN SEUL des champs suivants peut être défini : description (le LLM fournit la valeur), dynamic_variable (valeur issue d’une variable), is_system_provided (le système fournit la valeur), constant_value (valeur fixe) ou is_omitted (le paramètre est omis). Ils sont mutuellement exclusifs.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — La description de la propriété. Lorsqu’elle est définie, le LLM fournit la valeur à partir de cette description. S’exclut mutuellement avec dynamic_variable, is_system_provided, constant_value et is_omitted.
- `enum` (list of string, optional) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Si true, la valeur sera renseignée par le système au moment de l’exécution. Utilisé par les outils Webhook d’intégration API pour le templating. Mutuellement exclusif avec description, dynamic_variable, constant_value et is_omitted.
- `dynamic_variable` (string, optional, default: ) — Le nom de la variable dynamique à utiliser pour la valeur de cette propriété. S’exclut mutuellement avec description, is_system_provided, constant_value et is_omitted.
- `allowed_values` (AllowedValues, optional) — Garde-fou de rejet côté serveur pour une valeur fournie par un LLM : l’environnement d’exécution rejette toute valeur en dehors de l’ensemble autorisé désigné par cet objet, et cet ensemble n’est pas communiqué au LLM comme une énumération. Pris en charge uniquement lorsque la source de la valeur est `description` ; toute combinaison avec dynamic_variable, is_system_provided, constant_value ou is_omitted est rejetée.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional) — Valeur constante à utiliser pour cette propriété. S’exclut mutuellement avec description, dynamic_variable, is_system_provided et is_omitted.
- `is_omitted` (boolean, optional, default: false) — Si true, ce paramètre sera entièrement omis de la requête. Valide uniquement pour les paramètres facultatifs. Mutuellement exclusif avec description, dynamic_variable, is_system_provided et constant_value.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — OBSOLÈTE : utilisez plutôt `allowed_values`. Lorsqu'il est défini, le LLM fournit la valeur, mais l'environnement d'exécution rejette toute valeur absente de la liste contenue dans cette variable dynamique (doit être un tableau JSON tel que ["ws_alpha", "ws_beta"]). Utilisez-le pour permettre au LLM de choisir dans un ensemble vérifié par le serveur, par exemple les ID auxquels l'utilisateur actuel est autorisé à accéder. Requiert description ; mutuellement exclusif avec dynamic_variable, is_system_provided, constant_value et is_omitted.

### QueryParamsJsonSchemaOutput

- `properties` (map from string to LiteralJsonSchemaProperty, required)
- `required` (list of string, optional)

### ResponseFilter

Configuration permettant de filtrer les réponses d'outils avant qu'elles ne soient visibles par l'agent.

- `mode` (enum, optional, default: all) — Contrôle le filtrage des réponses d'outil. « all » renvoie l'intégralité de la réponse, « allow » renvoie uniquement les chemins spécifiés et « hide_all » masque toute la réponse.
  - Allowed values: `all`, `allow`, `hide_all`
- `filters` (list of string, optional) — Chemins en notation pointée à inclure lorsque le mode est 'allow', par exemple ['ticket.id', 'ticket.status'].
- `content_type` ("application/json", optional) — Type de contenu pour le filtrage des réponses. Seules les réponses « application/json » sont filtrées.

### WebhookToolApiSchemaConfigOutputAuthConnection

Connexion d'authentification facultative à utiliser avec ce webhook

- Auth Connection Locator: AuthConnectionLocator
- Environment Auth Connection Locator: EnvironmentAuthConnectionLocator

### ContentThresholdGuardrailThreshold

- double
- "low"
- "medium"
- "high"

### CustomGuardrailConfigTriggerAction

- `type`: `end_call`
- `type`: `retry`
  - `feedback` (string, optional, default: Your response was blocked by a guardrail that blocks content that matches this condition/category: '{{trigger_reason}}' During your next turn you must tell the user "I'm sorry but I can't answer that question, would you like to know something else?".) — Retour personnalisé à injecter dans l'agent lors d'une nouvelle tentative après le déclenchement d'une règle de sécurité.

### LlmLiteralJsonSchemaPropertyType

- "boolean"
- "string"
- "integer"
- "number"
- list of string

### BuiltInToolsWorkflowOverrideOutput

- `transfer_to_agent` (SystemToolConfigOutput, optional) — L’outil de transfert vers un agent.
- `end_call` (SystemToolConfigOutput, optional) — L’outil de fin d’appel
- `language_detection` (SystemToolConfigOutput, optional) — L’outil de détection de langue
- `transfer_to_number` (SystemToolConfigOutput, optional) — L’outil de transfert vers un numéro.
- `skip_turn` (SystemToolConfigOutput, optional) — L'outil d'ignorance de tour
- `play_keypad_touch_tone` (SystemToolConfigOutput, optional) — L’outil de lecture DTMF
- `voicemail_detection` (SystemToolConfigOutput, optional) — L’outil de détection de messagerie vocale

### RagConfigWorkflowOverrideOutput

- `enabled` (boolean, optional)
- `embedding_model` (enum, optional, default: e5_mistral_7b_instruct)
  - Allowed values: `e5_mistral_7b_instruct`, `multilingual_e5_large_instruct`
- `max_vector_distance` (double, optional) — Distance vectorielle maximale des fragments récupérés.
- `max_documents_length` (integer, optional) — Longueur totale maximale des fragments de document récupérés depuis RAG.
- `max_retrieved_rag_chunks_count` (integer, optional) — Nombre maximal de fragments de document RAG à récupérer initialement depuis la base vectorielle. Ils sont ensuite filtrés selon la distance vectorielle et la longueur totale.
- `num_candidates` (integer, optional) — Nombre de candidats évalués dans la recherche vectorielle ANN. Une valeur plus élevée améliore les résultats, mais augmente la latence. La valeur minimale recommandée est 100. Si cette option est désactivée, la valeur par défaut est utilisée.
- `query_rewrite_prompt_override` (string, optional) — Prompt personnalisé pour reformuler les requêtes utilisateur avant la récupération RAG. L'historique de la conversation est automatiquement ajouté à la fin. S'il n'est pas défini, le prompt par défaut est utilisé.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional) — Lorsqu’il est défini, l’agent utilise l’outil knowledge_base au lieu de l’ancien outil knowledge_base_rag. None signifie que l’agent n’y a pas adhéré.

### PromptAgentApiModelWorkflowOverrideOutputBackupLlmConfig

Configuration du basculement en cascade des LLM de secours. Peut être désactivée, utiliser les valeurs par défaut du système ou spécifier un ordre personnalisé.

- Backup Llm Default: BackupLlmDefault
- Backup Llm Disabled: BackupLlmDisabled
- Backup Llm Override: BackupLlmOverride

### PromptAgentApiModelWorkflowOverrideOutputToolsItem

Le type d’outil.

- `type`: `api_integration_webhook`
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `assignments` (list of DynamicVariableAssignment, required) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
  - `description` (string, required) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait.
  - `dynamic_variables` (DynamicVariablesConfig, required) — Configuration des variables dynamiques
  - `execution_mode` (enum, required, default: immediate) — Détermine quand et comment l’outil s’exécute : 'immediate' exécute l’outil immédiatement lorsqu’il est demandé par le LLM, 'post_tool_speech' attend que l’agent ait fini de parler avant de l’exécuter, et 'async' exécute l’outil en arrière-plan sans bloquer, idéal pour les opérations longues.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, required, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `name` (string, required)
  - `pre_tool_speech` (enum, required, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, required, default: 20) — Le délai maximal, en secondes, avant la fin de l’appel d’outil. Doit être compris entre 5 et 300 secondes, incluses.
  - `tool_call_sound_behavior` (enum, required, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, required, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, required, default: 1.0.0) — La version de l’outil d’intégration API
  - `disable_interruptions` (boolean, required, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
  - `force_pre_tool_speech` (boolean, required, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, optional) — Substitutions utilisateur appliquées en complément du api_schema de base
  - `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `type`: `client`
  - `description` (string, required) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuration des variables dynamiques
  - `execution_mode` (enum, optional, default: immediate) — Détermine quand et comment l’outil s’exécute : 'immediate' exécute l’outil immédiatement lorsqu’il est demandé par le LLM, 'post_tool_speech' attend que l’agent ait fini de parler avant de l’exécuter, et 'async' exécute l’outil en arrière-plan sans bloquer, idéal pour les opérations longues.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Si true, l’appel de cet outil doit bloquer la conversation jusqu’à ce que le client fournisse une réponse, qui est transmise au LLM. Si false, la conversation se poursuit sans attendre la réponse du client. Cela permet d’afficher du contenu à un utilisateur sans bloquer la conversation.
  - `interruption_mode` (enum, optional, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaPropertyOutput, optional) — Schéma des paramètres à transmettre au client
  - `pre_tool_speech` (enum, optional, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Durée maximale, en secondes, d’attente de la fin de l’appel d’outil. Doit être comprise entre 1 et 120 secondes (incluses), ou égale à -1 pour attendre indéfiniment la réponse du client (nécessite expects_response).
  - `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.
- `type`: `mcp`
  - `value` (any, required)
- `type`: `smb`
  - `value` (any, required)
- `type`: `system`
  - `name` (string, required)
  - `params` (SystemToolConfigOutputParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
  - `description` (string, optional, default: ) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait. Laissez ce champ vide pour utiliser la description par défaut, optimisée pour le type d’outil concerné.
  - `interruption_mode` (enum, optional, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Le délai maximal, en secondes, avant la fin de l’appel d’outil.
  - `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.
- `type`: `webhook`
  - `api_schema` (WebhookToolApiSchemaConfigOutput, required) — Le schéma du webhook sortant, y compris les paramètres et la spécification de l'URL
  - `description` (string, required) — Description des situations dans lesquelles l’outil doit être utilisé et de ce qu’il fait.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuration permettant d'extraire des valeurs des réponses d'outils et de les attribuer à des variables dynamiques
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuration des variables dynamiques
  - `execution_mode` (enum, optional, default: immediate) — Détermine quand et comment l’outil s’exécute : 'immediate' exécute l’outil immédiatement lorsqu’il est demandé par le LLM, 'post_tool_speech' attend que l’agent ait fini de parler avant de l’exécuter, et 'async' exécute l’outil en arrière-plan sans bloquer, idéal pour les opérations longues.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Indique s'il faut suivre une redirection depuis le point de terminaison et renvoyer la réponse finale. Une seule redirection est suivie, sous la forme d'une requête GET sans corps de requête ; aucun élément configuré sur cet outil, comme les en-têtes, l'authentification ou le certificat client, n'est envoyé à la cible de redirection. Le point de terminaison et la cible de redirection doivent tous deux utiliser HTTPS. Non pris en charge pour les outils d'intégration d'API.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domaines vers lesquels une redirection peut pointer, par exemple 'test.example.com'. Requis pour suivre les redirections, toute cible hors de cette liste étant refusée.
  - `interruption_mode` (enum, optional, default: allow) — Détermine si l'utilisateur peut interrompre l'agent lors de cet appel d'outil. « allow » (valeur par défaut) permet à l'utilisateur d'interrompre à tout moment, « disable_during_tool » bloque les interruptions uniquement pendant l'exécution de l'outil et « disable_during_tool_and_turn » les bloque pendant l'exécution de l'outil et pour la réponse suivante de l'agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Détermine si l'agent parle avant l'appel de cet outil. « auto » (valeur par défaut) décide selon la latence récente de l'outil, « force » demande toujours à l'agent de parler et « off » désactive entièrement cette fonction, quelle que soit la latence.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Le délai maximal, en secondes, avant la fin de l’appel d’outil. Doit être compris entre 5 et 300 secondes, incluses.
  - `tool_call_sound` (enum, optional) — Type de son d’appel d’outil prédéfini à diffuser lors de l’exécution de l’outil. S’il n’est pas spécifié, aucun son d’appel d’outil ne sera diffusé.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Détermine quand le son d’appel de l’outil doit être joué. 'auto' le joue uniquement lorsqu’une parole précède l’outil, tandis que 'always' le joue pour chaque appel d’outil.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Contrôle le traitement des erreurs d'outil avant leur partage avec l'agent. « auto » détermine le traitement selon le type d'outil, avec un résumé pour les intégrations natives et le masquage pour les autres ; « summarized » envoie un résumé généré par un LLM, « passthrough » envoie l'erreur brute et « hide » ne partage pas l'erreur avec l'agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `interruption_mode`. Si la valeur est true, l'utilisateur ne pourra pas interrompre l'agent pendant l'exécution de cet outil.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — OBSOLÈTE : utilisez plutôt `pre_tool_speech`. Si la valeur est true, l'agent parlera avant l'appel de l'outil.

### ArrayJsonSchemaPropertyOutput

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Lorsqu’il est défini, l’intégralité du paramètre est renseignée à partir de cette variable dynamique à l’exécution. S’exclut mutuellement avec description (valeur fournie par le LLM), constant_value et is_omitted.
- `constant_value` (list of any, optional) — Lorsqu’elle est définie, l’intégralité du tableau utilise cette valeur constante à l’exécution. S’exclut mutuellement avec description (tableau fourni par le LLM), dynamic_variable et is_omitted.
- `is_omitted` (boolean, optional, default: false) — Si true, ce paramètre sera entièrement omis de la requête. Valide uniquement pour les paramètres facultatifs. Mutuellement exclusif avec description, dynamic_variable et constant_value.
- `type` ("array", optional)
- `items` (ArrayJsonSchemaPropertyOutputItems, optional) — Schéma des éléments du tableau.

### RequiredConstraint

Un ensemble de champs qui doivent tous être présents pour satisfaire cette contrainte.

- `required` (list of string, required)

### ProcedureVersionRef

- `procedure_id` (string, required) — ID de la procédure
- `version_id` (string, required) — ID de version de la version de la procédure.

### ProcedureDraftRef

- `procedure_id` (string, required) — ID de la procédure
- `version_id` (any, optional)

### PhoneNumberTransferTransferDestination

- `type`: `phone`
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable`
  - `phone_number` (string, required)
- `type`: `sip_uri`
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable`
  - `sip_uri` (string, required)

### PhoneNumberTransferCustomSipHeadersItem

- `type`: `dynamic`
  - `key` (string, required) — Le nom de l'en-tête SIP (par exemple, « X-Customer-ID »)
  - `value` (string, required) — Le nom de la variable dynamique à résoudre
- `type`: `static`
  - `key` (string, required) — Le nom de l'en-tête SIP (par exemple, « X-Customer-ID »)
  - `value` (string, required) — La valeur de l’en-tête

### PhoneNumberTransferPostDialDigits

- `type`: `dynamic`
  - `value` (string, required) — Le nom de la variable dynamique à résoudre
- `type`: `static`
  - `value` (string, required) — Chiffres DTMF à envoyer après la connexion de l’appel, par exemple 'ww1234' pour un poste.

### LiteralJsonSchemaPropertyType

- "boolean"
- "string"
- "integer"
- "number"
- list of string

### LiteralJsonSchemaPropertyConstantValue

Valeur constante à utiliser pour cette propriété. S’exclut mutuellement avec description, dynamic_variable, is_system_provided et is_omitted.

- string
- integer
- double
- boolean

### BackupLlmDefault

- `preference` ("default", optional)

### BackupLlmDisabled

- `preference` ("disabled", optional)

### BackupLlmOverride

- `order` (list of enum, required)
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `preference` ("override", optional)

### ArrayJsonSchemaPropertyOutputItems

Schéma des éléments du tableau.

- Literal JSON Schema Property: LiteralJsonSchemaProperty
- Object JSON Schema Property Output: ObjectJsonSchemaPropertyOutput
- Array JSON Schema Property Output: ArrayJsonSchemaPropertyOutput

## Examples

**Response**

```json
{
  "agent_id": "agent_7101k5zvyjhmfg983brhmhkd98n6",
  "name": "My Agent",
  "conversation_config": {
    "asr": {
      "quality": "high",
      "provider": "scribe_realtime",
      "user_input_audio_format": "pcm_16000",
      "keywords": [
        "hello",
        "world"
      ]
    },
    "turn": {
      "turn_timeout": 7,
      "initial_wait_time": 1.1,
      "silence_end_call_timeout": -1,
      "turn_eagerness": "normal",
      "spelling_patience": "auto",
      "speculative_turn": false,
      "retranscribe_on_turn_timeout": false,
      "turn_model": "turn_v3",
      "interruption_ignore_terms": [
        "interruption_ignore_terms"
      ],
      "interruption_ignore_term_languages": [
        "interruption_ignore_term_languages"
      ],
      "merge_with_default_ignore_terms": false,
      "transcribe_on_disabled_interruptions": false,
      "soft_timeout_config": {
        "timeout_seconds": -1,
        "message": "Hhmmmm...yeah."
      }
    },
    "tts": {
      "model_id": "eleven_turbo_v2",
      "voice_id": "cjVigY5qzO86Huf0OWal",
      "supported_voices": [
        {
          "label": "label",
          "voice_id": "voice_id"
        }
      ],
      "expressive_mode": true,
      "suggested_audio_tags": [
        {
          "tag": "tag"
        }
      ],
      "agent_output_audio_format": "pcm_16000",
      "optimize_streaming_latency": 3,
      "stability": 0.5,
      "speed": 1,
      "similarity_boost": 0.8,
      "text_normalisation_type": "system_prompt",
      "pronunciation_dictionary_locators": [
        {
          "pronunciation_dictionary_id": "pronunciation_dictionary_id",
          "version_id": null
        }
      ],
      "enable_phoneme_tags": true,
      "audio_effects": {
        "distance": 1.1,
        "send_level": 1.1,
        "pan": 1.1,
        "filter_preset_id": null,
        "environment_id": null,
        "background_noise_id": null
      }
    },
    "conversation": {
      "text_only": true,
      "max_duration_seconds": 600,
      "client_events": [
        "audio",
        "interruption"
      ],
      "monitoring_enabled": true,
      "monitoring_events": [
        "conversation_initiation_metadata"
      ],
      "source_attribution": true
    },
    "language_presets": {
      "key": {
        "overrides": {
          "asr": {
            "keywords": [
              "hello",
              "world"
            ]
          },
          "turn": {
            "soft_timeout_config": {
              "message": "Hhmmmm...yeah."
            }
          },
          "tts": {
            "model_id": "eleven_turbo_v2",
            "voice_id": "cjVigY5qzO86Huf0OWal",
            "stability": 0.5,
            "speed": 1,
            "similarity_boost": 0.8,
            "pronunciation_dictionary_locators": [
              {
                "pronunciation_dictionary_id": "pronunciation_dictionary_id",
                "version_id": null
              }
            ]
          },
          "conversation": {
            "max_duration_seconds": 600
          },
          "agent": {
            "first_message": "Hello, how can I help you today?",
            "language": "en",
            "prompt": {
              "prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
              "llm": "gemini-2.0-flash-001",
              "tool_ids": [
                "tool_ids"
              ],
              "knowledge_base": [
                {
                  "type": "file",
                  "name": "My Knowledge Base",
                  "id": "123",
                  "usage_mode": "auto"
                }
              ]
            }
          }
        }
      }
    },
    "agent": {
      "first_message": "Hello, how can I help you today?",
      "language": "en",
      "hinglish_mode": true,
      "disable_first_message_interruptions": false,
      "max_conversation_duration_message": "max_conversation_duration_message",
      "prompt": {
        "prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
        "llm": "gemini-2.0-flash-001",
        "temperature": 0,
        "max_tokens": -1,
        "tool_ids": [
          "tool_ids"
        ],
        "built_in_tools": {
          "transfer_to_agent": {
            "name": "end_call",
            "params": {
              "system_tool_type": "end_call"
            },
            "type": "system",
            "description": "",
            "assignments": [
              {
                "dynamic_variable": "user_name",
                "value_path": "user.name",
                "source": "response",
                "sanitize": false,
                "preserve_native_type": false
              }
            ]
          },
          "end_call": {
            "name": "end_call",
            "params": {
              "system_tool_type": "end_call"
            },
            "type": "system",
            "description": "",
            "assignments": [
              {
                "dynamic_variable": "user_name",
                "value_path": "user.name",
                "source": "response",
                "sanitize": false,
                "preserve_native_type": false
              }
            ]
          },
          "language_detection": {
            "name": "end_call",
            "params": {
              "system_tool_type": "end_call"
            },
            "type": "system",
            "description": "",
            "assignments": [
              {
                "dynamic_variable": "user_name",
                "value_path": "user.name",
                "source": "response",
                "sanitize": false,
                "preserve_native_type": false
              }
            ]
          },
          "transfer_to_number": {
            "name": "end_call",
            "params": {
              "system_tool_type": "end_call"
            },
            "type": "system",
            "description": "",
            "assignments": [
              {
                "dynamic_variable": "user_name",
                "value_path": "user.name",
                "source": "response",
                "sanitize": false,
                "preserve_native_type": false
              }
            ]
          },
          "skip_turn": {
            "name": "end_call",
            "params": {
              "system_tool_type": "end_call"
            },
            "type": "system",
            "description": "",
            "assignments": [
              {
                "dynamic_variable": "user_name",
                "value_path": "user.name",
                "source": "response",
                "sanitize": false,
                "preserve_native_type": false
              }
            ]
          },
          "play_keypad_touch_tone": {
            "name": "end_call",
            "params": {
              "system_tool_type": "end_call"
            },
            "type": "system",
            "description": "",
            "assignments": [
              {
                "dynamic_variable": "user_name",
                "value_path": "user.name",
                "source": "response",
                "sanitize": false,
                "preserve_native_type": false
              }
            ]
          },
          "voicemail_detection": {
            "name": "end_call",
            "params": {
              "system_tool_type": "end_call"
            },
            "type": "system",
            "description": "",
            "assignments": [
              {
                "dynamic_variable": "user_name",
                "value_path": "user.name",
                "source": "response",
                "sanitize": false,
                "preserve_native_type": false
              }
            ]
          }
        },
        "knowledge_base": [
          {
            "type": "file",
            "name": "My Knowledge Base",
            "id": "123",
            "usage_mode": "auto"
          }
        ],
        "rag": {
          "max_vector_distance": 0.5,
          "max_retrieved_rag_chunks_count": 5
        }
      }
    }
  },
  "metadata": {
    "created_at_unix_secs": 1,
    "updated_at_unix_secs": 1
  },
  "platform_settings": {
    "evaluation": {
      "criteria": [
        {
          "id": "criterion_binary_001",
          "name": "Issue resolved",
          "conversation_goal_prompt": "Determine whether the agent fully resolved the user's issue.",
          "use_knowledge_base": false,
          "scope": "conversation",
          "scoring_mode": "binary",
          "max_score": 100
        }
      ]
    },
    "widget": {
      "variant": "tiny",
      "placement": "top-left",
      "expandable": "never",
      "avatar": {
        "type": "orb",
        "color_1": "#2792dc",
        "color_2": "#9ce6e6"
      },
      "feedback_mode": "none",
      "bg_color": "bg_color",
      "text_color": "text_color",
      "btn_color": "btn_color",
      "btn_text_color": "btn_text_color",
      "border_color": "border_color",
      "focus_color": "focus_color",
      "border_radius": 1,
      "btn_radius": 1,
      "action_text": "action_text",
      "start_call_text": "start_call_text",
      "end_call_text": "end_call_text",
      "expand_text": "expand_text",
      "listening_text": "listening_text",
      "speaking_text": "speaking_text",
      "shareable_page_text": "shareable_page_text",
      "shareable_page_show_terms": true,
      "terms_text": "terms_text",
      "terms_html": "terms_html",
      "terms_key": "terms_key",
      "show_avatar_when_collapsed": true,
      "disable_banner": true,
      "override_link": "override_link",
      "markdown_link_allowed_hosts": [
        {
          "hostname": "hostname"
        }
      ],
      "markdown_link_include_www": true,
      "markdown_link_allow_http": true,
      "mic_muting_enabled": true,
      "transcript_enabled": true,
      "text_input_enabled": true,
      "conversation_mode_toggle_enabled": true,
      "default_expanded": true,
      "always_expanded": true,
      "dismissible": true,
      "show_agent_status": true,
      "show_conversation_id": true,
      "strip_audio_tags": true,
      "syntax_highlight_theme": "light",
      "show_resize_button": true,
      "end_confirmation_enabled": true,
      "language_selector": false,
      "supports_text_only": true,
      "custom_avatar_path": "https://example.com/avatar.png",
      "language_presets": {
        "key": {}
      }
    },
    "data_collection": {
      "key": {
        "type": "string",
        "description": "My property",
        "is_system_provided": false,
        "dynamic_variable": "",
        "constant_value": ""
      }
    },
    "data_collection_scopes": {
      "key": "conversation"
    },
    "analysis_items": {
      "evaluation_criteria": [
        {
          "source": "system",
          "analysis_item_id": "__system_eval_criteria_sentiment"
        }
      ],
      "data_collection": [
        {
          "source": "system",
          "analysis_item_id": "__system_data_collection_topic"
        }
      ]
    },
    "overrides": {
      "custom_llm_extra_body": true,
      "enable_conversation_initiation_client_data_from_webhook": true,
      "enable_starting_workflow_node_id_from_client": true,
      "enable_procedure_ids_from_client": true
    },
    "workspace_overrides": {
      "conversation_initiation_client_data_webhook": {
        "url": "https://example.com/webhook",
        "request_headers": {
          "Content-Type": "application/json"
        }
      }
    },
    "testing": {
      "attached_tests": [
        {
          "test_id": "test_123",
          "workflow_node_id": "node_abc"
        },
        {
          "test_id": "test_456"
        }
      ]
    },
    "archived": true,
    "guardrails": {
      "version": "1"
    },
    "summary_language": "summary_language",
    "auto_translate_transcript_to_app_language": true,
    "auth": {
      "enable_auth": true,
      "allowlist": [
        {
          "hostname": "https://example.com"
        }
      ],
      "require_origin_header": true,
      "shareable_token": "1234567890"
    },
    "call_limits": {
      "agent_concurrency_limit": -1,
      "daily_limit": 100000,
      "bursting_enabled": true
    },
    "queueing_config": {
      "enabled": true,
      "wait_timeout_seconds": 1,
      "hold_audio": {
        "audio_path": "audio_path",
        "audio_url": "audio_url",
        "original_filename": "original_filename",
        "duration_secs": 1.1,
        "size_bytes": 1
      }
    },
    "privacy": {
      "record_voice": true,
      "retention_days": -1,
      "delete_transcript_and_pii": false,
      "delete_audio": false,
      "apply_to_existing_conversations": false,
      "zero_retention_mode": false
    },
    "trust_context": "unknown",
    "analysis_llm": "gpt-4o-mini",
    "alerting": {
      "monitor_configs": {
        "key": {}
      },
      "auto_resolve_after_inactive_minutes": 1,
      "notifiers": [
        {
          "type": "webhook",
          "webhook_id": "webhook_id"
        }
      ]
    },
    "safety": {
      "is_blocked_ivc": true,
      "is_blocked_non_ivc": true,
      "ignore_safety_evaluation": true
    }
  },
  "phone_numbers": [
    {
      "provider": "exotel",
      "label": "Exotel Outbound",
      "phone_number": "+919999999999",
      "phone_number_id": "phnum_X3Pbu5gP6NNKBscdCdwB",
      "assigned_agent": {
        "agent_id": "F3Pbu5gP6NNKBscdCdwB",
        "agent_name": "My Agent"
      }
    }
  ],
  "whatsapp_accounts": [
    {
      "business_account_id": "business_account_id",
      "phone_number_id": "phone_number_id",
      "business_account_name": "business_account_name",
      "phone_number_name": "phone_number_name",
      "phone_number": "phone_number",
      "account_type": "cloud_api",
      "assigned_agent_id": "assigned_agent_id",
      "enable_messaging": true,
      "enable_audio_message_response": true,
      "enable_typing_indicator": true,
      "assigned_agent_name": "assigned_agent_name",
      "is_token_expired": true
    }
  ],
  "workflow": {
    "edges": {
      "entry_to_tool_a": {
        "source": "entry_node",
        "target": "tool_node_a",
        "forward_condition": {
          "type": "llm",
          "condition": "User's last message contains a question about our pricing.",
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      },
      "start_to_entry": {
        "source": "start_node",
        "target": "entry_node",
        "forward_condition": {
          "type": "unconditional",
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      },
      "tool_a_to_failure": {
        "source": "tool_node_a",
        "target": "failure_node",
        "forward_condition": {
          "type": "result",
          "successful": true,
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      },
      "tool_a_to_tool_b": {
        "source": "tool_node_a",
        "target": "tool_node_b",
        "forward_condition": {
          "type": "result",
          "successful": true,
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      },
      "tool_b_to_agent_transfer": {
        "source": "tool_node_b",
        "target": "success_transfer",
        "forward_condition": {
          "type": "unconditional",
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      },
      "tool_b_to_conversation": {
        "source": "tool_node_b",
        "target": "success_conversation",
        "forward_condition": {
          "type": "llm",
          "condition": "User's last message contains a question about our pricing.",
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      },
      "tool_b_to_end": {
        "source": "tool_node_b",
        "target": "success_end",
        "forward_condition": {
          "type": "llm",
          "condition": "User's last message contains a question about our pricing.",
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      },
      "tool_b_to_phone": {
        "source": "tool_node_b",
        "target": "success_phone",
        "forward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        },
        "backward_condition": {
          "type": "expression",
          "expression": {
            "type": "and_operator",
            "children": []
          },
          "label": null
        }
      }
    },
    "nodes": {
      "entry_node": {
        "type": "override_agent",
        "additional_knowledge_base": [
          {
            "type": "file",
            "name": "My Knowledge Base",
            "id": "123",
            "usage_mode": "auto"
          }
        ],
        "additional_prompt": "additional_prompt",
        "additional_tool_ids": [
          "additional_tool_ids"
        ],
        "conversation_config": {
          "asr": {
            "quality": "high",
            "provider": "scribe_realtime",
            "user_input_audio_format": "pcm_16000",
            "keywords": [
              "hello",
              "world"
            ]
          },
          "turn": {
            "turn_timeout": 7,
            "silence_end_call_timeout": -1,
            "turn_eagerness": "normal",
            "spelling_patience": "auto",
            "speculative_turn": false,
            "retranscribe_on_turn_timeout": false,
            "turn_model": "turn_v3",
            "interruption_ignore_terms": [
              "interruption_ignore_terms"
            ],
            "interruption_ignore_term_languages": [
              "interruption_ignore_term_languages"
            ],
            "merge_with_default_ignore_terms": false,
            "transcribe_on_disabled_interruptions": false,
            "soft_timeout_config": {
              "timeout_seconds": -1,
              "message": "Hhmmmm...yeah.",
              "use_llm_generated_message": false
            }
          },
          "tts": {
            "model_id": "eleven_turbo_v2",
            "voice_id": "cjVigY5qzO86Huf0OWal",
            "agent_output_audio_format": "pcm_16000",
            "optimize_streaming_latency": 3,
            "stability": 0.5,
            "speed": 1,
            "similarity_boost": 0.8,
            "pronunciation_dictionary_locators": [
              {
                "pronunciation_dictionary_id": "pronunciation_dictionary_id",
                "version_id": null
              }
            ]
          },
          "conversation": {
            "max_duration_seconds": 600,
            "client_events": [
              "audio",
              "interruption"
            ]
          },
          "agent": {
            "first_message": "Hello, how can I help you today?",
            "language": "en",
            "dynamic_variables": {
              "dynamic_variable_placeholders": {
                "user_name": "John Doe"
              }
            },
            "disable_first_message_interruptions": false,
            "prompt": {
              "prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
              "llm": "gemini-2.0-flash-001",
              "temperature": 0,
              "max_tokens": -1,
              "tool_ids": [
                "tool_ids"
              ],
              "built_in_tools": {
                "transfer_to_agent": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "end_call": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "language_detection": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "transfer_to_number": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "skip_turn": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "play_keypad_touch_tone": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "voicemail_detection": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                }
              },
              "knowledge_base": [
                {
                  "type": "file",
                  "name": "My Knowledge Base",
                  "id": "123",
                  "usage_mode": "auto"
                }
              ],
              "tools": [
                {
                  "type": "api_integration_webhook",
                  "api_integration_connection_id": "api_integration_connection_id",
                  "api_integration_id": "api_integration_id",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ],
                  "description": "description",
                  "dynamic_variables": {
                    "dynamic_variable_placeholders": {
                      "user_name": "John Doe"
                    }
                  },
                  "execution_mode": "immediate",
                  "interruption_mode": "allow",
                  "name": "name",
                  "pre_tool_speech": "auto",
                  "response_timeout_secs": 1,
                  "tool_call_sound_behavior": "auto",
                  "tool_error_handling_mode": "auto",
                  "tool_version": "tool_version",
                  "disable_interruptions": true,
                  "force_pre_tool_speech": true,
                  "api_schema_overrides": null,
                  "tool_call_sound": null
                }
              ]
            }
          }
        },
        "edge_order": [
          "edge_order"
        ],
        "entry_behavior": "generate_immediately",
        "label": "label",
        "position": {
          "x": 1.1,
          "y": 1.1
        }
      },
      "failure_node": {
        "type": "override_agent",
        "additional_knowledge_base": [
          {
            "type": "file",
            "name": "My Knowledge Base",
            "id": "123",
            "usage_mode": "auto"
          }
        ],
        "additional_prompt": "additional_prompt",
        "additional_tool_ids": [
          "additional_tool_ids"
        ],
        "conversation_config": {
          "asr": {
            "quality": "high",
            "provider": "scribe_realtime",
            "user_input_audio_format": "pcm_16000",
            "keywords": [
              "hello",
              "world"
            ]
          },
          "turn": {
            "turn_timeout": 7,
            "silence_end_call_timeout": -1,
            "turn_eagerness": "normal",
            "spelling_patience": "auto",
            "speculative_turn": false,
            "retranscribe_on_turn_timeout": false,
            "turn_model": "turn_v3",
            "interruption_ignore_terms": [
              "interruption_ignore_terms"
            ],
            "interruption_ignore_term_languages": [
              "interruption_ignore_term_languages"
            ],
            "merge_with_default_ignore_terms": false,
            "transcribe_on_disabled_interruptions": false,
            "soft_timeout_config": {
              "timeout_seconds": -1,
              "message": "Hhmmmm...yeah.",
              "use_llm_generated_message": false
            }
          },
          "tts": {
            "model_id": "eleven_turbo_v2",
            "voice_id": "cjVigY5qzO86Huf0OWal",
            "agent_output_audio_format": "pcm_16000",
            "optimize_streaming_latency": 3,
            "stability": 0.5,
            "speed": 1,
            "similarity_boost": 0.8,
            "pronunciation_dictionary_locators": [
              {
                "pronunciation_dictionary_id": "pronunciation_dictionary_id",
                "version_id": null
              }
            ]
          },
          "conversation": {
            "max_duration_seconds": 600,
            "client_events": [
              "audio",
              "interruption"
            ]
          },
          "agent": {
            "first_message": "Hello, how can I help you today?",
            "language": "en",
            "dynamic_variables": {
              "dynamic_variable_placeholders": {
                "user_name": "John Doe"
              }
            },
            "disable_first_message_interruptions": false,
            "prompt": {
              "prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
              "llm": "gemini-2.0-flash-001",
              "temperature": 0,
              "max_tokens": -1,
              "tool_ids": [
                "tool_ids"
              ],
              "built_in_tools": {
                "transfer_to_agent": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "end_call": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "language_detection": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "transfer_to_number": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "skip_turn": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "play_keypad_touch_tone": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "voicemail_detection": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                }
              },
              "knowledge_base": [
                {
                  "type": "file",
                  "name": "My Knowledge Base",
                  "id": "123",
                  "usage_mode": "auto"
                }
              ],
              "tools": [
                {
                  "type": "api_integration_webhook",
                  "api_integration_connection_id": "api_integration_connection_id",
                  "api_integration_id": "api_integration_id",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ],
                  "description": "description",
                  "dynamic_variables": {
                    "dynamic_variable_placeholders": {
                      "user_name": "John Doe"
                    }
                  },
                  "execution_mode": "immediate",
                  "interruption_mode": "allow",
                  "name": "name",
                  "pre_tool_speech": "auto",
                  "response_timeout_secs": 1,
                  "tool_call_sound_behavior": "auto",
                  "tool_error_handling_mode": "auto",
                  "tool_version": "tool_version",
                  "disable_interruptions": true,
                  "force_pre_tool_speech": true,
                  "api_schema_overrides": null,
                  "tool_call_sound": null
                }
              ]
            }
          }
        },
        "edge_order": [
          "edge_order"
        ],
        "entry_behavior": "generate_immediately",
        "label": "label",
        "position": {
          "x": 1.1,
          "y": 1.1
        }
      },
      "start_node": {
        "type": "start",
        "edge_order": [
          "edge_order"
        ],
        "position": {
          "x": 1.1,
          "y": 1.1
        }
      },
      "success_conversation": {
        "type": "override_agent",
        "additional_knowledge_base": [
          {
            "type": "file",
            "name": "My Knowledge Base",
            "id": "123",
            "usage_mode": "auto"
          }
        ],
        "additional_prompt": "additional_prompt",
        "additional_tool_ids": [
          "additional_tool_ids"
        ],
        "conversation_config": {
          "asr": {
            "quality": "high",
            "provider": "scribe_realtime",
            "user_input_audio_format": "pcm_16000",
            "keywords": [
              "hello",
              "world"
            ]
          },
          "turn": {
            "turn_timeout": 7,
            "silence_end_call_timeout": -1,
            "turn_eagerness": "normal",
            "spelling_patience": "auto",
            "speculative_turn": false,
            "retranscribe_on_turn_timeout": false,
            "turn_model": "turn_v3",
            "interruption_ignore_terms": [
              "interruption_ignore_terms"
            ],
            "interruption_ignore_term_languages": [
              "interruption_ignore_term_languages"
            ],
            "merge_with_default_ignore_terms": false,
            "transcribe_on_disabled_interruptions": false,
            "soft_timeout_config": {
              "timeout_seconds": -1,
              "message": "Hhmmmm...yeah.",
              "use_llm_generated_message": false
            }
          },
          "tts": {
            "model_id": "eleven_turbo_v2",
            "voice_id": "cjVigY5qzO86Huf0OWal",
            "agent_output_audio_format": "pcm_16000",
            "optimize_streaming_latency": 3,
            "stability": 0.5,
            "speed": 1,
            "similarity_boost": 0.8,
            "pronunciation_dictionary_locators": [
              {
                "pronunciation_dictionary_id": "pronunciation_dictionary_id",
                "version_id": null
              }
            ]
          },
          "conversation": {
            "max_duration_seconds": 600,
            "client_events": [
              "audio",
              "interruption"
            ]
          },
          "agent": {
            "first_message": "Hello, how can I help you today?",
            "language": "en",
            "dynamic_variables": {
              "dynamic_variable_placeholders": {
                "user_name": "John Doe"
              }
            },
            "disable_first_message_interruptions": false,
            "prompt": {
              "prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
              "llm": "gemini-2.0-flash-001",
              "temperature": 0,
              "max_tokens": -1,
              "tool_ids": [
                "tool_ids"
              ],
              "built_in_tools": {
                "transfer_to_agent": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "end_call": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "language_detection": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "transfer_to_number": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "skip_turn": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "play_keypad_touch_tone": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                },
                "voicemail_detection": {
                  "name": "end_call",
                  "params": {
                    "system_tool_type": "end_call"
                  },
                  "type": "system",
                  "description": "",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ]
                }
              },
              "knowledge_base": [
                {
                  "type": "file",
                  "name": "My Knowledge Base",
                  "id": "123",
                  "usage_mode": "auto"
                }
              ],
              "tools": [
                {
                  "type": "api_integration_webhook",
                  "api_integration_connection_id": "api_integration_connection_id",
                  "api_integration_id": "api_integration_id",
                  "assignments": [
                    {
                      "dynamic_variable": "user_name",
                      "value_path": "user.name",
                      "source": "response",
                      "sanitize": false,
                      "preserve_native_type": false
                    }
                  ],
                  "description": "description",
                  "dynamic_variables": {
                    "dynamic_variable_placeholders": {
                      "user_name": "John Doe"
                    }
                  },
                  "execution_mode": "immediate",
                  "interruption_mode": "allow",
                  "name": "name",
                  "pre_tool_speech": "auto",
                  "response_timeout_secs": 1,
                  "tool_call_sound_behavior": "auto",
                  "tool_error_handling_mode": "auto",
                  "tool_version": "tool_version",
                  "disable_interruptions": true,
                  "force_pre_tool_speech": true,
                  "api_schema_overrides": null,
                  "tool_call_sound": null
                }
              ]
            }
          }
        },
        "edge_order": [
          "edge_order"
        ],
        "entry_behavior": "generate_immediately",
        "label": "label",
        "position": {
          "x": 1.1,
          "y": 1.1
        }
      },
      "success_end": {
        "type": "end",
        "edge_order": [
          "edge_order"
        ],
        "outcome": "success",
        "position": {
          "x": 1.1,
          "y": 1.1
        }
      },
      "success_phone": {
        "type": "phone_number",
        "custom_sip_headers": [
          {
            "type": "dynamic",
            "key": "key",
            "value": "value"
          }
        ],
        "edge_order": [
          "edge_order"
        ],
        "position": {
          "x": 1.1,
          "y": 1.1
        },
        "sip_refer_play_dialtone": true,
        "transfer_destination": {
          "type": "phone",
          "phone_number": "phone_number"
        },
        "transfer_type": "blind",
        "post_dial_digits": null,
        "uui": null
      },
      "success_transfer": {
        "type": "standalone_agent",
        "delay_ms": 1,
        "edge_order": [
          "edge_order"
        ],
        "enable_transferred_agent_first_message": true,
        "position": {
          "x": 1.1,
          "y": 1.1
        },
        "preserve_client_tts_overrides": true,
        "preserve_voice_settings": true,
        "agent_id": null,
        "branch_id": null,
        "node_id": null,
        "transfer_message": null
      },
      "tool_node_a": {
        "type": "tool",
        "edge_order": [
          "edge_order"
        ],
        "position": {
          "x": 1.1,
          "y": 1.1
        },
        "tools": [
          {
            "tool_id": "tool_id"
          }
        ]
      },
      "tool_node_b": {
        "type": "tool",
        "edge_order": [
          "edge_order"
        ],
        "position": {
          "x": 1.1,
          "y": 1.1
        },
        "tools": [
          {
            "tool_id": "tool_id"
          }
        ]
      }
    },
    "prevent_subagent_loops": false
  },
  "access_info": {
    "is_creator": true,
    "creator_name": "John Doe",
    "creator_email": "john.doe@example.com",
    "role": "admin",
    "anonymous_access_level_override": "admin",
    "access_source": "creator"
  },
  "tags": [
    "tags"
  ],
  "version_id": "version_id",
  "branch_id": "branch_id",
  "main_branch_id": "main_branch_id",
  "procedures": {
    "key": {
      "procedure_id": "agtprc_6qbpwdq8n01bxhk44bgjy6f10ck3",
      "version_id": "agtprcv_7rbqxer9o12cyxi55ckw6sgz1dl4",
      "name": "Customer Support Procedure",
      "type": "free_form",
      "trigger": "When the customer asks for support",
      "referenced_tool_ids": [
        "tool_123"
      ],
      "referenced_kb_ids": [
        "kb_123"
      ],
      "referenced_procedure_ids": [
        "agtprc_other"
      ],
      "referenced_dynamic_variables": [
        "customer_id"
      ],
      "folder_parent_id": "folder_parent_id"
    }
  },
  "default_hold_audio_url": "default_hold_audio_url",
  "overridden_fields": [
    "overridden_fields"
  ],
  "conflicts": [
    {
      "path": "path",
      "section": "conversation_config",
      "base_value": {
        "key": "value"
      },
      "source_value": {
        "key": "value"
      },
      "target_value": {
        "key": "value"
      }
    }
  ],
  "source_identical_to_target": true
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbrch_8901k4t9z5defmb8vh3e9361y7nj/merge-preview"

querystring = {"force":"true","include_procedure_generated_workflow_elements":"true","target_branch_id":"agtbrch_8901k4t9z5defmb8vh3e9361y7nj"}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbrch_8901k4t9z5defmb8vh3e9361y7nj/merge-preview?force=true&include_procedure_generated_workflow_elements=true&target_branch_id=agtbrch_8901k4t9z5defmb8vh3e9361y7nj';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbrch_8901k4t9z5defmb8vh3e9361y7nj/merge-preview?force=true&include_procedure_generated_workflow_elements=true&target_branch_id=agtbrch_8901k4t9z5defmb8vh3e9361y7nj"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbrch_8901k4t9z5defmb8vh3e9361y7nj/merge-preview?force=true&include_procedure_generated_workflow_elements=true&target_branch_id=agtbrch_8901k4t9z5defmb8vh3e9361y7nj")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbrch_8901k4t9z5defmb8vh3e9361y7nj/merge-preview?force=true&include_procedure_generated_workflow_elements=true&target_branch_id=agtbrch_8901k4t9z5defmb8vh3e9361y7nj")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbrch_8901k4t9z5defmb8vh3e9361y7nj/merge-preview?force=true&include_procedure_generated_workflow_elements=true&target_branch_id=agtbrch_8901k4t9z5defmb8vh3e9361y7nj');

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbrch_8901k4t9z5defmb8vh3e9361y7nj/merge-preview?force=true&include_procedure_generated_workflow_elements=true&target_branch_id=agtbrch_8901k4t9z5defmb8vh3e9361y7nj");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/branches/agtbrch_8901k4t9z5defmb8vh3e9361y7nj/merge-preview?force=true&include_procedure_generated_workflow_elements=true&target_branch_id=agtbrch_8901k4t9z5defmb8vh3e9361y7nj")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```