> 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.

# Simuliert eine Konversation

POST https://api.elevenlabs.io/v1/convai/agents/{agent_id}/simulate-conversation
Content-Type: application/json

Veraltet. Dieser Endpunkt wird am 31. Okt. 2026 entfernt. Verwenden Sie die Endpunkte `/v1/convai/agent-testing/create` und `/v1/convai/agents/:agent_id/run-tests`, um Simulationen zu erstellen und auszuführen. Führen Sie ein Gespräch zwischen dem Agenten und einem simulierten Nutzer.

Reference: https://elevenlabs.io/docs/api-reference/agents/simulate-conversation

## 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) — Die ID eines Agenten. Sie wird beim Erstellen des Agenten zurückgegeben.

### Body (application/json)

This endpoint expects a Body_Simulates_a_conversation_v1_convai_agents__agent_id__simulate_conversation_post.

- `simulation_specification` (ConversationSimulationSpecification, required) — Eine Spezifikation, die beschreibt, wie das Gespräch simuliert werden soll
- `extra_evaluation_criteria` (list of PromptEvaluationCriteria, optional, nullable) — Eine Liste der zu testenden Bewertungskriterien
- `new_turns_limit` (integer, optional, default: 100) — Maximale Anzahl neuer Gesprächswechsel, die in der Gesprächssimulation generiert werden sollen

## Response

### 200

Erfolgreiche Antwort

- `simulated_conversation` (list of ConversationHistoryTranscriptResponseModel, required)
- `analysis` (ConversationHistoryAnalysisCommonModel, required)

## Errors

### 422 Unprocessable Entity Error

Validierungsfehler

- `detail` (list of ValidationError, optional)

## Types

### ConversationSimulationSpecification

Eine Spezifikation, die zur Simulation eines Gesprächs zwischen einem Agenten und einem KI-Benutzer verwendet wird.

- `simulated_user_config` (AgentConfigAPIModel-Input, required)
- `tool_mock_config` (map from string to ToolMockConfig, optional)
- `partial_conversation_history` (list of ConversationHistoryTranscriptCommonModel-Input, optional) — Ein Teil des Gesprächsverlaufs, mit dem die Simulation gestartet wird. Wenn leer, startet die Simulation neu.
- `dynamic_variables` (map from string to any, optional)

### PromptEvaluationCriteria

Eine Auswertung mit dem Transkript und einem Prompt für eine Ja/Nein-Antwort zum Erfolg

- `id` (string, required) — Die eindeutige Kennung für die Bewertungskriterien
- `name` (string, required)
- `conversation_goal_prompt` (string, required) — Der Prompt, den der Agent zur Bewertung des Gesprächs verwenden soll
- `type` ("prompt", optional, default: prompt) — Der Typ der Bewertungskriterien
- `use_knowledge_base` (boolean, optional, default: false) — Gibt an, ob beim Auswerten des Prompts die Wissensdatenbank des Agenten verwendet werden soll.
- `scope` (enum, optional, default: conversation) — Der Umfang des Transkriptkontexts, der zur Bewertung dieses Kriteriums verwendet wird. 'conversation' verwendet das vollständige Transkript; 'agent' verwendet nur den Abschnitt, in dem der definierende Agent aktiv war.
  - Allowed values: `conversation`, `agent`
- `llm` (enum, optional, nullable) — LLM-Modell für dieses Bewertungskriterium. Wenn nicht festgelegt, wird der Standardwert analysis_llm des Agenten verwendet.
  - 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) — Wie dieses Kriterium bewertet wird. 'binary' ergibt Erfolg/Fehlschlag/unbekannt. 'numeric_uniform' gibt eine Zahl auf der Skala [0, max_score] zurück, die in den aggregierten Erfolgssatz der Unterhaltung normalisiert wird.
  - Allowed values: `binary`, `numeric_uniform`
- `max_score` (integer, optional, default: 100) — Maximalwert der numerischen Bewertungsskala (der Mindestwert ist immer 0). Wird nur verwendet, wenn scoring_mode auf 'numeric_uniform' gesetzt ist.
- `score_instructions` (string, optional, nullable) — Optionale Freitextanweisungen zur Zuordnung von Werten auf der numerischen Skala. Wird nur verwendet, wenn scoring_mode den Wert 'numeric_uniform' hat.

### ConversationHistoryTranscriptResponseModel

- `role` (enum, required)
  - Allowed values: `user`, `agent`
- `time_in_call_secs` (integer, required)
- `agent_metadata` (AgentMetadata, optional, nullable)
- `message` (string, optional, nullable)
- `multivoice_message` (ConversationHistoryMultivoiceMessageModel, optional, nullable) — Repräsentiert eine Nachricht eines Multi-Voice-Agenten.
- `tool_calls` (list of ConversationHistoryTranscriptToolCallCommonModel-Output, optional)
- `tool_results` (list of ConversationHistoryTranscriptResponseModelToolResultsItems, optional)
- `feedback` (UserFeedback, optional, nullable)
- `llm_override` (string, optional, nullable)
- `producing_llm` (string, optional, nullable)
- `conversation_turn_metrics` (ConversationTurnMetrics, optional, nullable)
- `rag_retrieval_info` (RagRetrievalInfo, optional, nullable)
- `llm_usage` (LLMUsage-Output, optional, nullable)
- `interrupted` (boolean, optional, default: false)
- `ignored_as_backchannel` (boolean, optional, default: false)
- `platform_event` (enum, optional, nullable)
  - Allowed values: `user_turn_timeout`, `skip_turn_wait_elapsed`
- `original_message` (string, optional, nullable)
- `reasoning` (list of ConversationReasoningModel, optional)
- `source_medium` (enum, optional, nullable)
  - Allowed values: `audio`, `dtmf`, `text`, `image`, `file`
- `source_event_id` (integer, optional, nullable)
- `used_static_kb_document_ids` (list of string, optional)
- `user_identifier` (string, optional, nullable)
- `id` (string, optional, nullable)
- `triggered_guardrails` (list of TriggeredGuardrailCommonModel, optional)
- `file_input` (ConversationHistoryTranscriptFileInputResponseModel, optional, nullable) — Veraltet: der erste Anhang in diesem Turn. Verwenden Sie `file_inputs`, um alle Anhänge anzuzeigen.
- `file_inputs` (list of ConversationHistoryTranscriptFileInputResponseModel, optional) — Alle an diesen Turn angehängten Dateien in der Reihenfolge, in der der Nutzer sie angehängt hat.
- `contextual_update_info` (ContextualUpdateInfo, optional, nullable)
- `reasoned` (boolean, optional, default: false)

### ConversationHistoryAnalysisCommonModel

- `call_successful` (enum, required)
  - Allowed values: `success`, `failure`, `unknown`
- `transcript_summary` (string, required)
- `evaluation_criteria_results` (map from string to ConversationHistoryEvaluationCriteriaResultCommonModel, optional)
- `data_collection_results` (map from string to DataCollectionResultCommonModel, optional)
- `evaluation_criteria_results_list` (list of ConversationHistoryEvaluationCriteriaResultCommonModel, optional)
- `data_collection_results_list` (list of DataCollectionResultCommonModel, optional)
- `call_success_score` (double, optional, nullable)
- `call_summary_title` (string, optional, nullable)
- `scoped` (list of ScopedAnalysisResult, optional)

### ValidationError

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

### AgentConfigAPIModel-Input

- `first_message` (string, optional, default: ) — Wenn nicht leer, die erste Nachricht, die der Agent sagt. Wenn leer, wartet der Agent, bis der Nutzer die Unterhaltung beginnt.
- `language` (string, optional, default: en) — Sprache des Agenten – verwendet für ASR und TTS
- `hinglish_mode` (boolean, optional, default: false) — Wenn aktiviert, mischt der Agent englische Wörter und Ausdrücke in Antworten auf Hindi, Malayalam, Telugu oder Kannada.
- `dynamic_variables` (any, optional) — Konfiguration für dynamische Variablen
- `disable_first_message_interruptions` (boolean, optional, default: false) — Wenn true, kann der Nutzer den Agenten nicht unterbrechen, während die erste Nachricht übermittelt wird.
- `max_conversation_duration_message` (string, optional, default: ) — Wenn nicht leer, die Nachricht, die der Agent sendet, wenn die maximale Gesprächsdauer erreicht ist.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional, nullable) — Überschreibungen des Antwortverhaltens pro Kanal für Textunterhaltungen. Wenn nicht festgelegt, gelten die integrierten Kanalstandards.
- `prompt` (PromptAgentAPIModel-Input, optional) — Der Prompt für den Agenten

### ToolMockConfig

- `default_return_value` (string, optional, default: Tool Called.)
- `default_is_error` (boolean, optional, default: false)

### ConversationHistoryTranscriptCommonModel-Input

- `role` (enum, required)
  - Allowed values: `user`, `agent`
- `time_in_call_secs` (integer, required)
- `agent_metadata` (AgentMetadata, optional, nullable)
- `message` (string, optional, nullable)
- `multivoice_message` (ConversationHistoryMultivoiceMessageModel, optional, nullable) — Repräsentiert eine Nachricht eines Multi-Voice-Agenten.
- `tool_calls` (list of ConversationHistoryTranscriptToolCallCommonModel-Input, optional)
- `tool_results` (list of ConversationHistoryTranscriptCommonModelInputToolResultsItems, optional)
- `feedback` (UserFeedback, optional, nullable)
- `llm_override` (string, optional, nullable)
- `producing_llm` (string, optional, nullable)
- `conversation_turn_metrics` (ConversationTurnMetrics, optional, nullable)
- `rag_retrieval_info` (RagRetrievalInfo, optional, nullable)
- `llm_usage` (LLMUsage-Input, optional, nullable)
- `interrupted` (boolean, optional, default: false)
- `ignored_as_backchannel` (boolean, optional, default: false)
- `platform_event` (enum, optional, nullable)
  - Allowed values: `user_turn_timeout`, `skip_turn_wait_elapsed`
- `original_message` (string, optional, nullable)
- `reasoning` (list of ConversationReasoningModel, optional)
- `source_medium` (enum, optional, nullable)
  - Allowed values: `audio`, `dtmf`, `text`, `image`, `file`
- `source_event_id` (integer, optional, nullable)
- `used_static_kb_document_ids` (list of string, optional)
- `user_identifier` (string, optional, nullable)
- `id` (string, optional, nullable)
- `triggered_guardrails` (list of TriggeredGuardrailCommonModel, optional)

### AgentMetadata

- `agent_id` (string, required)
- `branch_id` (string, optional, nullable)
- `workflow_node_id` (string, optional, nullable)
- `version_id` (string, optional, nullable)

### ConversationHistoryMultivoiceMessageModel

Repräsentiert eine Nachricht eines Multi-Voice-Agenten.

- `parts` (list of ConversationHistoryMultivoiceMessagePartModel, required)

### ConversationHistoryTranscriptToolCallCommonModel-Output

