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

# Simuleert een gesprek

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

Verouderd. Dit endpoint wordt verwijderd op 31 okt. 2026. Gebruik de endpoints `/v1/convai/agent-testing/create` en `/v1/convai/agents/:agent_id/run-tests` om simulaties te maken en uit te voeren. Voer een gesprek tussen de agent en een gesimuleerde gebruiker.

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) — De id van een agent. Deze wordt teruggegeven wanneer de agent wordt gemaakt.

### Body (application/json)

This endpoint expects a Body_Simulates_a_conversation_v1_convai_agents__agent_id__simulate_conversation_post.

- `simulation_specification` (ConversationSimulationSpecification, required) — Een specificatie die beschrijft hoe het gesprek moet worden gesimuleerd
- `extra_evaluation_criteria` (list of PromptEvaluationCriteria, optional, nullable) — Een lijst met te testen evaluatiecriteria
- `new_turns_limit` (integer, optional, default: 100) — Maximumaantal nieuwe beurten dat in de conversatiesimulatie moet worden gegenereerd

## Response

### 200

Geslaagde response

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

## Errors

### 422 Unprocessable Entity Error

Validatiefout

- `detail` (list of ValidationError, optional)

## Types

### ConversationSimulationSpecification

Een specificatie die wordt gebruikt om een gesprek tussen een agent en een AI-gebruiker te simuleren.

- `simulated_user_config` (AgentConfigAPIModel-Input, required)
- `tool_mock_config` (map from string to ToolMockConfig, optional)
- `partial_conversation_history` (list of ConversationHistoryTranscriptCommonModel-Input, optional) — Een gedeeltelijke gespreksgeschiedenis waarmee de simulatie begint. Als deze leeg is, begint de simulatie opnieuw.
- `dynamic_variables` (map from string to any, optional)

### PromptEvaluationCriteria

Een evaluatie met het transcript en een prompt voor een ja/nee-antwoord op de vraag of het doel is bereikt

- `id` (string, required) — De unieke identificatiecode voor de evaluatiecriteria
- `name` (string, required)
- `conversation_goal_prompt` (string, required) — De prompt die de agent moet gebruiken om het gesprek te evalueren
- `type` ("prompt", optional, default: prompt) — Het type evaluatiecriteria
- `use_knowledge_base` (boolean, optional, default: false) — Of de kennisbank van de agent moet worden gebruikt bij het evalueren van de prompt.
- `scope` (enum, optional, default: conversation) — Het bereik van de transcriptcontext die wordt gebruikt bij het beoordelen van dit criterium. 'conversation' gebruikt het volledige transcript; 'agent' gebruikt alleen het gedeelte waarin de bepalende agent actief was.
  - Allowed values: `conversation`, `agent`
- `llm` (enum, optional, nullable) — LLM-model dat moet worden gebruikt voor dit evaluatiecriterium. Indien niet ingesteld, wordt de standaardwaarde analysis_llm van de agent gebruikt.
  - 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`, `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) — Hoe dit criterium wordt beoordeeld. 'binary' resulteert in geslaagd/mislukt/onbekend. 'numeric_uniform' retourneert een getal op de schaal [0, max_score], dat wordt genormaliseerd naar het totale succespercentage van het gesprek.
  - Allowed values: `binary`, `numeric_uniform`
- `max_score` (integer, optional, default: 100) — Maximale waarde van de numerieke beoordelingsschaal (het minimum is altijd 0). Alleen gebruikt wanneer scoring_mode 'numeric_uniform' is.
- `score_instructions` (string, optional, nullable) — Optionele vrije-tekstinstructies die beschrijven hoe waarden op de numerieke schaal moeten worden toegekend. Alleen gebruikt wanneer scoring_mode 'numeric_uniform' is.

### 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) — Vertegenwoordigt een bericht van een agent met meerdere stemmen.
- `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) — Verouderd: de eerste bijlage in deze beurt. Gebruik `file_inputs` om alle bijlagen te zien.
- `file_inputs` (list of ConversationHistoryTranscriptFileInputResponseModel, optional) — Alle bestanden die aan deze beurt zijn gekoppeld, in de volgorde waarin de gebruiker ze heeft toegevoegd.
- `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: ) — Als dit niet leeg is, het eerste bericht dat de agent uitspreekt. Als het leeg is, wacht de agent tot de gebruiker het gesprek start.
- `language` (string, optional, default: en) — Taal van de agent - gebruikt voor ASR en TTS
- `hinglish_mode` (boolean, optional, default: false) — Wanneer dit is ingeschakeld, voegt de agent Engelse woorden en zinnen toe aan antwoorden in het Hindi, Malayalam, Telugu of Kannada.
- `dynamic_variables` (any, optional) — Configuratie voor dynamische variabelen
- `disable_first_message_interruptions` (boolean, optional, default: false) — Als true, kan de gebruiker de agent niet onderbreken terwijl het eerste bericht wordt geleverd.
- `max_conversation_duration_message` (string, optional, default: ) — Als dit niet leeg is, het bericht dat de agent verstuurt wanneer de maximale gespreksduur is bereikt.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional, nullable) — Overschrijvingen van antwoordgedrag per kanaal voor tekstgesprekken. Als deze niet zijn ingesteld, gelden de ingebouwde standaardwaarden van het kanaal.
- `prompt` (PromptAgentAPIModel-Input, optional) — De prompt voor de agent