- `request_id` (string, required)
- `tool_name` (string, required)
- `params_as_json` (string, required)
- `tool_has_been_called` (boolean, required)
- `type` (enum, optional, nullable)
  - Allowed values: `system`, `webhook`, `client`, `mcp`, `workflow`, `api_integration_webhook`, `api_integration_mcp`, `smb`
- `tool_id` (string, optional, nullable) — ID des aufgerufenen Tools. Für Tools ohne ID, etwa Systemtools, nicht festgelegt.
- `tool_details` (ConversationHistoryTranscriptToolCallCommonModelOutputToolDetails, optional, nullable)

### ConversationHistoryTranscriptResponseModelToolResultsItems

### UserFeedback

- `score` (enum, required)
  - Allowed values: `like`, `dislike`
- `time_in_call_secs` (integer, required)

### ConversationTurnMetrics

- `metrics` (map from string to MetricRecord, optional)
- `convai_asr_provider` (string, optional, nullable)
- `convai_tts_model` (string, optional, nullable)
- `convai_tts_cascade` (string, optional, nullable)
- `voice_id` (string, optional, nullable)

### RagRetrievalInfo

- `chunks` (list of RagChunkMetadata, required)
- `embedding_model` (enum, required, default: e5_mistral_7b_instruct)
  - Allowed values: `e5_mistral_7b_instruct`, `multilingual_e5_large_instruct`
- `retrieval_query` (string, required)
- `rag_latency_secs` (double, required)
- `used_chunk_ids` (list of string, optional)

### LLMUsage-Output

- `model_usage` (map from string to LLMInputOutputTokensUsage, optional)

### ConversationReasoningModel

- `summary` (string, optional, nullable)
- `provider_redact` (boolean, optional, default: false)

### TriggeredGuardrailCommonModel

- `guardrail_type` (enum, required)
  - Allowed values: `custom`, `prompt_injection`, `self_harm_intent`, `violence_graphic`, `sexual`, `violence`, `harassment`, `sexual_minors`, `self_harm`, `self_harm_instructions`, `harassment_threatening`, `hate`, `hate_threatening`, `profanity`, `religion_or_politics`, `medical_and_legal`, `guardrail`
- `guardrail_name` (string, optional, nullable)

### ConversationHistoryTranscriptFileInputResponseModel

- `file_id` (string, required)
- `original_filename` (string, required)
- `mime_type` (string, required)
- `file_url` (string, required)

### ContextualUpdateInfo

- `context_id` (string, required) — Vom Client bereitgestellter Identifier zur Gruppierung zusammengehöriger Kontextaktualisierungen.
- `is_superseded` (boolean, optional, default: false) — True, wenn diese kontextbezogene Aktualisierung durch eine neuere Aktualisierung mit derselben context_id ersetzt wurde.

### ConversationHistoryEvaluationCriteriaResultCommonModel

- `criteria_id` (string, required)
- `result` (enum, required)
  - Allowed values: `success`, `failure`, `unknown`
- `rationale` (string, required)
- `scoring_mode` (enum, optional, nullable, default: binary)
  - Allowed values: `binary`, `numeric_uniform`
- `score` (integer, optional, nullable)
- `max_score` (integer, optional, nullable)

### DataCollectionResultCommonModel

- `data_collection_id` (string, required)
- `rationale` (string, required)
- `name` (string, optional, nullable)
- `value` (any, optional)
- `json_schema` (LiteralJsonSchemaProperty, optional, nullable) — Schema-Eigenschaft für literale JSON-Typen. WICHTIG: Es kann nur EINES der folgenden Felder festgelegt werden: description (LLM liefert Wert), dynamic_variable (Wert aus Variable), is_system_provided (System liefert Wert), constant_value (fester Wert) oder is_omitted (Parameter wird ausgelassen). Diese schließen sich gegenseitig aus.

### ScopedAnalysisResult

- `scope` (enum, required, default: conversation) — Der Umfang der Analyse. 'conversation' verwendet das vollständige Transkript; 'agent' verwendet nur den Abschnitt, in dem der definierende Agent aktiv war.
  - Allowed values: `conversation`, `agent`
- `source_agent_id` (string, required)
- `successful` (enum, required)
  - Allowed values: `success`, `failure`, `unknown`
- `source_branch_id` (string, optional, nullable) — Branch des Agents für diesen Bereich; unterscheidet wiederholte agent_id.
- `evaluation_criteria_results` (map from string to ConversationHistoryEvaluationCriteriaResultCommonModel, optional)
- `data_collection_results` (map from string to DataCollectionResultCommonModel, optional)
- `success_score` (double, optional, nullable)

### ValidationErrorLocItems

### BehaviorOverride

- `verbosity` (enum, optional, nullable) — Überschreibung der Ausführlichkeit. Wenn nicht festgelegt, gilt der zugrunde liegende Standardwert.
  - Allowed values: `auto`, `concise`, `thorough`
- `output_format` (enum, optional, nullable) — Überschreibung des Ausgabeformats. Wenn nicht festgelegt, gilt der zugrunde liegende Standardwert.
  - 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, nullable) — Überschreibung des Interaktionsbudgets. Wenn nicht gesetzt, gilt der zugrunde liegende Standardwert.
  - Allowed values: `realtime`, `5_minutes`, `10_minutes`, `1_hour`

### PromptAgentAPIModel-Input

- `prompt` (string, optional, default: ) — Der Prompt für den Agenten
- `llm` (enum, optional) — Das LLM, das mit dem Prompt und dem Chatverlauf abgefragt wird. Bei Verwendung von Datenresidenz muss das LLM in der Datenresidenzumgebung unterstützt werden.
  - 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, nullable) — Reasoning-Aufwand des Modells. Nur für einige Modelle verfügbar.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional, nullable) — Maximale Anzahl der für das Denken verwendeten Token. Verwenden Sie 0 zum Deaktivieren, falls das Modell dies unterstützt.
- `enable_reasoning_summary` (boolean, optional, default: false) — Aktiviert Zusammenfassungen der Modellüberlegungen. Wenn deaktiviert, fordern wir nach Möglichkeit keine Zusammenfassungen vom Anbieter an, um eine schnellere TTFB zu erreichen. Nicht ZRM-kompatibel.
- `temperature` (double, optional, nullable, default: 0) — Die Temperatur für das LLM. Der Standardwert ist 0. Setzen Sie den Wert auf null, um den Parameter vollständig aus der LLM-Anfrage auszuschließen. Das ist für benutzerdefinierte LLMs nützlich, die das Feld temperature ablehnen.
- `max_tokens` (integer, optional, default: -1) — Wenn größer als 0: maximale Anzahl an Tokens, die das LLM vorhersagen kann
- `tool_ids` (list of string, optional) — Eine Liste der IDs von Tools, die der Agent verwendet
- `tool_ids_strict` (boolean, optional, default: false) — Gilt nur als Überschreibung für eine Unterhaltung und ist zulässig, wenn tool_ids überschrieben werden dürfen. Wenn true, enthält die überschreibende tool_ids die vollständige Liste der in der Unterhaltung erlaubten Tools, einschließlich der Tools in Workflow-Knoten. Wird ignoriert, wenn es für den Agenten festgelegt ist.
- `built_in_tools` (BuiltInTools-Input, optional) — Integrierte System-Tools, die vom Agent verwendet werden
- `enable_parallel_tool_calls` (boolean, optional, default: true) — Aktiviert parallele Tool-Aufrufe. Wenn aktiviert, kann der Agent mehrere Tools innerhalb eines einzelnen Turns parallel ausführen. Nicht von allen Modellen unterstützt.
- `mcp_server_ids` (list of string, optional) — Eine Liste der MCP-Server-IDs, die der Agent verwenden soll
- `native_mcp_server_ids` (list of string, optional) — Eine Liste der nativen MCP-Server-IDs, die der Agent verwenden soll
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — Eine Liste der Wissensdatenbanken, die der Agent verwenden soll
- `custom_llm` (CustomLLM, optional, nullable) — Definition für ein benutzerdefiniertes LLM, wenn das LLM-Feld auf 'CUSTOM_LLM' gesetzt ist
- `ignore_default_personality` (boolean, optional, nullable, default: true) — Ob die standardmäßigen Persönlichkeitszeilen aus dem System-Prompt entfernt werden sollen
- `rag` (RagConfig-Input, optional) — Konfiguration für RAG
- `timezone` (string, optional, nullable) — Zeitzone zur Anzeige der aktuellen Zeit im System-Prompt. Wenn festgelegt, wird die aktuelle Zeit in dieser Zeitzone in den System-Prompt aufgenommen. Muss ein gültiger Zeitzonenname sein, z. B. 'America/New_York', 'Europe/London' oder 'UTC'. Für präzise zeitbezogene Antworten empfohlen. Andernfalls kennt der Agent das aktuelle Datum und die Uhrzeit nicht, sofern Sie diese nicht über dynamische Variablen oder Tools bereitstellen. Das kann zu falschen oder halluzinierten Zeitangaben führen.
- `backup_llm_config` (PromptAgentApiModelInputBackupLlmConfig, optional) — Konfiguration für die Kaskadierung von Backup-LLMs. Kann deaktiviert sein, Systemstandards verwenden oder eine benutzerdefinierte Reihenfolge festlegen.
- `cascade_timeout_seconds` (double, optional, default: 4) — Zeit in Sekunden, bevor auf das Backup-LLM gewechselt wird. Muss zwischen 2 und 15 Sekunden liegen.
- `tools` (list of PromptAgentApiModelInputToolsItems, optional, deprecated) — Eine Liste von Tools, die der Agent während des Gesprächs verwenden kann. Verwenden Sie stattdessen tool_ids.

### ConversationHistoryTranscriptToolCallCommonModel-Input

- `request_id` (string, required)
- `tool_name` (string, required)
- `params_as_json` (string, required)
- `tool_has_been_called` (boolean, required)
- `type` (enum, optional, nullable)
  - Allowed values: `system`, `webhook`, `client`, `mcp`, `workflow`, `api_integration_webhook`, `api_integration_mcp`, `smb`
- `tool_id` (string, optional, nullable) — ID des aufgerufenen Tools. Für Tools ohne ID, etwa Systemtools, nicht festgelegt.
- `tool_details` (ConversationHistoryTranscriptToolCallCommonModelInputToolDetails, optional, nullable)

### ConversationHistoryTranscriptCommonModelInputToolResultsItems

### LLMUsage-Input

- `model_usage` (map from string to LLMInputOutputTokensUsage, optional)

### ConversationHistoryMultivoiceMessagePartModel

Repräsentiert einen einzelnen Stimmanteil einer Multi-Voice-Nachricht.

- `text` (string, required)
- `voice_label` (string, required, nullable)
- `time_in_call_secs` (integer, required, nullable)

### ConversationHistoryTranscriptToolCallCommonModelOutputToolDetails

- `type`: `api_integration_webhook` (ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails)
  - `credential_id` (string, required, default: )
  - `integration_connection_id` (string, required, default: )
  - `integration_id` (string, required, default: )
  - `webhook_details` (ConversationHistoryTranscriptToolCallWebhookDetails, required)
- `type`: `client` (ConversationHistoryTranscriptToolCallClientDetails)
  - `parameters` (string, required)