### 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) — Vertegenwoordigt een bericht van een agent met meerdere stemmen.
- `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

Vertegenwoordigt een bericht van een agent met meerdere stemmen.

- `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_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) — Door de client opgegeven identifier die gerelateerde contextuele updates groepeert.
- `is_superseded` (boolean, optional, default: false) — True wanneer deze contextuele update is vervangen door een nieuwere update met dezelfde context_id.

### 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-eigenschap voor letterlijke JSON-typen. BELANGRIJK: slechts EEN van de volgende velden kan worden ingesteld: description (LLM levert waarde), dynamic_variable (waarde uit variabele), is_system_provided (systeem levert waarde), constant_value (vaste waarde) of is_omitted (parameter wordt weggelaten). Deze sluiten elkaar uit.

### ScopedAnalysisResult

- `scope` (enum, required, default: conversation) — Het bereik van de analyse. 'conversation' gebruikt het volledige transcript; 'agent' gebruikt alleen het gedeelte waarin de bepalende agent actief was.
  - Allowed values: `conversation`, `agent`
- `source_agent_id` (string, required)
- `successful` (enum, required)
  - Allowed values: `success`, `failure`, `unknown`
- `source_branch_id` (string, optional, nullable) — Branch van de agent voor dit afgebakende blok; maakt herhaalde agent_id's eenduidig.
- `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) — Overschrijving voor uitgebreidheid. De onderliggende standaardwaarde geldt wanneer deze niet is ingesteld.
  - Allowed values: `auto`, `concise`, `thorough`
- `output_format` (enum, optional, nullable) — Overschrijving van het uitvoerformaat. Als deze niet is ingesteld, geldt de onderliggende standaardwaarde.
  - 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) — Overschrijving van het interactiebudget. Als dit niet is ingesteld, geldt de onderliggende standaardwaarde.
  - Allowed values: `realtime`, `5_minutes`, `10_minutes`, `1_hour`

### PromptAgentAPIModel-Input

- `prompt` (string, optional, default: ) — De prompt voor de agent
- `llm` (enum, optional) — De LLM die met de prompt en de chatgeschiedenis moet worden bevraagd. Bij gebruik van dataresidency moet de LLM worden ondersteund in de dataresidencyomgeving.
  - 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`, `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) — Redeneerinspanning van het model. Alleen beschikbaar voor sommige modellen.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional, nullable) — Maximumaantal tokens dat voor redeneren wordt gebruikt. Gebruik 0 om dit uit te schakelen als het model dit ondersteunt.
- `enable_reasoning_summary` (boolean, optional, default: false) — Schakel samenvattingen van de modelredenering in. Als deze optie is uitgeschakeld, vragen we de provider waar mogelijk niet om samenvattingen voor een snellere TTFB. Niet compatibel met ZRM.
- `temperature` (double, optional, nullable, default: 0) — De temperatuur voor de LLM. Standaard is dit 0. Stel in op null om de parameter volledig uit het LLM-request weg te laten (handig voor aangepaste LLM's die het temperatuurveld afwijzen).
- `max_tokens` (integer, optional, default: -1) — Als de waarde groter is dan 0, het maximale aantal tokens dat het LLM kan voorspellen
- `tool_ids` (list of string, optional) — Een lijst met ID's van tools die door de agent worden gebruikt
- `tool_ids_strict` (boolean, optional, default: false) — Alleen van toepassing als overschrijving voor een gesprek en toegestaan wanneer tool_ids mag worden overschreven. Wanneer true is, bevat de overschreven tool_ids de volledige lijst met tools die in het gesprek zijn toegestaan, inclusief tools op workflownodes. Genegeerd wanneer ingesteld op de agent.
- `built_in_tools` (BuiltInTools-Input, optional) — Ingebouwde systeemtools die de agent kan gebruiken
- `enable_parallel_tool_calls` (boolean, optional, default: true) — Schakel parallel tool calling in. Wanneer dit is ingeschakeld, kan de agent meerdere tools parallel uitvoeren binnen één beurt. Niet door alle modellen ondersteund.
- `mcp_server_ids` (list of string, optional) — Een lijst met MCP-server-id's die door de agent moeten worden gebruikt
- `native_mcp_server_ids` (list of string, optional) — Een lijst met Native MCP-server-id's die door de agent moeten worden gebruikt
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — Een lijst met kennisbanken die door de agent moeten worden gebruikt
- `custom_llm` (CustomLLM, optional, nullable) — Definitie voor een aangepaste LLM als het LLM-veld is ingesteld op 'CUSTOM_LLM'
- `ignore_default_personality` (boolean, optional, nullable, default: true) — Of de standaard persoonlijkheidsregels uit de systeemprompt moeten worden verwijderd
- `rag` (RagConfig-Input, optional) — Configuratie voor RAG
- `timezone` (string, optional, nullable) — Tijdzone voor het weergeven van de huidige tijd in de systeemprompt. Indien ingesteld, wordt de huidige tijd met deze tijdzone opgenomen in de systeemprompt. Moet een geldige tijdzonenaam zijn (bijvoorbeeld 'America/New_York', 'Europe/London', 'UTC'). Aanbevolen voor nauwkeurige tijdsbewuste reacties; zonder deze instelling heeft de agent geen kennis van de huidige datum/tijd, tenzij je die via dynamische variabelen of tools opgeeft. Dit kan leiden tot onjuiste of gehallucineerde tijdsverwijzingen.
- `backup_llm_config` (PromptAgentApiModelInputBackupLlmConfig, optional) — Configuratie voor cascade van back-up-LLM's. Kan worden uitgeschakeld, systeemstandaarden gebruiken of een aangepaste volgorde opgeven.
- `cascade_timeout_seconds` (double, optional, default: 4) — Tijd in seconden voordat wordt overgeschakeld naar de back-up-LLM. Moet tussen 2 en 15 seconden liggen.
- `tools` (list of PromptAgentApiModelInputToolsItems, optional, deprecated) — Een lijst met tools die de agent tijdens het gesprek kan gebruiken; gebruik in plaats daarvan 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_details` (ConversationHistoryTranscriptToolCallCommonModelInputToolDetails, optional, nullable)

### ConversationHistoryTranscriptCommonModelInputToolResultsItems

### LLMUsage-Input

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

### ConversationHistoryMultivoiceMessagePartModel

Vertegenwoordigt één stemonderdeel van een bericht met meerdere stemmen.

- `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) — Een algemeen model voor responses van workflowtools.

### 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-eigenschap voor letterlijke JSON-typen. BELANGRIJK: slechts EEN van de volgende velden kan worden ingesteld: description (LLM levert waarde), dynamic_variable (waarde uit variabele), is_system_provided (systeem levert waarde), constant_value (vaste waarde) of is_omitted (parameter wordt weggelaten). Deze sluiten elkaar uit.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — De beschrijving van de eigenschap. Wanneer deze is ingesteld, geeft de LLM de waarde op basis van deze beschrijving. Kan niet samen worden gebruikt met dynamic_variable, is_system_provided, constant_value en is_omitted.
- `enum` (list of string, optional, nullable) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Als true, wordt de waarde tijdens runtime door het systeem ingevuld. Wordt door API Integration Webhook-tools gebruikt voor templating. Kan niet tegelijk worden gebruikt met description, dynamic_variable, constant_value en is_omitted.
- `dynamic_variable` (string, optional, default: ) — De naam van de dynamische variabele die voor de waarde van deze eigenschap moet worden gebruikt. Kan niet worden gecombineerd met description, is_system_provided, constant_value en is_omitted.
- `allowed_values` (AllowedValues, optional, nullable) — Server-side afwijscontrole voor een door de LLM opgegeven waarde: de runtime wijst elke waarde buiten de toegestane set die dit object benoemt af, en de set wordt niet als enum aan de LLM getoond. Alleen ondersteund wanneer de waardebron `description` is; een combinatie met dynamic_variable, is_system_provided, constant_value of is_omitted wordt afgewezen.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional, nullable, default: ) — Een constante waarde voor deze eigenschap. Kan niet samen worden gebruikt met description, dynamic_variable, is_system_provided en is_omitted.
- `is_omitted` (boolean, optional, default: false) — Als true is, wordt deze parameter volledig uit de request weggelaten. Alleen geldig voor optionele parameters. Kan niet samen worden gebruikt met description, dynamic_variable, is_system_provided en constant_value.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — VEROUDERD: gebruik in plaats daarvan `allowed_values`. Wanneer ingesteld, levert de LLM de waarde, maar weigert de runtime elke waarde die niet voorkomt in de lijst van deze dynamische variabele (moet een JSON-array zijn zoals ["ws_alpha", "ws_beta"]). Gebruik dit om de LLM te laten kiezen uit een door de server geverifieerde set (bijv. de ID's waartoe de huidige gebruiker toegang heeft). Vereist description; kan niet samen met dynamic_variable, is_system_provided, constant_value en is_omitted worden gebruikt.

### BuiltInTools-Input

Systeemtools die aan een gespreksagent kunnen worden gegeven. Bewust niet ConversationalBuiltInTools genoemd: BuiltInToolsInput en BuiltInToolsOutput maken deel uit van de openbare API-specificatie en de gegenereerde SDK's.

- `transfer_to_agent` (SystemToolConfig, optional, nullable) — De tool voor doorverbinden met een agent
- `end_call` (SystemToolConfig, optional, nullable) — De tool voor het beëindigen van het gesprek
- `language_detection` (SystemToolConfig, optional, nullable) — De taalherkenningstool
- `transfer_to_number` (SystemToolConfig, optional, nullable) — De tool voor doorverbinden met een nummer
- `skip_turn` (SystemToolConfig, optional, nullable) — De tool om een beurt over te slaan
- `play_keypad_touch_tone` (SystemToolConfig, optional, nullable) — De play DTMF-tool
- `voicemail_detection` (SystemToolConfig, optional, nullable) — De tool voor voicemaildetectie

### KnowledgeBaseLocator

- `type` (enum, required) — Het type kennisbank
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — De naam van de kennisbank
- `id` (string, required) — De ID van de kennisbank
- `usage_mode` (enum, optional, default: auto) — De gebruiksmodus van de kennisbank
  - Allowed values: `prompt`, `auto`

### CustomLLM

- `url` (string, required) — De URL van het endpoint dat compatibel is met Chat Completions
- `model_id` (string, optional, nullable) — De model-ID die moet worden gebruikt als de URL meerdere modellen aanbiedt
- `api_key` (CustomLlmApiKey, optional, nullable) — De API-sleutel voor authenticatie. Ofwel een verwijzing naar een workspacegeheim \{'secret\_id': '...'} of een verwijzing naar een omgevingsvariabele \{'env\_var\_label': '...'}.
- `auth_connection` (CustomLlmAuthConnection, optional, nullable) — Optionele workspace-authverbinding voor authenticatie. Alleen authverbindingen die een Authorization Bearer-token produceren, worden ondersteund; Basic-auth, mTLS, aangepaste headers en authverbindingen met een URL-secret worden niet ondersteund.
- `request_headers` (map from string to CustomLlmRequestHeaders, optional) — Headers die in de aanvraag moeten worden opgenomen
- `api_version` (string, optional, nullable) — De API-versie die je voor de request wilt gebruiken
- `api_type` (enum, optional, default: chat_completions) — Het te gebruiken API-type (chat_completions, responses of 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 vectorafstand van opgehaalde chunks.
- `max_documents_length` (integer, optional, default: 50000) — Maximale totale lengte van documentchunks die uit RAG worden opgehaald.
- `max_retrieved_rag_chunks_count` (integer, optional, default: 20) — Maximumaantal RAG-documentchunks dat aanvankelijk uit de vectorstore moet worden opgehaald. Deze worden vervolgens verder gefilterd op vectorafstand en totale lengte.
- `num_candidates` (integer, optional, nullable) — Aantal kandidaten dat wordt geëvalueerd bij ANN-vectorzoeken. Een hoger aantal betekent betere resultaten, maar ook hogere latentie. De minimaal aanbevolen waarde is 100. Als dit is uitgeschakeld, wordt de standaardwaarde gebruikt.
- `query_rewrite_prompt_override` (string, optional, nullable) — Aangepaste prompt om gebruikersquery's te herschrijven vóór RAG-ophaling. De conversatiegeschiedenis wordt automatisch aan het einde toegevoegd. Als dit niet is ingesteld, wordt de standaardprompt gebruikt.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional, nullable) — Wanneer ingesteld, gebruikt de agent de tool knowledge_base in plaats van de verouderde tool knowledge_base_rag. None betekent dat de agent niet is aangemeld.

### PromptAgentApiModelInputBackupLlmConfig

Configuratie voor cascade van back-up-LLM's. Kan worden uitgeschakeld, systeemstandaarden gebruiken of een aangepaste volgorde opgeven.

- `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`, `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