- `type`: `mcp` (ConversationHistoryTranscriptToolCallMCPDetails)
  - `approval_policy` (string, required)
  - `integration_type` (string, required)
  - `mcp_server_id` (string, required)
  - `mcp_server_name` (string, required)
  - `mcp_tool_description` (string, optional, default: )
  - `mcp_tool_name` (string, optional, default: )
  - `parameters` (map from string to string, optional)
  - `requires_approval` (boolean, optional, default: false)
- `type`: `webhook` (ConversationHistoryTranscriptToolCallWebhookDetails)
  - `method` (string, required)
  - `url` (string, required)
  - `body` (string, optional, nullable)
  - `headers` (map from string to string, optional)
  - `path_params` (map from string to string, optional)
  - `query_params` (map from string to string, optional)

### ConversationHistoryTranscriptOtherToolsResultCommonModel

- `request_id` (string, required)
- `tool_name` (string, required)
- `result_value` (string, required)
- `is_error` (boolean, required)
- `tool_has_been_called` (boolean, required)
- `is_blocked` (boolean, optional, default: false)
- `tool_latency_secs` (double, optional, default: 0)
- `error_type` (string, optional, default: )
- `raw_error_message` (string, optional, default: )
- `dynamic_variable_updates` (list of DynamicVariableUpdateCommonModel, optional)
- `type` (enum, optional, nullable)
  - Allowed values: `client`, `webhook`, `mcp`, `code`

### ConversationHistoryTranscriptSystemToolResultCommonModel-Output

- `request_id` (string, required)
- `tool_name` (string, required)
- `result_value` (string, required)
- `is_error` (boolean, required)
- `tool_has_been_called` (boolean, required)
- `type` ("system", required)
- `is_blocked` (boolean, optional, default: false)
- `tool_latency_secs` (double, optional, default: 0)
- `error_type` (string, optional, default: )
- `raw_error_message` (string, optional, default: )
- `dynamic_variable_updates` (list of DynamicVariableUpdateCommonModel, optional)
- `result` (ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult, optional, nullable)

### ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Output

- `request_id` (string, required)
- `tool_name` (string, required)
- `result_value` (string, required)
- `is_error` (boolean, required)
- `is_blocked` (boolean, required, default: false)
- `tool_has_been_called` (boolean, required)
- `tool_latency_secs` (double, required, default: 0)
- `error_type` (string, required, default: )
- `raw_error_message` (string, required, default: )
- `dynamic_variable_updates` (list of DynamicVariableUpdateCommonModel, required)
- `type` ("api_integration_webhook", required)
- `integration_id` (string, required, default: )
- `credential_id` (string, required, default: )
- `integration_connection_id` (string, required, default: )

### ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Output

- `request_id` (string, required)
- `tool_name` (string, required)
- `result_value` (string, required)
- `is_error` (boolean, required)
- `tool_has_been_called` (boolean, required)
- `type` ("workflow", required)
- `is_blocked` (boolean, optional, default: false)
- `tool_latency_secs` (double, optional, default: 0)
- `error_type` (string, optional, default: )
- `raw_error_message` (string, optional, default: )
- `dynamic_variable_updates` (list of DynamicVariableUpdateCommonModel, optional)
- `result` (WorkflowToolResponseModel-Output, optional, nullable) — Ein gemeinsames Modell für Antworten von Workflow-Tools.

### MetricRecord

- `elapsed_time` (double, required)

### RagChunkMetadata

- `document_id` (string, required)
- `chunk_id` (string, required)
- `vector_distance` (double, required)

### LLMInputOutputTokensUsage

- `input` (LLMTokensCategoryUsage, optional)
- `input_cache_read` (LLMTokensCategoryUsage, optional)
- `input_cache_write` (LLMTokensCategoryUsage, optional)
- `output_total` (LLMTokensCategoryUsage, optional)

### LiteralJsonSchemaProperty

Schema-Eigenschaft für literale JSON-Typen. WICHTIG: Es kann nur EINES der folgenden Felder festgelegt werden: description (LLM liefert Wert), dynamic_variable (Wert aus Variable), is_system_provided (System liefert Wert), constant_value (fester Wert) oder is_omitted (Parameter wird ausgelassen). Diese schließen sich gegenseitig aus.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — Die Beschreibung der Eigenschaft. Wenn festgelegt, stellt das LLM den Wert anhand dieser Beschreibung bereit. Nicht gleichzeitig mit dynamic_variable, is_system_provided, constant_value und is_omitted verwendbar.
- `enum` (list of string, optional, nullable) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Wenn true, wird der Wert vom System zur Laufzeit ausgefüllt. Wird von API-Integration-Webhook-Tools für Vorlagen verwendet. Schließt sich gegenseitig mit description, dynamic_variable, constant_value und is_omitted aus.
- `dynamic_variable` (string, optional, default: ) — Der Name der dynamischen Variable, die für den Wert dieser Eigenschaft verwendet werden soll. Kann nicht zusammen mit description, is_system_provided, constant_value und is_omitted verwendet werden.
- `allowed_values` (AllowedValues, optional, nullable) — Serverseitige Ablehnungsprüfung für einen von der LLM bereitgestellten Wert: Die Laufzeit lehnt jeden Wert außerhalb der von diesem Objekt benannten zulässigen Menge ab. Die Menge wird der LLM nicht als Enum mitgeteilt. Wird nur unterstützt, wenn die Wertquelle `description` ist; eine Kombination mit dynamic_variable, is_system_provided, constant_value oder is_omitted wird abgelehnt.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional, nullable, default: ) — Ein konstanter Wert für diese Eigenschaft. Schließt sich gegenseitig mit description, dynamic_variable, is_system_provided und is_omitted aus.
- `is_omitted` (boolean, optional, default: false) — Wenn true, wird dieser Parameter vollständig aus der Anfrage weggelassen. Nur für optionale Parameter gültig. Schließt sich gegenseitig mit description, dynamic_variable, is_system_provided und constant_value aus.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — VERALTET: Verwenden Sie stattdessen `allowed_values`. Wenn festgelegt, liefert das LLM den Wert, aber die Laufzeitumgebung lehnt jeden Wert ab, der nicht in der Liste dieser dynamischen Variable enthalten ist (muss ein JSON-Array wie ["ws_alpha", "ws_beta"] sein). Verwenden Sie dies, damit das LLM aus einer serverseitig verifizierten Menge auswählen kann (z. B. den IDs, auf die der aktuelle Benutzer zugreifen darf). Erfordert description; schließt sich gegenseitig mit dynamic_variable, is_system_provided, constant_value und is_omitted aus.

### BuiltInTools-Input

Systemtools, die einem Conversational Agent bereitgestellt werden können. Absichtlich nicht ConversationalBuiltInTools genannt: BuiltInToolsInput und BuiltInToolsOutput sind Teil der öffentlichen API-Spezifikation und der generierten SDKs.

- `transfer_to_agent` (SystemToolConfig, optional, nullable) — Das Tool zum Weiterleiten an einen Agenten
- `end_call` (SystemToolConfig, optional, nullable) — Das Tool zum Beenden des Anrufs
- `language_detection` (SystemToolConfig, optional, nullable) — Das Tool zur Spracherkennung
- `transfer_to_number` (SystemToolConfig, optional, nullable) — Das Tool zum Weiterleiten an eine Nummer
- `skip_turn` (SystemToolConfig, optional, nullable) — Das Tool zum Überspringen eines Gesprächszugs
- `play_keypad_touch_tone` (SystemToolConfig, optional, nullable) — Das DTMF-Wiedergabetool
- `voicemail_detection` (SystemToolConfig, optional, nullable) — Das Tool zur Mailbox-Erkennung

### KnowledgeBaseLocator

- `type` (enum, required) — Der Typ der Wissensdatenbank
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — Der Name der Wissensdatenbank
- `id` (string, required) — Die ID der Wissensdatenbank
- `usage_mode` (enum, optional, default: auto) — Der Nutzungsmodus der Wissensdatenbank
  - Allowed values: `prompt`, `auto`

### CustomLLM

- `url` (string, required) — Die URL des mit Chat Completions kompatiblen Endpunkts
- `model_id` (string, optional, nullable) — Die zu verwendende Modell-ID, wenn die URL mehrere Modelle bereitstellt
- `api_key` (CustomLlmApiKey, optional, nullable) — Der API-Schlüssel zur Authentifizierung. Entweder eine Arbeitsbereichs-Secret-Referenz \{'secret\_id': '...'} oder eine Umgebungsvariablen-Referenz \{'env\_var\_label': '...'}.
- `auth_connection` (CustomLlmAuthConnection, optional, nullable) — Optionale Workspace-Authentifizierungsverbindung. Es werden nur Authentifizierungsverbindungen unterstützt, die ein Authorization-Bearer-Token erzeugen. Basic Auth, mTLS, benutzerdefinierte Header und URL-Secret-Authentifizierungsverbindungen werden nicht unterstützt.
- `request_headers` (map from string to CustomLlmRequestHeaders, optional) — Header, die in die Anfrage aufgenommen werden sollen
- `api_version` (string, optional, nullable) — Die für die Anfrage zu verwendende API-Version
- `api_type` (enum, optional, default: chat_completions) — Der zu verwendende API-Typ (chat_completions, responses oder websocket)
  - Allowed values: `chat_completions`, `responses`, `websocket`

### RagConfig-Input

- `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) — Maximale Vektordistanz abgerufener Chunks.
- `max_documents_length` (integer, optional, default: 50000) — Maximale Gesamtlänge der von RAG abgerufenen Dokument-Chunks.
- `max_retrieved_rag_chunks_count` (integer, optional, default: 20) — Maximale Anzahl von RAG-Dokument-Chunks, die zunächst aus dem Vektorspeicher abgerufen werden. Diese werden anschließend nach Vektordistanz und Gesamtlänge weiter gefiltert.
- `num_candidates` (integer, optional, nullable) — Anzahl der in der ANN-Vektorsuche bewerteten Kandidaten. Eine höhere Anzahl liefert bessere Ergebnisse, erhöht aber die Latenz. Der empfohlene Mindestwert beträgt 100. Wenn deaktiviert, wird der Standardwert verwendet.
- `query_rewrite_prompt_override` (string, optional, nullable) — Benutzerdefinierter Prompt zum Umschreiben von Benutzeranfragen vor dem RAG-Abruf. Der Gesprächsverlauf wird automatisch am Ende angehängt. Wenn nicht festgelegt, wird der Standard-Prompt verwendet.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional, nullable) — Wenn festgelegt, verwendet der Agent das Tool knowledge_base statt des veralteten Tools knowledge_base_rag. None bedeutet, dass der Agent nicht aktiviert ist.

### PromptAgentApiModelInputBackupLlmConfig

Konfiguration für die Kaskadierung von Backup-LLMs. Kann deaktiviert sein, Systemstandards verwenden oder eine benutzerdefinierte Reihenfolge festlegen.

- `preference`: `default` (BackupLLMDefault)
- `preference`: `disabled` (BackupLLMDisabled)
- `preference`: `override` (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`