Het type tool

- `type`: `api_integration_webhook` (ApiIntegrationWebhookToolConfig)
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `description` (string, required) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet.
  - `name` (string, required)
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, optional, nullable) — Gebruikersoverschrijvingen die boven op de basis-api_schema worden toegepast
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuratie voor dynamische variabelen
  - `execution_mode` (enum, optional, default: immediate) — Bepaalt wanneer en hoe de tool wordt uitgevoerd: 'immediate' voert de tool direct uit wanneer de LLM hierom vraagt, 'post_tool_speech' wacht tot de agent is uitgesproken voordat de tool wordt uitgevoerd en 'async' voert de tool op de achtergrond uit zonder te blokkeren - het beste voor langlopende bewerkingen.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid. Moet tussen 5 en 300 seconden liggen (inclusief).
  - `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, optional, default: 1.0.0) — De versie van de API-integratietool
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.
- `type`: `client` (ClientToolConfig)
  - `description` (string, required) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuratie voor dynamische variabelen
  - `execution_mode` (enum, optional, default: immediate) — Bepaalt wanneer en hoe de tool wordt uitgevoerd: 'immediate' voert de tool direct uit wanneer de LLM hierom vraagt, 'post_tool_speech' wacht tot de agent is uitgesproken voordat de tool wordt uitgevoerd en 'async' voert de tool op de achtergrond uit zonder te blokkeren - het beste voor langlopende bewerkingen.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Als true, moet het aanroepen van deze tool het gesprek blokkeren totdat de client reageert met een reactie die aan het LLM wordt doorgegeven. Als false, zetten we het gesprek voort zonder op een reactie van de client te wachten. Dit is nuttig om content aan een gebruiker te tonen zonder het gesprek te blokkeren.
  - `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema voor alle parameters die aan de client moeten worden doorgegeven
  - `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid. Moet tussen 1 en 120 seconden liggen (inclusief), of -1 om onbeperkt op de reactie van de client te wachten (vereist expects_response).
  - `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.
- `type`: `mcp` (mcp)
- `type`: `smb` (smb)
- `type`: `system` (SystemToolConfig)
  - `name` (string, required)
  - `params` (ToolRequestModelToolConfigDiscriminatorMappingSystemParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
  - `description` (string, optional, default: ) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet. Laat leeg om de standaardbeschrijving te gebruiken, die is geoptimaliseerd voor het specifieke tooltype.
  - `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid.
  - `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.
- `type`: `webhook` (WebhookToolConfig)
  - `api_schema` (WebhookToolApiSchemaConfig-Input, required) — Het schema voor de uitgaande webhook, inclusief parameters en URL-specificatie
  - `description` (string, required) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuratie voor dynamische variabelen
  - `execution_mode` (enum, optional, default: immediate) — Bepaalt wanneer en hoe de tool wordt uitgevoerd: 'immediate' voert de tool direct uit wanneer de LLM hierom vraagt, 'post_tool_speech' wacht tot de agent is uitgesproken voordat de tool wordt uitgevoerd en 'async' voert de tool op de achtergrond uit zonder te blokkeren - het beste voor langlopende bewerkingen.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Of een redirect vanaf het endpoint moet worden gevolgd en de uiteindelijke response moet worden teruggestuurd. Er wordt één redirect gevolgd, als een GET zonder de requestbody; niets dat voor deze tool is geconfigureerd (headers, authenticatie, clientcertificaat) wordt naar het redirectdoel gestuurd. Zowel het endpoint als het redirectdoel moet HTTPS gebruiken. Niet ondersteund voor API-integratietools.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domeinen waarnaar een redirect kan verwijzen, bijvoorbeeld 'test.example.com'. Vereist bij het volgen van redirects; een doel buiten de lijst wordt geweigerd.
  - `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid. Moet tussen 5 en 300 seconden liggen (inclusief).
  - `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.

### 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) — Een algemeen model voor responses van workflowtools.

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

Houdt een update van een dynamische variabele bij die tijdens de uitvoering van een tool plaatsvond.

- `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) — Aantal opgehaalde relevante chunks
  - `chunks` (list of KnowledgeBaseRagChunkModel, optional) — Opgehaalde chunks; alleen gevuld in de modus rag-result-in-tool-result
  - `message` (string, optional, default: Referenced knowledge base.) — Voor mensen leesbare status voor de LLM over de zoekresultaten
  - `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) — Bericht dat aan de beller wordt uitgesproken voordat de sessie wordt teruggegeven aan Amazon Connect.
  - `note` (string, optional, nullable) — Ingesteld wanneer de agent een ongeldige optie herhaalde en de enige geconfigureerde optie werd gebruikt.
  - `reason` (string, optional, nullable) — Waarom de agent heeft geëscaleerd, zoals verstuurd naar Amazon Connect met de uitkomst Escalate.
  - `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

Een algemeen model voor responses van workflowtools.

- `steps` (list of WorkflowToolResponseModelOutputStepsItems, optional)

### LLMTokensCategoryUsage

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

### LiteralJsonSchemaPropertyType

### AllowedValues

- `dynamic_variable` (string, required) — Naam van een dynamische variabele die moet worden opgelost naar een JSON-array met toegestane waarden, bijv. ["ws_alpha", "ws_beta"]. Systeemvariabelen werken alleen als ze worden opgelost naar een lijst.

### LiteralJsonSchemaPropertyConstantValue

Een constante waarde voor deze eigenschap. Kan niet samen worden gebruikt met description, dynamic_variable, is_system_provided en is_omitted.

### SystemToolConfig

Een systeemtool is een tool die wordt gebruikt om een systeemmethode op de server aan te roepen

- `name` (string, required)
- `params` (ToolRequestModelToolConfigDiscriminatorMappingSystemParams, required)
- `description` (string, optional, default: ) — Beschrijving van wanneer de tool moet worden gebruikt en wat deze doet. Laat leeg om de standaardbeschrijving te gebruiken, die is geoptimaliseerd voor het specifieke tooltype.
- `response_timeout_secs` (integer, optional, default: 20) — De maximale wachttijd in seconden tot de toolcall is voltooid.
- `interruption_mode` (enum, optional, default: allow) — Bepaalt of de gebruiker de agent tijdens deze toolaanroep kan onderbreken. 'allow' (standaard) staat de gebruiker toe om op elk moment te onderbreken, 'disable_during_tool' onderdrukt onderbrekingen alleen terwijl de tool actief is en 'disable_during_tool_and_turn' onderdrukt onderbrekingen terwijl de tool actief is en tijdens de daaropvolgende reactie van de agent.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `pre_tool_speech` (enum, optional, default: auto) — Bepaalt of de agent spreekt voordat deze tool wordt aangeroepen. 'auto' (standaard) beslist op basis van recente toollatency, 'force' laat de agent altijd spreken en 'off' schakelt dit volledig uit, ongeacht de latency.
  - Allowed values: `auto`, `force`, `off`
- `assignments` (list of DynamicVariableAssignment, optional) — Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen
- `tool_call_sound` (enum, optional, nullable) — Vooraf gedefinieerd type tool-callgeluid dat tijdens het uitvoeren van een tool wordt afgespeeld. Als dit niet is opgegeven, wordt er geen tool-callgeluid afgespeeld.
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Bepaalt wanneer het geluid voor de toolaanroep moet worden afgespeeld. 'auto' speelt alleen af als er spraak vóór de tool is, 'always' speelt af bij elke toolaanroep.
  - Allowed values: `auto`, `always`
- `tool_error_handling_mode` (enum, optional, default: auto) — Bepaalt hoe toolfouten worden verwerkt voordat ze met de agent worden gedeeld. 'auto' bepaalt de afhandeling op basis van het tooltype (samengevat voor native integraties, verbergen voor andere), 'summarized' stuurt een door een LLM gegenereerde samenvatting, 'passthrough' stuurt de onbewerkte fout en 'hide' deelt de fout niet met de agent.
  - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
- `disable_interruptions` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `interruption_mode`. Als dit true is, kan de gebruiker de agent niet onderbreken terwijl deze tool wordt uitgevoerd.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — VEROUDERD: gebruik in plaats daarvan `pre_tool_speech`. Als dit waar is, spreekt de agent vóór de toolaanroep.

### CustomLlmApiKey

De API-sleutel voor authenticatie. Ofwel een verwijzing naar een workspacegeheim \{'secret\_id': '...'} of een verwijzing naar een omgevingsvariabele \{'env\_var\_label': '...'}.

### CustomLlmAuthConnection

Optionele workspace-authverbinding voor authenticatie. Alleen authverbindingen die een Authorization Bearer-token produceren, worden ondersteund; Basic-auth, mTLS, aangepaste headers en authverbindingen met een URL-secret worden niet ondersteund.

### CustomLlmRequestHeaders

### KnowledgeBaseToolInfo

- `enabled_strategies` (list of enum, optional) — Zoekstrategieën die beschikbaar zijn voor het model. Mag niet leeg zijn.
  - Allowed values: `cat`, `keyword`, `semantic`, `ls`

### ApiIntegrationWebhookOverrides

- `schema_overrides` (map from string to ApiIntegrationWebhookOverridesSchemaOverrides, optional, nullable)
- `response_filter_mode` (enum, optional, nullable, default: all) — Bepaalt hoe toolresponses worden gefilterd voordat ze zichtbaar zijn voor de agent.
  - Allowed values: `all`, `allow`, `hide_all`
- `response_filters` (list of string, optional, nullable)
- `request_headers` (map from string to ApiIntegrationWebhookOverridesRequestHeaders, optional, nullable)

### DynamicVariableAssignment

Configuratie voor het extraheren van waarden uit toolresponses en deze toewijzen aan dynamische variabelen.

- `dynamic_variable` (string, required) — De naam van de dynamische variabele waaraan de geëxtraheerde waarde wordt toegewezen
- `value_path` (string, required) — Pad in puntnotatie om de waarde uit de bron te extraheren (bijvoorbeeld 'user.name' of 'data.0.id')
- `source` ("response", optional, default: response) — De bron waaruit de waarde wordt geëxtraheerd. Momenteel wordt alleen 'response' ondersteund.
- `sanitize` (boolean, optional, default: false) — Als true, wordt de waarde van deze toewijzing uit de toolreactie verwijderd voordat deze naar het LLM en het transcript wordt verzonden, maar wordt deze nog wel verwerkt voor variabeletoewijzing.
- `preserve_native_type` (boolean, optional, default: false) — Als true, worden niet-scalaire waarden (lijsten, objecten) uit de toolreactie opgeslagen in hun oorspronkelijke type, in plaats van als JSON-string. Schakel dit in om geëxtraheerde arrays rechtstreeks als dynamische lijstvariabelen te gebruiken.

### DynamicVariablesConfig

- `dynamic_variable_placeholders` (map from string to any, optional) — Een woordenboek met tijdelijke aanduidingen voor dynamische variabelen en hun waarden

### ObjectJsonSchemaProperty-Input

- `property_kind` (enum, optional, default: object)
  - Allowed values: `array`, `object`
- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Wanneer ingesteld, wordt de volledige parameter tijdens runtime ingevuld vanuit deze dynamische variabele. Kan niet samen worden gebruikt met description (door de LLM aangeleverde waarde), constant_value en is_omitted.
- `constant_value` (map from string to any, optional, nullable) — Wanneer ingesteld, gebruikt het volledige object deze constante JSON-waarde tijdens runtime. Kan niet samen worden gebruikt met description (door de LLM aangeleverd object), dynamic_variable en is_omitted.
- `is_omitted` (boolean, optional, default: false) — Als true is, wordt deze parameter volledig uit de request weggelaten. Alleen geldig voor optionele parameters. Kan niet samen worden gebruikt met description, dynamic_variable en constant_value.
- `type` ("object", optional, default: object)
- `required` (list of string, optional)
- `properties` (map from string to ObjectJsonSchemaPropertyInput, optional)
- `required_constraints` (RequiredConstraints, optional, nullable) — Wrapper voor anyOf/allOf-compositiebeperkingen die gelden voor verplichte velden.

### 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) — Als er in de eerste 2 gebruikersbeurten geen taalwissel plaatsvindt, mislukken latere pogingen en blijft het gesprek in de huidige taal. Als de taal tijdens die beurten wisselt, blijft later wisselen mogelijk. Schakel dit in om de kans op onjuiste taalwisselingen te verkleinen.
- `system_tool_type`: `play_keypad_touch_tone` (PlayDTMFToolConfig)
  - `suppress_turn_after_dtmf` (boolean, optional, default: false) — Als true, genereert de agent geen verdere spraak nadat DTMF-tonen zijn afgespeeld. Dit voorkomt dat de spraak van de agent IVR-systemen verstoort.
  - `use_out_of_band_dtmf` (boolean, optional, default: true) — Verstuur DTMF-tonen als out-of-band RTP-events (RFC 4733) in plaats van als in-band audio. Alleen effectief voor nummers die via een SIP trunk zijn geïmporteerd.
- `system_tool_type`: `skip_turn` (SkipTurnToolConfig)
  - `wait_timeout_secs` (double, optional, default: -1) — Seconden om na skip_turn te wachten voordat de agent een contextuele check-in genereert. De timer "Gesprek beëindigen na stilte" wordt tijdens het wachten gepauzeerd. -1 schakelt het wachten uit: na skip_turn blijft de agent stil totdat de beller spreekt, terwijl die timer blijft lopen. Alleen van toepassing op spraakgesprekken.
- `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) — Of er een bericht voor de klant moet worden afgespeeld terwijl die op overdracht wacht. Standaard is dit true voor achterwaartse compatibiliteit.
- `system_tool_type`: `voicemail_detection` (VoicemailDetectionToolConfig)
  - `voicemail_message` (string, optional, nullable) — Optioneel bericht om achter te laten op de voicemail wanneer deze wordt gedetecteerd. Als dit niet wordt opgegeven, wordt het gesprek onmiddellijk beëindigd wanneer voicemail wordt gedetecteerd. Ondersteunt dynamische variabelen (bijv. \{\{system\_\_time}}, \{\{system\_\_call\_duration\_secs}}, \{\{custom\_variable}}).