### PromptAgentApiModelInputToolsItems

Der Tool-Typ

- `type`: `api_integration_webhook` (ApiIntegrationWebhookToolConfig)
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `description` (string, required) — Beschreibung, wann das Tool verwendet werden soll und was es tut.
  - `name` (string, required)
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, optional, nullable) — Nutzerüberschreibungen, die zusätzlich zu api_schema angewendet werden
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration zum Extrahieren von Werten aus Tool-Antworten und Zuweisen zu dynamischen Variablen
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Konfiguration für dynamische Variablen
  - `execution_mode` (enum, optional, default: immediate) — Legt fest, wann und wie das Tool ausgeführt wird: 'immediate' führt das Tool sofort aus, wenn das LLM es anfordert, 'post_tool_speech' wartet, bis der Agent zu Ende gesprochen hat, und 'async' führt das Tool im Hintergrund ohne Blockierung aus – ideal für lang laufende Vorgänge.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, optional, default: allow) — Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Die maximale Wartezeit in Sekunden für den Abschluss des Tool-Aufrufs. Muss zwischen 5 und 300 Sekunden liegen, einschließlich.
  - `tool_call_sound` (enum, optional, nullable) — Vordefinierter Tool-Aufruf-Soundtyp, der während der Tool-Ausführung abgespielt wird. Wenn nicht angegeben, wird kein Tool-Aufruf-Sound abgespielt.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Legt fest, wann der Ton für Tool-Aufrufe abgespielt werden soll. 'auto' spielt ihn nur ab, wenn vor dem Tool-Aufruf gesprochen wird; 'always' spielt ihn bei jedem Tool-Aufruf ab.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, optional, default: 1.0.0) — Die Version des API-Integrationstools
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `interruption_mode`. Bei true kann der Benutzer den Agenten nicht unterbrechen, während dieses Tool ausgeführt wird.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `pre_tool_speech`. Bei true spricht der Agent vor dem Tool-Aufruf.
- `type`: `client` (ClientToolConfig)
  - `description` (string, required) — Beschreibung, wann das Tool verwendet werden soll und was es tut.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration zum Extrahieren von Werten aus Tool-Antworten und Zuweisen zu dynamischen Variablen
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Konfiguration für dynamische Variablen
  - `execution_mode` (enum, optional, default: immediate) — Legt fest, wann und wie das Tool ausgeführt wird: 'immediate' führt das Tool sofort aus, wenn das LLM es anfordert, 'post_tool_speech' wartet, bis der Agent zu Ende gesprochen hat, und 'async' führt das Tool im Hintergrund ohne Blockierung aus – ideal für lang laufende Vorgänge.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Wenn true, soll der Aufruf dieses Tools die Unterhaltung blockieren, bis der Client antwortet und die Antwort an das LLM übergeben wird. Wenn false, wird die Unterhaltung fortgesetzt, ohne auf die Antwort des Clients zu warten. Dies eignet sich, um Nutzern Inhalte anzuzeigen, ohne die Unterhaltung zu blockieren.
  - `interruption_mode` (enum, optional, default: allow) — Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema für alle an den Client zu übergebenden Parameter
  - `pre_tool_speech` (enum, optional, default: auto) — Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Die maximale Wartezeit in Sekunden, bis der Tool-Aufruf abgeschlossen ist. Muss zwischen 1 und 120 Sekunden (einschließlich) liegen oder -1, um unbegrenzt auf die Antwort des Clients zu warten (erfordert expects_response).
  - `tool_call_sound` (enum, optional, nullable) — Vordefinierter Tool-Aufruf-Soundtyp, der während der Tool-Ausführung abgespielt wird. Wenn nicht angegeben, wird kein Tool-Aufruf-Sound abgespielt.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Legt fest, wann der Ton für Tool-Aufrufe abgespielt werden soll. 'auto' spielt ihn nur ab, wenn vor dem Tool-Aufruf gesprochen wird; 'always' spielt ihn bei jedem Tool-Aufruf ab.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `interruption_mode`. Bei true kann der Benutzer den Agenten nicht unterbrechen, während dieses Tool ausgeführt wird.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `pre_tool_speech`. Bei true spricht der Agent vor dem Tool-Aufruf.