### WebhookToolApiSchemaConfig-Input

- `url` (string, required) — De URL waarnaar de webhook wordt verzonden. Kan path parameters bevatten, bijvoorbeeld [https://example.com/agents/\{agent\_id}](https://example.com/agents/\{agent_id})
- `request_headers` (map from string to WebhookToolApiSchemaConfigInputRequestHeaders, optional) — Headers die in de aanvraag moeten worden opgenomen
- `method` (enum, optional, default: GET) — De HTTP-methode die voor de webhook moet worden gebruikt
  - Allowed values: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`
- `path_params_schema` (map from string to LiteralJsonSchemaProperty, optional) — Schema voor eventuele padparameters. De sleutels moeten overeenkomen met de placeholders in de URL.
- `query_params_schema` (QueryParamsJsonSchema-Input, optional, nullable) — Schema voor eventuele queryparameters. Deze worden als queryparameters aan het einde van de URL toegevoegd. Let op: eigenschappen in een queryparameter moeten allemaal letterlijke typen zijn
- `request_body_schema` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema voor eventuele bodyparameters. Wordt gebruikt voor POST/PATCH/PUT-requests. Het schema moet een object zijn dat als JSON-body wordt verzonden
- `response_body_schema` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema dat de verwachte structuur van de responsebody beschrijft. Alleen voor documentatie; niet beschikbaar voor de LLM.
- `response_filter` (ResponseFilter, optional, nullable) — Optioneel allowlistfilter dat op het antwoord wordt toegepast voordat de LLM het ziet, zodat grote antwoorden de context niet vervuilen. Standaard wordt het volledige antwoord gebruikt.
- `content_type` (enum, optional, default: application/json) — Contenttype voor de requestbody. Alleen van toepassing op POST/PUT/PATCH-requests.
  - Allowed values: `application/json`, `application/x-www-form-urlencoded`
- `auth_resolved_params` (list of string, optional) — URL-placeholders die worden opgelost vanuit de auth connection (bijvoorbeeld geheimen die via UrlSecretAuthConnection worden ingevoegd) in plaats van vanuit path_params_schema.
- `auth_connection` (WebhookToolApiSchemaConfigInputAuthConnection, optional, nullable) — Optionele authverbinding voor authenticatie bij deze 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) — Aantal opgehaalde relevante chunks
  - `chunks` (list of KnowledgeBaseRagChunkModel, optional) — Opgehaalde chunks; alleen gevuld in de modus rag-result-in-tool-result
  - `message` (string, optional, default: Referenced knowledge base.) — Voor mensen leesbare status voor de LLM over de zoekresultaten
  - `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) — Bericht dat aan de beller wordt uitgesproken voordat de sessie wordt teruggegeven aan Amazon Connect.
  - `note` (string, optional, nullable) — Ingesteld wanneer de agent een ongeldige optie herhaalde en de enige geconfigureerde optie werd gebruikt.
  - `reason` (string, optional, nullable) — Waarom de agent heeft geëscaleerd, zoals verstuurd naar Amazon Connect met de uitkomst Escalate.
  - `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

Een algemeen model voor responses van workflowtools.

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

Gebruikt om naar een geheim uit de secret store van de agent te verwijzen.

- `secret_id` (string, required)

### ConvAIEnvVarLocator

Gebruikt om via een label naar een omgevingsvariabele te verwijzen.

- `env_var_label` (string, required)

### AuthConnectionLocator

Gebruikt om naar een auth connection uit de auth connection-store van de workspace te verwijzen.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Verwijst op label naar een omgevingsvariabele van het type 'auth_connection'. Tijdens runtime wordt deze omgezet naar de auth connection voor de huidige omgeving, met terugval op de standaardomgeving.

- `env_var_label` (string, required)

### ConvAIDynamicVariable

Gebruikt om naar een dynamische variabele te verwijzen.

- `variable_name` (string, required)

### ApiIntegrationWebhookOverridesSchemaOverrides

- `source`: `constant` (ConstantSchemaOverride)
  - `constant_value` (WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue, required, nullable) — De constante waarde die je wilt gebruiken
- `source`: `dynamic_variable` (DynamicVariableSchemaOverride)
  - `dynamic_variable` (string, required) — De naam van de te gebruiken dynamische variabele
- `source`: `llm` (LLMSchemaOverride)
  - `prompt` (string, optional, nullable) — Promptoverschrijving voor de LLM. Als deze niet is opgegeven, wordt de oorspronkelijke schemabeschrijving gebruikt.
- `source`: `omit` (OmitSchemaOverride)

### ApiIntegrationWebhookOverridesRequestHeaders

### ObjectJsonSchemaPropertyInput

### RequiredConstraints

Wrapper voor anyOf/allOf-compositiebeperkingen die gelden voor verplichte velden.

- `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) — Definieert of TTS-clientoverschrijvingen moeten worden overgedragen naar de doorverbonden agent.
- `preserve_voice_settings` (boolean, optional, default: false) — Definieert of de basisstem, het TTS-model en de steminstellingen moeten worden overgedragen naar de doorverbonden agent.

### PhoneNumberTransfer

- `transfer_destination` (PhoneNumberTransferTransferDestination, required)
- `condition` (string, required)
- `custom_sip_headers` (list of PhoneNumberTransferCustomSipHeadersItems, optional) — Aangepaste SIP-headers die moeten worden opgenomen bij het doorverbinden van het gesprek. Elke header kan een statische waarde of een verwijzing naar een dynamische variabele zijn.
- `transfer_type` (enum, optional, default: conference)
  - Allowed values: `blind`, `conference`, `sip_refer`
- `sip_refer_play_dialtone` (boolean, optional, default: true) — Wanneer True, wordt op het oorspronkelijke gesprekstraject een beltoon afgespeeld terwijl een SIP REFER-transfer wordt voltooid. De toon wordt via RTP doorgegeven aan de SIP-peer die de REFER uitvoert, dus schakel dit uit als het ontvangende systeem (bijvoorbeeld een SBC of contactcenter) deze niet mag horen. Wanneer dit is uitgeschakeld, hoort de beller stilte totdat de transfer is voltooid. Alleen voor SIP REFER-transfers.
- `uui` (UUITransferConfig, optional, nullable) — User-to-User Information (RFC 7433) om aan SIP REFER-transfers toe te voegen. Draagt oproepcontext, zoals CRM-identificatiecodes of de reden voor escalatie, over de transfergrens heen.
- `post_dial_digits` (PhoneNumberTransferPostDialDigits, optional, nullable) — DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer). Kan een statische waarde of een verwijzing naar een dynamische variabele zijn. Gebruik 'w' voor een pauze van 0,5 s. Alleen ondersteund voor Twilio-transfers.
- `phone_number` (string, optional, nullable, deprecated)