- `type`: `mcp` (mcp)
- `type`: `smb` (smb)
- `type`: `system` (SystemToolConfig)
  - `name` (string, required)
  - `params` (ToolRequestModelToolConfigDiscriminatorMappingSystemParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration zum Extrahieren von Werten aus Tool-Antworten und Zuweisen zu dynamischen Variablen
  - `description` (string, optional, default: ) — Beschreibung, wann das Tool verwendet werden soll und was es tut. Leer lassen, um die für den jeweiligen Tooltyp optimierte Standardbeschreibung zu verwenden.
  - `interruption_mode` (enum, optional, default: allow) — Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Die maximale Wartezeit in Sekunden für den Abschluss des Tool-Aufrufs.
  - `tool_call_sound` (enum, optional, nullable) — Vordefinierter Tool-Aufruf-Soundtyp, der während der Tool-Ausführung abgespielt wird. Wenn nicht angegeben, wird kein Tool-Aufruf-Sound abgespielt.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Legt fest, wann der Ton für Tool-Aufrufe abgespielt werden soll. 'auto' spielt ihn nur ab, wenn vor dem Tool-Aufruf gesprochen wird; 'always' spielt ihn bei jedem Tool-Aufruf ab.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `interruption_mode`. Bei true kann der Benutzer den Agenten nicht unterbrechen, während dieses Tool ausgeführt wird.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `pre_tool_speech`. Bei true spricht der Agent vor dem Tool-Aufruf.
- `type`: `webhook` (WebhookToolConfig)
  - `api_schema` (WebhookToolApiSchemaConfig-Input, required) — Das Schema für den ausgehenden Webhook, einschließlich Parameter und URL-Spezifikation
  - `description` (string, required) — Beschreibung, wann das Tool verwendet werden soll und was es tut.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration zum Extrahieren von Werten aus Tool-Antworten und Zuweisen zu dynamischen Variablen
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Konfiguration für dynamische Variablen
  - `execution_mode` (enum, optional, default: immediate) — Legt fest, wann und wie das Tool ausgeführt wird: 'immediate' führt das Tool sofort aus, wenn das LLM es anfordert, 'post_tool_speech' wartet, bis der Agent zu Ende gesprochen hat, und 'async' führt das Tool im Hintergrund ohne Blockierung aus – ideal für lang laufende Vorgänge.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Ob einer Weiterleitung vom Endpunkt gefolgt und die endgültige Antwort zurückgegeben werden soll. Einer Weiterleitung wird als GET ohne Request-Body gefolgt. Keine für dieses Tool konfigurierte Einstellung (Header, Authentifizierung, Client-Zertifikat) wird an das Weiterleitungsziel gesendet. Sowohl der Endpunkt als auch das Weiterleitungsziel müssen HTTPS verwenden. Wird von API-Integrationstools nicht unterstützt.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domains, auf die eine Weiterleitung verweisen darf, z. B. 'test.example.com'. Erforderlich beim Folgen von Weiterleitungen; Ziele außerhalb der Liste werden abgelehnt.
  - `interruption_mode` (enum, optional, default: allow) — Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Die maximale Wartezeit in Sekunden für den Abschluss des Tool-Aufrufs. Muss zwischen 5 und 300 Sekunden liegen, einschließlich.
  - `tool_call_sound` (enum, optional, nullable) — Vordefinierter Tool-Aufruf-Soundtyp, der während der Tool-Ausführung abgespielt wird. Wenn nicht angegeben, wird kein Tool-Aufruf-Sound abgespielt.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Legt fest, wann der Ton für Tool-Aufrufe abgespielt werden soll. 'auto' spielt ihn nur ab, wenn vor dem Tool-Aufruf gesprochen wird; 'always' spielt ihn bei jedem Tool-Aufruf ab.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `interruption_mode`. Bei true kann der Benutzer den Agenten nicht unterbrechen, während dieses Tool ausgeführt wird.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `pre_tool_speech`. Bei true spricht der Agent vor dem Tool-Aufruf.

### ConversationHistoryTranscriptToolCallCommonModelInputToolDetails

- `type`: `api_integration_webhook` (ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetails)
  - `webhook_details` (ConversationHistoryTranscriptToolCallWebhookDetails, required)
  - `credential_id` (string, optional, default: )
  - `integration_connection_id` (string, optional, default: )
  - `integration_id` (string, optional, default: )
- `type`: `client` (ConversationHistoryTranscriptToolCallClientDetails)
  - `parameters` (string, required)
- `type`: `mcp` (ConversationHistoryTranscriptToolCallMCPDetails)
  - `approval_policy` (string, required)
  - `integration_type` (string, required)
  - `mcp_server_id` (string, required)
  - `mcp_server_name` (string, required)
  - `mcp_tool_description` (string, optional, default: )
  - `mcp_tool_name` (string, optional, default: )
  - `parameters` (map from string to string, optional)
  - `requires_approval` (boolean, optional, default: false)
- `type`: `webhook` (ConversationHistoryTranscriptToolCallWebhookDetails)
  - `method` (string, required)
  - `url` (string, required)
  - `body` (string, optional, nullable)
  - `headers` (map from string to string, optional)
  - `path_params` (map from string to string, optional)
  - `query_params` (map from string to string, optional)

### ConversationHistoryTranscriptSystemToolResultCommonModel-Input

- `request_id` (string, required)
- `tool_name` (string, required)
- `result_value` (string, required)
- `is_error` (boolean, required)
- `tool_has_been_called` (boolean, required)
- `type` ("system", required)
- `is_blocked` (boolean, optional, default: false)
- `tool_latency_secs` (double, optional, default: 0)
- `error_type` (string, optional, default: )
- `raw_error_message` (string, optional, default: )
- `dynamic_variable_updates` (list of DynamicVariableUpdateCommonModel, optional)
- `result` (ConversationHistoryTranscriptSystemToolResultCommonModelInputResult, optional, nullable)

### ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Input

- `request_id` (string, required)
- `tool_name` (string, required)
- `result_value` (string, required)
- `is_error` (boolean, required)
- `tool_has_been_called` (boolean, required)
- `type` ("api_integration_webhook", required)
- `is_blocked` (boolean, optional, default: false)
- `tool_latency_secs` (double, optional, default: 0)
- `error_type` (string, optional, default: )
- `raw_error_message` (string, optional, default: )
- `dynamic_variable_updates` (list of DynamicVariableUpdateCommonModel, optional)
- `integration_id` (string, optional, default: )
- `credential_id` (string, optional, default: )
- `integration_connection_id` (string, optional, default: )

### ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Input

- `request_id` (string, required)
- `tool_name` (string, required)
- `result_value` (string, required)
- `is_error` (boolean, required)
- `tool_has_been_called` (boolean, required)
- `type` ("workflow", required)
- `is_blocked` (boolean, optional, default: false)
- `tool_latency_secs` (double, optional, default: 0)
- `error_type` (string, optional, default: )
- `raw_error_message` (string, optional, default: )
- `dynamic_variable_updates` (list of DynamicVariableUpdateCommonModel, optional)
- `result` (WorkflowToolResponseModel-Input, optional, nullable) — Ein gemeinsames Modell für Antworten von Workflow-Tools.

### ConversationHistoryTranscriptToolCallWebhookDetails

- `method` (string, required)
- `url` (string, required)
- `headers` (map from string to string, optional)
- `path_params` (map from string to string, optional)
- `query_params` (map from string to string, optional)
- `body` (string, optional, nullable)

### DynamicVariableUpdateCommonModel

Erfasst eine Aktualisierung einer dynamischen Variablen während der Tool-Ausführung.

- `variable_name` (string, required)
- `old_value` (string, required, nullable)
- `new_value` (string, required)
- `updated_at` (double, required)
- `tool_name` (string, required)
- `tool_request_id` (string, required)

### ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult

- `result_type`: `dummy` (DummyToolResultModel)
- `result_type`: `end_call_success` (EndCallToolResultModel)
  - `message` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `end_procedure_error` (EndProcedureToolResultErrorModel)
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_id`
  - `procedure_id` (string, optional, nullable)
- `result_type`: `end_procedure_success` (EndProcedureToolResultSuccessModel)
  - `procedure_id` (string, required)
  - `procedure_name` (string, required)
  - `message` (string, optional, default: )
  - `status` ("success", optional, default: success)
- `result_type`: `knowledge_base_rag_success` (KnowledgeBaseRagToolResultModel)
  - `chunk_count` (integer, optional, default: 0) — Anzahl abgerufener relevanter Chunks
  - `chunks` (list of KnowledgeBaseRagChunkModel, optional) — Abgerufene Chunks; nur im Modus rag-result-in-tool-result befüllt
  - `message` (string, optional, default: Referenced knowledge base.) — Für das LLM lesbarer Status zu den Suchergebnissen
  - `status` (enum, optional, default: success)
    - Allowed values: `success`, `no_documents`, `no_results`
- `result_type`: `knowledge_base_success` (KnowledgeBaseToolResultModel)
  - `chunk_count` (integer, optional, default: 0)
  - `message` (string, optional, default: Referenced knowledge base.)
  - `status` (enum, optional, default: success)
    - Allowed values: `success`, `no_matching_documents`, `no_results`
- `result_type`: `language_detection_success` (LanguageDetectionToolResultModel)
  - `language` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `play_dtmf_error` (PlayDTMFResultErrorModel)
  - `error` (string, required)
  - `details` (string, optional, nullable)
  - `status` ("error", optional, default: error)
- `result_type`: `play_dtmf_success` (PlayDTMFResultSuccessModel)
  - `dtmf_tones` (string, required)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `skip_turn_success` (SkipTurnToolResponseModel)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `start_procedure_error` (StartProcedureToolResultErrorModel)
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_name`, `already_active`
  - `procedure_id` (string, optional, nullable)
- `result_type`: `start_procedure_success` (StartProcedureToolResultSuccessModel)
  - `procedure_id` (string, required)
  - `procedure_name` (string, required)
  - `message` (string, optional, default: Procedure is now started. Follow its instructions from the <active-procedures> section of your system prompt.)
  - `procedure_entry_workflow_node` (string, optional, nullable)
  - `procedure_return_workflow_node` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `testing_tool_result` (TestToolResultModel)
  - `reason` (string, optional, default: Skipping tool call in test mode)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_agent_error` (TransferToAgentToolResultErrorModel)
  - `error` (string, required)
  - `from_agent` (string, required)
  - `status` ("error", optional, default: error)
- `result_type`: `transfer_to_agent_success` (TransferToAgentToolResultSuccessModel)
  - `condition` (string, required)
  - `from_agent` (string, required)
  - `to_agent` (string, required)
  - `branch_info` (TransferToAgentToolResultSuccessModelOutputBranchInfo, optional, nullable)
  - `delay_ms` (integer, optional, default: 0)
  - `enable_transferred_agent_first_message` (boolean, optional, default: false)
  - `preserve_client_tts_overrides` (boolean, optional, default: false)
  - `preserve_voice_settings` (boolean, optional, default: false)
  - `status` ("success", optional, default: success)
  - `to_node` (string, optional, nullable)
  - `transfer_message` (string, optional, nullable)
- `result_type`: `transfer_to_number_amazon_connect_success` (TransferToNumberResultAmazonConnectSuccessModel)
  - `client_message` (string, optional, nullable) — Nachricht, die dem Anrufer vorgelesen wird, bevor die Sitzung an Amazon Connect zurückgegeben wird.
  - `note` (string, optional, nullable) — Wird gesetzt, wenn der Agent eine ungültige Option wiederholt hat und die einzige konfigurierte Option verwendet wurde.
  - `reason` (string, optional, nullable) — Grund für die Eskalation durch den Agenten, der mit dem Ergebnis Escalate an Amazon Connect gesendet wird.
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_error` (TransferToNumberResultErrorModel)
  - `error` (string, required)
  - `details` (string, optional, nullable)
  - `status` ("error", optional, default: error)
- `result_type`: `transfer_to_number_exotel_success` (TransferToNumberResultExotelSuccessModel)
  - `transfer_number` (string, required)
  - `agent_message` (string, optional, nullable)
  - `note` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_sip_success` (TransferToNumberResultSipSuccessModel)
  - `transfer_number` (string, required)
  - `note` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_twilio_success` (TransferToNumberResultTwilioSuccessModel)
  - `agent_message` (string, required)
  - `conference_name` (string, required)
  - `transfer_number` (string, required)
  - `client_message` (string, optional, nullable)
  - `note` (string, optional, nullable)
  - `post_dial_digits` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `voicemail_detection_success` (VoiceMailDetectionResultSuccessModel)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
  - `voicemail_message` (string, optional, nullable)

### WorkflowToolResponseModel-Output

Ein gemeinsames Modell für Antworten von Workflow-Tools.

- `steps` (list of WorkflowToolResponseModelOutputStepsItems, optional)

### LLMTokensCategoryUsage

- `tokens` (integer, optional, default: 0)
- `price` (double, optional, default: 0)

### LiteralJsonSchemaPropertyType

### AllowedValues

- `dynamic_variable` (string, required) — Name einer dynamischen Variablen, die zu einem JSON-Array zulässiger Werte aufgelöst werden muss, z. B. ["ws_alpha", "ws_beta"]. Systemvariablen funktionieren nur, wenn sie zu einer Liste aufgelöst werden.

### LiteralJsonSchemaPropertyConstantValue

Ein konstanter Wert für diese Eigenschaft. Schließt sich gegenseitig mit description, dynamic_variable, is_system_provided und is_omitted aus.

### SystemToolConfig

Ein System-Tool ist ein Tool, das zum Aufrufen einer Systemmethode auf dem Server verwendet wird

- `name` (string, required)
- `params` (ToolRequestModelToolConfigDiscriminatorMappingSystemParams, required)
- `description` (string, optional, default: ) — Beschreibung, wann das Tool verwendet werden soll und was es tut. Leer lassen, um die für den jeweiligen Tooltyp optimierte Standardbeschreibung zu verwenden.
- `response_timeout_secs` (integer, optional, default: 20) — Die maximale Wartezeit in Sekunden für den Abschluss des Tool-Aufrufs.
- `interruption_mode` (enum, optional, default: allow) — Controls whether the user can interrupt the agent around this tool call. 'allow' (default) lets the user interrupt at any time, 'disable_during_tool' suppresses interruptions only while the tool is running, 'disable_during_tool_and_turn' suppresses interruptions while the tool runs and for the agent response that follows it.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `pre_tool_speech` (enum, optional, default: auto) — Controls whether the agent speaks before this tool is called. 'auto' (default) decides based on recent tool latency, 'force' always asks the agent to speak, 'off' fully opts out regardless of latency.
  - Allowed values: `auto`, `force`, `off`
- `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration zum Extrahieren von Werten aus Tool-Antworten und Zuweisen zu dynamischen Variablen
- `tool_call_sound` (enum, optional, nullable) — Vordefinierter Tool-Aufruf-Soundtyp, der während der Tool-Ausführung abgespielt wird. Wenn nicht angegeben, wird kein Tool-Aufruf-Sound abgespielt.
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Legt fest, wann der Ton für Tool-Aufrufe abgespielt werden soll. 'auto' spielt ihn nur ab, wenn vor dem Tool-Aufruf gesprochen wird; 'always' spielt ihn bei jedem Tool-Aufruf ab.
  - Allowed values: `auto`, `always`
- `tool_error_handling_mode` (enum, optional, default: auto) — Controls how tool errors are processed before being shared with the agent. 'auto' determines handling based on tool type (summarized for native integrations, hide for others), 'summarized' sends an LLM-generated summary, 'passthrough' sends the raw error, 'hide' does not share the error with the agent.
  - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
- `disable_interruptions` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `interruption_mode`. Bei true kann der Benutzer den Agenten nicht unterbrechen, während dieses Tool ausgeführt wird.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VERALTET: Verwenden Sie stattdessen `pre_tool_speech`. Bei true spricht der Agent vor dem Tool-Aufruf.

### CustomLlmApiKey

Der API-Schlüssel zur Authentifizierung. Entweder eine Arbeitsbereichs-Secret-Referenz \{'secret\_id': '...'} oder eine Umgebungsvariablen-Referenz \{'env\_var\_label': '...'}.

### CustomLlmAuthConnection

Optionale Workspace-Authentifizierungsverbindung. Es werden nur Authentifizierungsverbindungen unterstützt, die ein Authorization-Bearer-Token erzeugen. Basic Auth, mTLS, benutzerdefinierte Header und URL-Secret-Authentifizierungsverbindungen werden nicht unterstützt.

### CustomLlmRequestHeaders

### KnowledgeBaseToolInfo

- `enabled_strategies` (list of enum, optional) — Für das Modell verfügbare Suchstrategien. Darf nicht leer sein.
  - Allowed values: `cat`, `keyword`, `semantic`, `ls`

### ApiIntegrationWebhookOverrides

- `schema_overrides` (map from string to ApiIntegrationWebhookOverridesSchemaOverrides, optional, nullable)
- `response_filter_mode` (enum, optional, nullable, default: all) — Steuert, wie Tool-Antworten gefiltert werden, bevor sie für den Agenten sichtbar sind.
  - Allowed values: `all`, `allow`, `hide_all`
- `response_filters` (list of string, optional, nullable)
- `request_headers` (map from string to ApiIntegrationWebhookOverridesRequestHeaders, optional, nullable)

### DynamicVariableAssignment

Konfiguration zum Extrahieren von Werten aus Tool-Antworten und Zuweisen zu dynamischen Variablen.

- `dynamic_variable` (string, required) — Der Name der dynamischen Variable, der der extrahierte Wert zugewiesen wird
- `value_path` (string, required) — Pfad in Punktnotation zum Extrahieren des Werts aus der Quelle (z. B. 'user.name' oder 'data.0.id')
- `source` ("response", optional, default: response) — Die Quelle, aus der der Wert extrahiert wird. Derzeit wird nur „response“ unterstützt.
- `sanitize` (boolean, optional, default: false) — Wenn true, wird der Wert dieser Zuweisung aus der Tool-Antwort entfernt, bevor sie an das LLM und Transkript gesendet wird, aber weiterhin für die Variablenzuweisung verarbeitet.
- `preserve_native_type` (boolean, optional, default: false) — Wenn true, werden nicht skalare Werte (Listen, Objekte), die aus der Tool-Antwort extrahiert werden, in ihrem nativen Typ gespeichert, statt in JSON-Strings umgewandelt zu werden. Aktivieren Sie dies, um extrahierte Arrays direkt als dynamische Listenvariablen zu verwenden.

### DynamicVariablesConfig

- `dynamic_variable_placeholders` (map from string to any, optional) — Ein Wörterbuch mit Platzhaltern für dynamische Variablen und ihren Werten

### ObjectJsonSchemaProperty-Input

- `property_kind` (enum, optional, default: object)
  - Allowed values: `array`, `object`
- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Wenn festgelegt, wird der gesamte Parameter zur Laufzeit mit dieser dynamischen Variable befüllt. Schließt sich gegenseitig mit description (vom LLM bereitgestellter Wert), constant_value und is_omitted aus.
- `constant_value` (map from string to any, optional, nullable) — Wenn festgelegt, verwendet das gesamte Objekt zur Laufzeit diesen konstanten JSON-Wert. Schließt sich gegenseitig mit description (vom LLM bereitgestelltes Objekt), dynamic_variable und is_omitted aus.
- `is_omitted` (boolean, optional, default: false) — Wenn true, wird dieser Parameter vollständig aus der Anfrage weggelassen. Nur für optionale Parameter gültig. Schließt sich gegenseitig mit description, dynamic_variable und constant_value aus.
- `type` ("object", optional, default: object)
- `required` (list of string, optional)
- `properties` (map from string to ObjectJsonSchemaPropertyInput, optional)
- `required_constraints` (RequiredConstraints, optional, nullable) — Wrapper für auf erforderliche Felder begrenzte anyOf/allOf-Kompositionseinschränkungen.

### ToolRequestModelToolConfigDiscriminatorMappingSystemParams

- `system_tool_type`: `end_call` (EndCallToolConfig)
- `system_tool_type`: `end_procedure` (EndProcedureToolConfig)
  - `procedures` (map from string to ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingEndProcedureProcedures, optional)
- `system_tool_type`: `knowledge_base` (KnowledgeBaseToolConfig)
  - `enabled_strategies` (list of enum, optional)
    - Allowed values: `cat`, `keyword`, `semantic`, `ls`
- `system_tool_type`: `knowledge_base_rag` (KnowledgeBaseRagToolConfig)
- `system_tool_type`: `language_detection` (LanguageDetectionToolConfig)
  - `only_at_conversation_start` (boolean, optional, default: false) — Wenn in den ersten 2 Nutzer-Turns kein Sprachwechsel erfolgt, schlagen spätere Versuche fehl und die Unterhaltung bleibt in der aktuellen Sprache. Erfolgt während dieser Turns ein Sprachwechsel, bleiben spätere Wechsel möglich. Aktivieren Sie dies, um die Wahrscheinlichkeit falscher Sprachwechsel zu verringern.
- `system_tool_type`: `play_keypad_touch_tone` (PlayDTMFToolConfig)
  - `suppress_turn_after_dtmf` (boolean, optional, default: false) — Wenn true, generiert der Agent nach dem Abspielen von DTMF-Tönen keine weitere Sprache. Dadurch wird verhindert, dass die Sprache des Agenten IVR-Systeme stört.
  - `use_out_of_band_dtmf` (boolean, optional, default: true) — DTMF-Töne als Out-of-Band-RTP-Ereignisse (RFC 4733) statt als In-Band-Audio senden. Nur für aus SIP-Trunks importierte Nummern wirksam.
- `system_tool_type`: `skip_turn` (SkipTurnToolConfig)
  - `wait_timeout_secs` (double, optional, default: -1) — Sekunden, die nach skip_turn gewartet werden, bevor der Agent eine kontextbezogene Rückmeldung generiert. Der Timer „Unterhaltung nach Stille beenden“ wird während der Wartezeit pausiert. -1 deaktiviert die Wartezeit: Nach skip_turn bleibt der Agent still, bis der Aufrufer spricht, und dieser Timer läuft weiter. Gilt nur für Sprachunterhaltungen.
- `system_tool_type`: `start_procedure` (StartProcedureToolConfig)
  - `procedures` (map from string to ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingStartProcedureProcedures, optional)
- `system_tool_type`: `transfer_to_agent` (TransferToAgentToolConfig)
  - `transfers` (list of AgentTransfer-Input, required)
- `system_tool_type`: `transfer_to_number` (TransferToNumberToolConfig)
  - `transfers` (list of PhoneNumberTransfer, required)
  - `enable_client_message` (boolean, optional, default: true) — Ob dem Kunden während der Wartezeit auf die Weiterleitung eine Nachricht abgespielt werden soll. Aus Gründen der Abwärtskompatibilität ist der Standardwert true.
- `system_tool_type`: `voicemail_detection` (VoicemailDetectionToolConfig)
  - `voicemail_message` (string, optional, nullable) — Optionale Nachricht, die bei erkannter Mailbox hinterlassen wird. Wenn nicht angegeben, wird der Anruf sofort beendet, sobald eine Mailbox erkannt wird. Unterstützt dynamische Variablen, z. B. \{\{system\_\_time}}, \{\{system\_\_call\_duration\_secs}}, \{\{custom\_variable}}.

### WebhookToolApiSchemaConfig-Input

- `url` (string, required) — Die URL, an die der Webhook gesendet wird. Kann Pfadparameter enthalten, z. B. [https://example.com/agents/\{agent\_id}](https://example.com/agents/\{agent_id})
- `request_headers` (map from string to WebhookToolApiSchemaConfigInputRequestHeaders, optional) — Header, die in die Anfrage aufgenommen werden sollen
- `method` (enum, optional, default: GET) — Die für den Webhook zu verwendende HTTP-Methode
  - Allowed values: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`
- `path_params_schema` (map from string to LiteralJsonSchemaProperty, optional) — Schema für Pfadparameter, falls vorhanden. Die Schlüssel sollten den Platzhaltern in der URL entsprechen.
- `query_params_schema` (QueryParamsJsonSchema-Input, optional, nullable) — Schema für Query-Parameter, falls vorhanden. Diese werden als Query-Parameter an das Ende der URL angehängt. Hinweis: Eigenschaften in einem Query-Parameter müssen alle literale Typen sein.
- `request_body_schema` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema für die Body-Parameter, falls vorhanden. Wird für POST-/PATCH-/PUT-Anfragen verwendet. Das Schema sollte ein Objekt sein, das als JSON-Body gesendet wird.
- `response_body_schema` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema, das die erwartete Struktur des Antworttextkörpers beschreibt. Nur zur Dokumentation; wird nicht an das LLM übermittelt.
- `response_filter` (ResponseFilter, optional, nullable) — Optionaler Allowlist-Filter, der auf die Antwort angewendet wird, bevor das LLM sie sieht, damit große Antworten den Kontext nicht überladen. Standardmäßig wird die vollständige Antwort verwendet.
- `content_type` (enum, optional, default: application/json) — Inhaltstyp für den Anfrage-Body. Gilt nur für POST-/PUT-/PATCH-Anfragen.
  - Allowed values: `application/json`, `application/x-www-form-urlencoded`
- `auth_resolved_params` (list of string, optional) — URL-Platzhalter werden über die Authentifizierungsverbindung aufgelöst (z. B. über UrlSecretAuthConnection eingefügte Secrets) und nicht über path_params_schema.
- `auth_connection` (WebhookToolApiSchemaConfigInputAuthConnection, optional, nullable) — Optionale Authentifizierungsverbindung zur Anmeldung bei diesem Webhook

### ConversationHistoryTranscriptSystemToolResultCommonModelInputResult

- `result_type`: `dummy` (DummyToolResultModel)
- `result_type`: `end_call_success` (EndCallToolResultModel)
  - `message` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `end_procedure_error` (EndProcedureToolResultErrorModel)
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_id`
  - `procedure_id` (string, optional, nullable)
- `result_type`: `end_procedure_success` (EndProcedureToolResultSuccessModel)
  - `procedure_id` (string, required)
  - `procedure_name` (string, required)
  - `message` (string, optional, default: )
  - `status` ("success", optional, default: success)
- `result_type`: `knowledge_base_rag_success` (KnowledgeBaseRagToolResultModel)
  - `chunk_count` (integer, optional, default: 0) — Anzahl abgerufener relevanter Chunks
  - `chunks` (list of KnowledgeBaseRagChunkModel, optional) — Abgerufene Chunks; nur im Modus rag-result-in-tool-result befüllt
  - `message` (string, optional, default: Referenced knowledge base.) — Für das LLM lesbarer Status zu den Suchergebnissen
  - `status` (enum, optional, default: success)
    - Allowed values: `success`, `no_documents`, `no_results`
- `result_type`: `knowledge_base_success` (KnowledgeBaseToolResultModel)
  - `chunk_count` (integer, optional, default: 0)
  - `message` (string, optional, default: Referenced knowledge base.)
  - `status` (enum, optional, default: success)
    - Allowed values: `success`, `no_matching_documents`, `no_results`
- `result_type`: `language_detection_success` (LanguageDetectionToolResultModel)
  - `language` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `play_dtmf_error` (PlayDTMFResultErrorModel)
  - `error` (string, required)
  - `details` (string, optional, nullable)
  - `status` ("error", optional, default: error)
- `result_type`: `play_dtmf_success` (PlayDTMFResultSuccessModel)
  - `dtmf_tones` (string, required)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `skip_turn_success` (SkipTurnToolResponseModel)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `start_procedure_error` (StartProcedureToolResultErrorModel)
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_name`, `already_active`
  - `procedure_id` (string, optional, nullable)
- `result_type`: `start_procedure_success` (StartProcedureToolResultSuccessModel)
  - `procedure_id` (string, required)
  - `procedure_name` (string, required)
  - `message` (string, optional, default: Procedure is now started. Follow its instructions from the <active-procedures> section of your system prompt.)
  - `procedure_entry_workflow_node` (string, optional, nullable)
  - `procedure_return_workflow_node` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `testing_tool_result` (TestToolResultModel)
  - `reason` (string, optional, default: Skipping tool call in test mode)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_agent_error` (TransferToAgentToolResultErrorModel)
  - `error` (string, required)
  - `from_agent` (string, required)
  - `status` ("error", optional, default: error)
- `result_type`: `transfer_to_agent_success` (TransferToAgentToolResultSuccessModel)
  - `condition` (string, required)
  - `from_agent` (string, required)
  - `to_agent` (string, required)
  - `branch_info` (TransferToAgentToolResultSuccessModelInputBranchInfo, optional, nullable)
  - `delay_ms` (integer, optional, default: 0)
  - `enable_transferred_agent_first_message` (boolean, optional, default: false)
  - `preserve_client_tts_overrides` (boolean, optional, default: false)
  - `preserve_voice_settings` (boolean, optional, default: false)
  - `status` ("success", optional, default: success)
  - `to_node` (string, optional, nullable)
  - `transfer_message` (string, optional, nullable)
- `result_type`: `transfer_to_number_amazon_connect_success` (TransferToNumberResultAmazonConnectSuccessModel)
  - `client_message` (string, optional, nullable) — Nachricht, die dem Anrufer vorgelesen wird, bevor die Sitzung an Amazon Connect zurückgegeben wird.
  - `note` (string, optional, nullable) — Wird gesetzt, wenn der Agent eine ungültige Option wiederholt hat und die einzige konfigurierte Option verwendet wurde.
  - `reason` (string, optional, nullable) — Grund für die Eskalation durch den Agenten, der mit dem Ergebnis Escalate an Amazon Connect gesendet wird.
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_error` (TransferToNumberResultErrorModel)
  - `error` (string, required)
  - `details` (string, optional, nullable)
  - `status` ("error", optional, default: error)
- `result_type`: `transfer_to_number_exotel_success` (TransferToNumberResultExotelSuccessModel)
  - `transfer_number` (string, required)
  - `agent_message` (string, optional, nullable)
  - `note` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_sip_success` (TransferToNumberResultSipSuccessModel)
  - `transfer_number` (string, required)
  - `note` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_twilio_success` (TransferToNumberResultTwilioSuccessModel)
  - `agent_message` (string, required)
  - `conference_name` (string, required)
  - `transfer_number` (string, required)
  - `client_message` (string, optional, nullable)
  - `note` (string, optional, nullable)
  - `post_dial_digits` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `voicemail_detection_success` (VoiceMailDetectionResultSuccessModel)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
  - `voicemail_message` (string, optional, nullable)

### WorkflowToolResponseModel-Input

Ein gemeinsames Modell für Antworten von Workflow-Tools.

- `steps` (list of WorkflowToolResponseModelInputStepsItems, optional)

### KnowledgeBaseRagChunkModel

- `chunk_id` (string, required)
- `document_id` (string, required)
- `content` (string, required)

### TransferToAgentToolResultSuccessModelOutputBranchInfo

- `branch_reason`: `configured` (TransferBranchInfoConfigured)
  - `branch_id` (string, required)
- `branch_reason`: `defaulting_to_main` (TransferBranchInfoDefaultingToMain)
  - `branch_id` (string, required)
- `branch_reason`: `traffic_split` (TransferBranchInfoTrafficSplit)
  - `branch_id` (string, required)
  - `traffic_percentage` (double, required)

### WorkflowToolResponseModelOutputStepsItems

- `type`: `edge` (WorkflowToolEdgeStepModel)
  - `edge_id` (string, required)
  - `step_latency_secs` (double, required)
  - `target_node_id` (string, required)
- `type`: `max_iterations_exceeded` (WorkflowToolMaxIterationsExceededStepModel)
  - `max_iterations` (integer, required)
  - `step_latency_secs` (double, required)
- `type`: `nested_tools` (WorkflowToolNestedToolsStepModel)
  - `is_successful` (boolean, required)
  - `node_id` (string, required)
  - `requests` (list of ConversationHistoryTranscriptToolCallCommonModel-Output, required)
  - `results` (list of WorkflowToolResponseModelOutputStepsItemsDiscriminatorMappingNestedToolsResultsItems, required)
  - `step_latency_secs` (double, required)

### ConvAISecretLocator

Wird verwendet, um auf ein Secret aus dem Secret-Speicher des Agenten zu verweisen.

- `secret_id` (string, required)

### ConvAIEnvVarLocator

Wird verwendet, um über ihr Label auf eine Umgebungsvariable zu verweisen.

- `env_var_label` (string, required)

### AuthConnectionLocator

Wird verwendet, um auf eine Authentifizierungsverbindung aus dem Speicher für Authentifizierungsverbindungen des Workspace zu verweisen.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Verweist per Label auf eine Umgebungsvariable vom Typ 'auth_connection'. Zur Laufzeit wird die Authentifizierungsverbindung für die aktuelle Umgebung aufgelöst, wobei auf die Standardumgebung zurückgegriffen wird.

- `env_var_label` (string, required)

### ConvAIDynamicVariable

Wird verwendet, um auf eine dynamische Variable zu verweisen.

- `variable_name` (string, required)

### ApiIntegrationWebhookOverridesSchemaOverrides

- `source`: `constant` (ConstantSchemaOverride)
  - `constant_value` (WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue, required, nullable) — Der zu verwendende konstante Wert
- `source`: `dynamic_variable` (DynamicVariableSchemaOverride)
  - `dynamic_variable` (string, required) — Der Name der zu verwendenden dynamischen Variable
- `source`: `llm` (LLMSchemaOverride)
  - `prompt` (string, optional, nullable) — Prompt-Überschreibung für das LLM. Wenn nicht angegeben, wird die ursprüngliche Schemabeschreibung verwendet.
- `source`: `omit` (OmitSchemaOverride)

### ApiIntegrationWebhookOverridesRequestHeaders

### ObjectJsonSchemaPropertyInput

### RequiredConstraints

Wrapper für auf erforderliche Felder begrenzte anyOf/allOf-Kompositionseinschränkungen.

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

### ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingEndProcedureProcedures

### ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingStartProcedureProcedures

### AgentTransfer-Input

- `condition` (string, required)
- `agent_id` (string, optional, nullable)
- `branch_id` (string, optional, nullable)
- `node_id` (string, optional, nullable)
- `delay_ms` (integer, optional, default: 0)
- `transfer_message` (string, optional, nullable)
- `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) — Legt fest, ob TTS-Client-Überschreibungen auf den weitergeleiteten Agenten übertragen werden sollen.
- `preserve_voice_settings` (boolean, optional, default: false) — Legt fest, ob die Basisstimme, das TTS-Modell und die Stimmeinstellungen auf den übertragenen Agenten übernommen werden sollen.

### PhoneNumberTransfer

- `transfer_destination` (PhoneNumberTransferTransferDestination, required)
- `condition` (string, required)
- `custom_sip_headers` (list of PhoneNumberTransferCustomSipHeadersItems, optional) — Benutzerdefinierte SIP-Header, die bei der Gesprächsweiterleitung eingeschlossen werden. Jeder Header kann entweder ein statischer Wert oder ein Verweis auf eine dynamische Variable sein.
- `transfer_type` (enum, optional, default: conference)
  - Allowed values: `blind`, `conference`, `sip_refer`
- `sip_refer_play_dialtone` (boolean, optional, default: true) — Wenn True, wird auf dem ursprünglichen Anrufzweig ein Klingelton wiedergegeben, während eine SIP-REFER-Weiterleitung abgeschlossen wird. Der Ton wird über RTP an den SIP-Peer übertragen, der den REFER ausführt. Deaktivieren Sie dies, wenn das empfangende System, z. B. ein SBC oder Contact Center, ihn nicht hören soll. Wenn deaktiviert, hört der Anrufer bis zum Abschluss der Weiterleitung Stille. Nur für SIP-REFER-Weiterleitungen.
- `uui` (UUITransferConfig, optional, nullable) — User-to-User Information (RFC 7433), die SIP-REFER-Weiterleitungen beigefügt wird. Überträgt den Anrufkontext, etwa CRM-Identifikatoren oder den Eskalationsgrund, über die Weiterleitungsgrenze hinweg.
- `post_dial_digits` (PhoneNumberTransferPostDialDigits, optional, nullable) — Nach dem Verbindungsaufbau zu sendende DTMF-Ziffern (z. B. 'ww1234' für eine Durchwahl). Kann ein statischer Wert oder ein Verweis auf eine dynamische Variable sein. Verwenden Sie 'w' für eine Pause von 0,5 Sekunden. Nur für Twilio-Weiterleitungen unterstützt.
- `phone_number` (string, optional, nullable, deprecated)

### WebhookToolApiSchemaConfigInputRequestHeaders

### QueryParamsJsonSchema-Input

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

### ResponseFilter

Konfiguration zum Filtern von Tool-Antworten, bevor sie für den Agent sichtbar sind.

- `mode` (enum, optional, default: all) — Controls how tool responses are filtered. 'all' returns entire response, 'allow' returns only specified paths, 'hide_all' hides the entire response.
  - Allowed values: `all`, `allow`, `hide_all`
- `filters` (list of string, optional) — Pfade in Punktnotation, die einbezogen werden, wenn der Modus 'allow' ist (z. B. ['ticket.id', 'ticket.status']).
- `content_type` ("application/json", optional, default: application/json) — Inhaltstyp für die Antwortfilterung. Nur Antworten vom Typ „application/json“ werden gefiltert.

### WebhookToolApiSchemaConfigInputAuthConnection

Optionale Authentifizierungsverbindung zur Anmeldung bei diesem Webhook

### TransferToAgentToolResultSuccessModelInputBranchInfo

- `branch_reason`: `configured` (TransferBranchInfoConfigured)
  - `branch_id` (string, required)
- `branch_reason`: `defaulting_to_main` (TransferBranchInfoDefaultingToMain)
  - `branch_id` (string, required)
- `branch_reason`: `traffic_split` (TransferBranchInfoTrafficSplit)
  - `branch_id` (string, required)
  - `traffic_percentage` (double, required)

### WorkflowToolResponseModelInputStepsItems

- `type`: `edge` (WorkflowToolEdgeStepModel)
  - `edge_id` (string, required)
  - `step_latency_secs` (double, required)
  - `target_node_id` (string, required)
- `type`: `max_iterations_exceeded` (WorkflowToolMaxIterationsExceededStepModel)
  - `max_iterations` (integer, required)
  - `step_latency_secs` (double, required)
- `type`: `nested_tools` (WorkflowToolNestedToolsStepModel)
  - `is_successful` (boolean, required)
  - `node_id` (string, required)
  - `requests` (list of ConversationHistoryTranscriptToolCallCommonModel-Input, required)
  - `results` (list of WorkflowToolResponseModelInputStepsItemsDiscriminatorMappingNestedToolsResultsItems, required)
  - `step_latency_secs` (double, required)

### WorkflowToolResponseModelOutputStepsItemsDiscriminatorMappingNestedToolsResultsItems

### WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue

Der zu verwendende konstante Wert

### ArrayJsonSchemaProperty-Input

- `property_kind` (enum, optional, default: array)
  - Allowed values: `array`, `object`
- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Wenn festgelegt, wird der gesamte Parameter zur Laufzeit mit dieser dynamischen Variable befüllt. Schließt sich gegenseitig mit description (vom LLM bereitgestellter Wert), constant_value und is_omitted aus.
- `constant_value` (list of any, optional, nullable) — Wenn festgelegt, verwendet das gesamte Array zur Laufzeit diesen konstanten Wert. Schließt sich gegenseitig mit description (vom LLM bereitgestelltes Array), dynamic_variable und is_omitted aus.
- `is_omitted` (boolean, optional, default: false) — Wenn true, wird dieser Parameter vollständig aus der Anfrage weggelassen. Nur für optionale Parameter gültig. Schließt sich gegenseitig mit description, dynamic_variable und constant_value aus.
- `type` ("array", optional, default: array)
- `items` (ArrayJsonSchemaPropertyInputItems, optional, default: {"allowed_values_dynamic_variable":"","constant_value":"","description":"Array element","dynamic_variable":"","is_omitted":false,"is_system_provided":false,"type":"string"}) — Schema für Array-Elemente.

### RequiredConstraint

Eine Menge von Feldern, die alle vorhanden sein müssen, um diese Einschränkung zu erfüllen.

- `required` (list of string, required)

### ProcedureVersionRef

- `procedure_id` (string, required) — Prozedur-ID
- `version_id` (string, required) — Versions-ID der Verfahrensversion.

### ProcedureDraftRef

- `procedure_id` (string, required) — Prozedur-ID
- `version_id` (any, optional)

### PhoneNumberTransferTransferDestination

- `type`: `phone` (PhoneNumberTransferDestination)
  - `phone_number` (string, required)
- `type`: `phone_dynamic_variable` (PhoneNumberDynamicVariableTransferDestination)
  - `phone_number` (string, required)
- `type`: `sip_uri` (SIPUriTransferDestination)
  - `sip_uri` (string, required)
- `type`: `sip_uri_dynamic_variable` (SIPUriDynamicVariableTransferDestination)
  - `sip_uri` (string, required)

### PhoneNumberTransferCustomSipHeadersItems

- `type`: `dynamic` (CustomSIPHeaderWithDynamicVariable)
  - `key` (string, required) — Der SIP-Headername (z. B. 'X-Customer-ID')
  - `value` (string, required) — Der aufzulösende Name der dynamischen Variable
- `type`: `static` (CustomSIPHeader)
  - `key` (string, required) — Der SIP-Headername (z. B. 'X-Customer-ID')
  - `value` (string, required) — Der Header-Wert

### UUITransferConfig

User-to-User-Information-Umschlag für SIP-REFER-Weiterleitungen (RFC 7433). Ausgehende Payloads sind hexadezimal codiert (die einzige in RFC 7433 definierte Codierung). Die Protokolldiskriminator-Achse ermöglicht, plattformspezifische Formate (Talkdesk, Genesys, ...) per Konfiguration auszudrücken, statt über verstreute Weiterleitungs-Flags. Weitere Achsen (ASCII-Codierung, Header-Name, Zweck-/Inhaltsparameter) können hier ergänzt werden, ohne das Weiterleitungsmodell anzupassen.

- `data` (string, required) — UUI-Payload, die bei SIP-REFER-Weiterleitungen gesendet wird. Unterstützt eingebettete dynamische Variablen und wird bei der Weiterleitung hexadezimal codiert.
- `protocol_discriminator` (string, optional, nullable) — Optionaler Ein-Oktett-Protokolldiskriminator (zwei Hexadezimalziffern, z. B. '00'). Erforderlich für Plattformen wie Genesys Cloud, die andernfalls das erste Oktett der Payload entfernen. Für Plattformen wie Talkdesk, die eine reine Hex-Payload erwarten, nicht festlegen.
- `protocol_discriminator_mode` (enum, optional, default: prefix) — Wie protocol\_discriminator angehängt wird. 'prefix' stellt das Oktett der hexadezimalen Nutzlast voran (User-to-User=XX\<hex>;encoding=hex). 'pd\_parameter' sendet es als separaten Parameter (User-to-User=\<hex>;pd=XX;encoding=hex). Wird ignoriert, wenn protocol\_discriminator nicht festgelegt ist.
  - Allowed values: `prefix`, `pd_parameter`

### PhoneNumberTransferPostDialDigits

Nach dem Verbindungsaufbau zu sendende DTMF-Ziffern (z. B. 'ww1234' für eine Durchwahl). Kann ein statischer Wert oder ein Verweis auf eine dynamische Variable sein. Verwenden Sie 'w' für eine Pause von 0,5 Sekunden. Nur für Twilio-Weiterleitungen unterstützt.

- `type`: `dynamic` (PostDialDigitsDynamicVariable)
  - `value` (string, required) — Der aufzulösende Name der dynamischen Variable
- `type`: `static` (PostDialDigitsStatic)
  - `value` (string, required) — Nach dem Verbindungsaufbau zu sendende DTMF-Ziffern (z. B. 'ww1234' für eine Durchwahl)

### WorkflowToolResponseModelInputStepsItemsDiscriminatorMappingNestedToolsResultsItems

### ArrayJsonSchemaPropertyInputItems

Schema für Array-Elemente.

## Examples

**Request**

```json
{
  "simulation_specification": {
    "simulated_user_config": {
      "first_message": "Hello, how can I help you today?",
      "language": "en",
      "disable_first_message_interruptions": false
    }
  }
}
```

**Response**

```json
{
  "simulated_conversation": [
    {
      "role": "user",
      "time_in_call_secs": 1,
      "agent_metadata": {
        "agent_id": "string",
        "branch_id": "string",
        "workflow_node_id": "string",
        "version_id": "string"
      },
      "message": "string",
      "multivoice_message": {
        "parts": [
          {
            "text": "string",
            "voice_label": "string",
            "time_in_call_secs": 1
          }
        ]
      },
      "tool_calls": [
        {
          "request_id": "string",
          "tool_name": "string",
          "params_as_json": "string",
          "tool_has_been_called": true,
          "type": "system",
          "tool_id": "string",
          "tool_details": {
            "type": "webhook",
            "method": "string",
            "url": "string",
            "body": "string",
            "headers": {},
            "path_params": {},
            "query_params": {}
          }
        }
      ],
      "tool_results": [
        {
          "dynamic_variable_updates": [
            {
              "new_value": "string",
              "old_value": "string",
              "tool_name": "string",
              "tool_request_id": "string",
              "updated_at": 1.1,
              "variable_name": "string"
            }
          ],
          "error_type": "",
          "is_blocked": false,
          "is_error": true,
          "raw_error_message": "",
          "request_id": "string",
          "result_value": "string",
          "tool_has_been_called": true,
          "tool_latency_secs": 0,
          "tool_name": "string",
          "type": "client"
        }
      ],
      "feedback": {
        "score": "like",
        "time_in_call_secs": 1
      },
      "llm_override": "string",
      "producing_llm": "string",
      "conversation_turn_metrics": {
        "metrics": {},
        "convai_asr_provider": "string",
        "convai_tts_model": "string",
        "convai_tts_cascade": "string",
        "voice_id": "string"
      },
      "rag_retrieval_info": {
        "chunks": [
          {
            "document_id": "string",
            "chunk_id": "string",
            "vector_distance": 1.1
          }
        ],
        "embedding_model": "e5_mistral_7b_instruct",
        "retrieval_query": "string",
        "rag_latency_secs": 1.1,
        "used_chunk_ids": [
          "string"
        ]
      },
      "llm_usage": {
        "model_usage": {}
      },
      "interrupted": false,
      "ignored_as_backchannel": false,
      "platform_event": "user_turn_timeout",
      "original_message": "string",
      "reasoning": [
        {
          "summary": "string",
          "provider_redact": false
        }
      ],
      "source_medium": "audio",
      "source_event_id": 1,
      "used_static_kb_document_ids": [
        "string"
      ],
      "user_identifier": "string",
      "id": "string",
      "triggered_guardrails": [
        {
          "guardrail_type": "custom",
          "guardrail_name": "string"
        }
      ],
      "file_input": {
        "file_id": "string",
        "original_filename": "string",
        "mime_type": "string",
        "file_url": "string"
      },
      "file_inputs": [
        {
          "file_id": "string",
          "original_filename": "string",
          "mime_type": "string",
          "file_url": "string"
        }
      ],
      "contextual_update_info": {
        "context_id": "string",
        "is_superseded": false
      },
      "reasoned": false
    }
  ],
  "analysis": {
    "call_successful": "success",
    "transcript_summary": "string",
    "evaluation_criteria_results": {},
    "data_collection_results": {},
    "evaluation_criteria_results_list": [
      {
        "criteria_id": "string",
        "result": "success",
        "rationale": "string",
        "scoring_mode": "binary",
        "score": 1,
        "max_score": 1
      }
    ],
    "data_collection_results_list": [
      {
        "data_collection_id": "string",
        "rationale": "string",
        "name": "string",
        "value": null,
        "json_schema": {
          "type": "string",
          "description": "A user-provided message"
        }
      }
    ],
    "call_success_score": 1.1,
    "call_summary_title": "string",
    "scoped": [
      {
        "scope": "conversation",
        "source_agent_id": "string",
        "successful": "success",
        "source_branch_id": "string",
        "evaluation_criteria_results": {},
        "data_collection_results": {},
        "success_score": 1.1
      }
    ]
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/simulate-conversation"

payload = { "simulation_specification": { "simulated_user_config": {
            "first_message": "Hello, how can I help you today?",
            "language": "en",
            "disable_first_message_interruptions": False
        } } }
headers = {"Content-Type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/simulate-conversation';
const options = {
  method: 'POST',
  headers: {'Content-Type': 'application/json'},
  body: '{"simulation_specification":{"simulated_user_config":{"first_message":"Hello, how can I help you today?","language":"en","disable_first_message_interruptions":false}}}'
};

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"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/simulate-conversation"

	payload := strings.NewReader("{\n  \"simulation_specification\": {\n    \"simulated_user_config\": {\n      \"first_message\": \"Hello, how can I help you today?\",\n      \"language\": \"en\",\n      \"disable_first_message_interruptions\": false\n    }\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("Content-Type", "application/json")

	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/simulate-conversation")

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

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n  \"simulation_specification\": {\n    \"simulated_user_config\": {\n      \"first_message\": \"Hello, how can I help you today?\",\n      \"language\": \"en\",\n      \"disable_first_message_interruptions\": false\n    }\n  }\n}"

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.post("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/simulate-conversation")
  .header("Content-Type", "application/json")
  .body("{\n  \"simulation_specification\": {\n    \"simulated_user_config\": {\n      \"first_message\": \"Hello, how can I help you today?\",\n      \"language\": \"en\",\n      \"disable_first_message_interruptions\": false\n    }\n  }\n}")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/simulate-conversation', [
  'body' => '{
  "simulation_specification": {
    "simulated_user_config": {
      "first_message": "Hello, how can I help you today?",
      "language": "en",
      "disable_first_message_interruptions": false
    }
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
  ],
]);

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/simulate-conversation");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"simulation_specification\": {\n    \"simulated_user_config\": {\n      \"first_message\": \"Hello, how can I help you today?\",\n      \"language\": \"en\",\n      \"disable_first_message_interruptions\": false\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Content-Type": "application/json"]
let parameters = ["simulation_specification": ["simulated_user_config": [
      "first_message": "Hello, how can I help you today?",
      "language": "en",
      "disable_first_message_interruptions": false
    ]]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/agents/agent_3701k3ttaq12ewp8b7qv5rfyszkz/simulate-conversation")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

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()
```