### WebhookToolApiSchemaConfigInputRequestHeaders

### QueryParamsJsonSchema-Input

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

### ResponseFilter

Configuratie voor het filteren van toolresponses voordat ze zichtbaar zijn voor de agent.

- `mode` (enum, optional, default: all) — Bepaalt hoe toolresponses worden gefilterd. 'all' retourneert de volledige response, 'allow' retourneert alleen opgegeven paden en 'hide_all' verbergt de volledige response.
  - Allowed values: `all`, `allow`, `hide_all`
- `filters` (list of string, optional) — Paden in puntnotatie die moeten worden opgenomen wanneer de modus 'allow' is (bijvoorbeeld ['ticket.id', 'ticket.status']).
- `content_type` ("application/json", optional, default: application/json) — Contenttype voor het filteren van responses. Alleen responses van het type 'application/json' worden gefilterd.

### WebhookToolApiSchemaConfigInputAuthConnection

Optionele authverbinding voor authenticatie bij deze 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

De constante waarde die je wilt gebruiken

### ArrayJsonSchemaProperty-Input

- `property_kind` (enum, optional, default: array)
  - Allowed values: `array`, `object`
- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Wanneer ingesteld, wordt de volledige parameter tijdens runtime ingevuld vanuit deze dynamische variabele. Kan niet samen worden gebruikt met description (door de LLM aangeleverde waarde), constant_value en is_omitted.
- `constant_value` (list of any, optional, nullable) — Wanneer ingesteld, gebruikt de volledige array deze constante waarde tijdens runtime. Kan niet samen worden gebruikt met description (door de LLM aangeleverde array), dynamic_variable en is_omitted.
- `is_omitted` (boolean, optional, default: false) — Als true is, wordt deze parameter volledig uit de request weggelaten. Alleen geldig voor optionele parameters. Kan niet samen worden gebruikt met description, dynamic_variable en constant_value.
- `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 voor arrayelementen.

### RequiredConstraint

Een set velden die allemaal aanwezig moeten zijn om aan deze beperking te voldoen.

- `required` (list of string, required)

### ProcedureVersionRef

- `procedure_id` (string, required) — Procedure-ID
- `version_id` (string, required) — Versie-ID van de procedureversie.

### ProcedureDraftRef

- `procedure_id` (string, required) — Procedure-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) — De naam van de SIP-header (bijvoorbeeld 'X-Customer-ID')
  - `value` (string, required) — De naam van de dynamische variabele die moet worden opgelost
- `type`: `static` (CustomSIPHeader)
  - `key` (string, required) — De naam van de SIP-header (bijvoorbeeld 'X-Customer-ID')
  - `value` (string, required) — De headerwaarde

### UUITransferConfig

User-to-User Information-envelop voor SIP REFER-transfers (RFC 7433). Uitgaande payloads zijn hex-gecodeerd (de enige codering die RFC 7433 definieert). Met de protocol-discriminatoras kunnen formaten per platform (Talkdesk, Genesys, ...) via configuratie worden uitgedrukt in plaats van via verspreide transferflags. Verdere assen (ASCII-codering, headernaam, doel-/inhoudsparameters) kunnen hier worden toegevoegd zonder het transfermodel aan te passen.

- `data` (string, required) — UUI-payload om te versturen bij SIP REFER-transfers. Ondersteunt inline dynamische variabelen en wordt tijdens de transfer hex-gecodeerd.
- `protocol_discriminator` (string, optional, nullable) — Optionele protocolonderscheider van één octet (twee hexadecimale cijfers, bijv. '00'). Vereist door platforms zoals Genesys Cloud, die anders het eerste octet van de payload verwijderen. Laat niet ingesteld voor platforms zoals Talkdesk die een kale hexadecimale payload verwachten.
- `protocol_discriminator_mode` (enum, optional, default: prefix) — Hoe protocol\_discriminator moet worden toegevoegd. 'prefix' plaatst het octet vóór de hex-payload (User-to-User=XX\<hex>;encoding=hex). 'pd\_parameter' verstuurt het als afzonderlijke parameter (User-to-User=\<hex>;pd=XX;encoding=hex). Wordt genegeerd wanneer protocol\_discriminator niet is ingesteld.
  - Allowed values: `prefix`, `pd_parameter`

### PhoneNumberTransferPostDialDigits

DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer). Kan een statische waarde of een verwijzing naar een dynamische variabele zijn. Gebruik 'w' voor een pauze van 0,5 s. Alleen ondersteund voor Twilio-transfers.

- `type`: `dynamic` (PostDialDigitsDynamicVariable)
  - `value` (string, required) — De naam van de dynamische variabele die moet worden opgelost
- `type`: `static` (PostDialDigitsStatic)
  - `value` (string, required) — DTMF-cijfers die moeten worden verzonden nadat de oproep is verbonden (bijvoorbeeld 'ww1234' voor een doorkiesnummer)

### WorkflowToolResponseModelInputStepsItemsDiscriminatorMappingNestedToolsResultsItems

### ArrayJsonSchemaPropertyInputItems

Schema voor arrayelementen.

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