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

# Simulerar en konversation

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

Utfasad. Den här slutpunkten tas bort den 31 okt 2026. Använd slutpunkterna `/v1/convai/agent-testing/create` och `/v1/convai/agents/:agent_id/run-tests` för att skapa och köra simuleringar. Kör ett samtal mellan agenten och en simulerad användare.

Reference: https://elevenlabs.io/docs/eleven-agents/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) — ID:t för en agent. Det returneras när agenten skapas.

### Body (application/json)

This endpoint expects an object.

- `simulation_specification` (ConversationSimulationSpecification, required) — En specifikation som beskriver hur samtalet ska simuleras
- `extra_evaluation_criteria` (list of PromptEvaluationCriteria, optional) — En lista över utvärderingskriterier att testa
- `new_turns_limit` (integer, optional, default: 100) — Maximalt antal nya turer att generera i konversationssimuleringen

## Response

### 200

Lyckat svar

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

## Errors

### 422 Agents Simulate Conversation Request Unprocessable Entity Error

Valideringsfel

- `detail` (list of ValidationError, optional)

## Types

### ConversationSimulationSpecification

En specifikation som används för att simulera ett samtal mellan en agent och en AI-användare.

- `simulated_user_config` (AgentConfig, required)
- `tool_mock_config` (map from string to ToolMockConfig, optional)
- `partial_conversation_history` (list of ConversationHistoryTranscriptCommonModelInput, optional) — En delvis konversationshistorik att starta simuleringen från. Om den är tom startar simuleringen från början.
- `dynamic_variables` (map from string to any, optional)

### PromptEvaluationCriteria

En utvärdering som använder transkriptionen och en prompt för ett ja/nej-svar om målet uppnåddes

- `id` (string, required) — Den unika identifieraren för utvärderingskriterierna
- `name` (string, required)
- `conversation_goal_prompt` (string, required) — Prompten som agenten ska använda för att utvärdera konversationen
- `type` ("prompt", optional) — Typen av utvärderingskriterier
- `use_knowledge_base` (boolean, optional, default: false) — Om agentens kunskapsbas ska användas vid utvärdering av prompten.
- `scope` (enum, optional, default: conversation) — Omfattningen av transkriptionskontexten som används när detta kriterium utvärderas. 'conversation' använder hela transkriptionen; 'agent' använder endast den del där den definierande agenten var aktiv.
  - Allowed values: `conversation`, `agent`
- `llm` (enum, optional) — LLM-modell att använda för detta utvärderingskriterium. Om den inte anges används agentens standardvärde för analysis_llm.
  - 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`, `claude-sonnet-4-5`, `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-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) — Hur detta kriterium poängsätts. 'binary' ger resultatet lyckad/misslyckad/okänd. 'numeric_uniform' returnerar ett tal på skalan [0, max_score], som normaliseras till den sammanlagda procentandelen lyckade konversationer.
  - Allowed values: `binary`, `numeric_uniform`
- `max_score` (integer, optional, default: 100) — Högsta värdet på den numeriska poängskalan (minimivärdet är alltid 0). Används endast när scoring_mode är 'numeric_uniform'.
- `score_instructions` (string, optional) — Valfria fritextinstruktioner som beskriver hur värden ska tilldelas på den numeriska skalan. Används endast när scoring_mode är 'numeric_uniform'.

### ConversationHistoryTranscriptResponseModel

- `role` (enum, required)
  - Allowed values: `user`, `agent`
- `time_in_call_secs` (integer, required)
- `agent_metadata` (AgentMetadata, optional)
- `message` (string, optional)
- `multivoice_message` (ConversationHistoryMultivoiceMessageModel, optional) — Representerar ett meddelande från en flerröstsagent.
- `tool_calls` (list of ConversationHistoryTranscriptToolCallCommonModelOutput, optional)
- `tool_results` (list of ConversationHistoryTranscriptResponseModelToolResultsItem, optional)
- `feedback` (UserFeedback, optional)
- `llm_override` (string, optional)
- `producing_llm` (string, optional)
- `conversation_turn_metrics` (ConversationTurnMetrics, optional)
- `rag_retrieval_info` (RagRetrievalInfo, optional)
- `llm_usage` (LlmUsageOutput, optional)
- `interrupted` (boolean, optional, default: false)
- `ignored_as_backchannel` (boolean, optional, default: false)
- `platform_event` (enum, optional)
  - Allowed values: `user_turn_timeout`, `skip_turn_wait_elapsed`
- `original_message` (string, optional)
- `reasoning` (list of ConversationReasoningModel, optional)
- `source_medium` (enum, optional)
  - Allowed values: `audio`, `dtmf`, `text`, `image`, `file`
- `source_event_id` (integer, optional)
- `used_static_kb_document_ids` (list of string, optional)
- `user_identifier` (string, optional)
- `id` (string, optional)
- `triggered_guardrails` (list of TriggeredGuardrailCommonModel, optional)
- `file_input` (ConversationHistoryTranscriptFileInputResponseModel, optional) — Föråldrat: den första bilagan i den här turen. Använd `file_inputs` för att se alla bilagor.
- `file_inputs` (list of ConversationHistoryTranscriptFileInputResponseModel, optional) — Alla filer som bifogats i den här turen, i den ordning användaren bifogade dem.
- `contextual_update_info` (ContextualUpdateInfo, optional)
- `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)
- `call_summary_title` (string, optional)
- `scoped` (list of ScopedAnalysisResult, optional)

### ValidationError

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

### AgentConfig

- `first_message` (string, optional, default: ) — Om det inte är tomt är detta det första meddelandet agenten säger. Om det är tomt väntar agenten på att användaren ska inleda samtalet.
- `language` (string, optional, default: en) — Agentens språk – används för ASR och TTS
- `hinglish_mode` (boolean, optional, default: false) — När funktionen är aktiverad och språket är hindi svarar agenten på hinglish
- `dynamic_variables` (any, optional)
- `disable_first_message_interruptions` (boolean, optional, default: false) — Om värdet är true kan användaren inte avbryta agenten medan det första meddelandet levereras.
- `max_conversation_duration_message` (string, optional, default: ) — Om det inte är tomt är detta meddelandet agenten skickar när den maximala samtalslängden har uppnåtts.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional) — Åsidosättningar av svarsbeteende per kanal för textkonversationer. Kanalens inbyggda standardvärden används när inget har angetts.
- `prompt` (PromptAgentApiModelOutput, optional) — Prompten för agenten

### ToolMockConfig

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

### ConversationHistoryTranscriptCommonModelInput

- `role` (enum, required)
  - Allowed values: `user`, `agent`
- `time_in_call_secs` (integer, required)
- `agent_metadata` (AgentMetadata, optional)
- `message` (string, optional)
- `multivoice_message` (ConversationHistoryMultivoiceMessageModel, optional) — Representerar ett meddelande från en flerröstsagent.
- `tool_calls` (list of ConversationHistoryTranscriptToolCallCommonModelInput, optional)
- `tool_results` (list of ConversationHistoryTranscriptCommonModelInputToolResultsItem, optional)
- `feedback` (UserFeedback, optional)
- `llm_override` (string, optional)
- `producing_llm` (string, optional)
- `conversation_turn_metrics` (ConversationTurnMetrics, optional)
- `rag_retrieval_info` (RagRetrievalInfo, optional)
- `llm_usage` (LlmUsageInput, optional)
- `interrupted` (boolean, optional, default: false)
- `ignored_as_backchannel` (boolean, optional, default: false)
- `platform_event` (enum, optional)
  - Allowed values: `user_turn_timeout`, `skip_turn_wait_elapsed`
- `original_message` (string, optional)
- `reasoning` (list of ConversationReasoningModel, optional)
- `source_medium` (enum, optional)
  - Allowed values: `audio`, `dtmf`, `text`, `image`, `file`
- `source_event_id` (integer, optional)
- `used_static_kb_document_ids` (list of string, optional)
- `user_identifier` (string, optional)
- `id` (string, optional)
- `triggered_guardrails` (list of TriggeredGuardrailCommonModel, optional)

### AgentMetadata

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

### ConversationHistoryMultivoiceMessageModel

Representerar ett meddelande från en flerröstsagent.

- `parts` (list of ConversationHistoryMultivoiceMessagePartModel, required)

### ConversationHistoryTranscriptToolCallCommonModelOutput

- `request_id` (string, required)
- `tool_name` (string, required)
- `params_as_json` (string, required)
- `tool_has_been_called` (boolean, required)
- `type` (enum, optional)
  - Allowed values: `system`, `webhook`, `client`, `mcp`, `workflow`, `api_integration_webhook`, `api_integration_mcp`, `smb`
- `tool_details` (ConversationHistoryTranscriptToolCallCommonModelOutputToolDetails, optional)

### ConversationHistoryTranscriptResponseModelToolResultsItem

### 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)
- `convai_tts_model` (string, optional)
- `convai_tts_cascade` (string, optional)

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

### LlmUsageOutput

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

### ConversationReasoningModel

- `summary` (string, optional)
- `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)

### ConversationHistoryTranscriptFileInputResponseModel

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

### ContextualUpdateInfo

- `context_id` (string, required) — Klientangiven identifierare som grupperar relaterade kontextuppdateringar.
- `is_superseded` (boolean, optional, default: false) — True när den här kontextuella uppdateringen har ersatts av en nyare uppdatering med samma context_id.

### ConversationHistoryEvaluationCriteriaResultCommonModel

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

### DataCollectionResultCommonModel

- `data_collection_id` (string, required)
- `rationale` (string, required)
- `name` (string, optional)
- `value` (any, optional)
- `json_schema` (LiteralJsonSchemaProperty, optional) — Schemaegenskap för bokstavliga JSON-typer. VIKTIGT: Endast ETT av följande fält kan anges: description (LLM anger värdet), dynamic_variable (värde från variabel), is_system_provided (systemet anger värdet), constant_value (fast värde) eller is_omitted (parametern utelämnas). Dessa utesluter varandra.

### ScopedAnalysisResult

- `scope` (enum, required, default: conversation) — Analysens omfattning. 'conversation' använder hela transkriptionen; 'agent' använder endast den del där den definierande agenten var aktiv.
  - Allowed values: `conversation`, `agent`
- `source_agent_id` (string, required)
- `successful` (enum, required)
  - Allowed values: `success`, `failure`, `unknown`
- `source_branch_id` (string, optional) — Agentens gren för det här avgränsade blocket; särskiljer upprepade agent_id.
- `evaluation_criteria_results` (map from string to ConversationHistoryEvaluationCriteriaResultCommonModel, optional)
- `data_collection_results` (map from string to DataCollectionResultCommonModel, optional)
- `success_score` (double, optional)

### ValidationErrorLocItem

### BehaviorOverride

- `verbosity` (enum, optional) — Åsidosättning av detaljnivå. Underliggande standardvärde används när det inte är angivet.
  - Allowed values: `auto`, `concise`, `thorough`
- `output_format` (enum, optional) — Åsidosättning av utdataformat. Underliggande standardvärde används när den inte anges.
  - 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) — Åsidosättning av interaktionsbudget. Det underliggande standardvärdet gäller om inget värde har angetts.
  - Allowed values: `realtime`, `5_minutes`, `10_minutes`, `1_hour`

### PromptAgentApiModelOutput

- `prompt` (string, optional, default: ) — Prompten för agenten
- `llm` (enum, optional) — Den LLM som ska frågas med prompten och chatthistoriken. Vid användning av dataresidens måste LLM:en stödjas i dataresidensmiljön.
  - 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`, `claude-sonnet-4-5`, `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-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) — Modellens resonemangsinsats. Endast tillgängligt för vissa modeller.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional) — Maximalt antal token som används för resonemang. Använd 0 för att stänga av funktionen om modellen stöder det.
- `enable_reasoning_summary` (boolean, optional, default: false) — Aktivera sammanfattningar av modellens resonemang. När funktionen är inaktiverad begär vi inte sammanfattningar från leverantören, om möjligt, för snabbare TTFB. Inte kompatibelt med ZRM.
- `temperature` (double, optional) — Temperaturen för LLM:en. Standardvärdet är 0. Ange null för att utelämna parametern helt från LLM-begäran, vilket är användbart för anpassade LLM:er som avvisar temperaturfältet.
- `max_tokens` (integer, optional, default: -1) — Om värdet är större än 0: högsta antal token som LLM:en kan förutsäga
- `tool_ids` (list of string, optional) — En lista över ID:n för verktyg som används av agenten
- `built_in_tools` (BuiltInToolsOutput, optional) — Inbyggda systemverktyg som agenten kan använda
- `enable_parallel_tool_calls` (boolean, optional, default: true) — Aktivera parallella verktygsanrop. När funktionen är aktiverad kan agenten köra flera verktyg parallellt under en och samma tur. Stöds inte av alla modeller.
- `mcp_server_ids` (list of string, optional) — En lista med MCP-server-ID:n som agenten ska använda
- `native_mcp_server_ids` (list of string, optional) — En lista med Native MCP-server-ID:n som agenten ska använda
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — En lista med kunskapsbaser som agenten ska använda
- `custom_llm` (CustomLlm, optional) — Definition för en anpassad LLM om LLM-fältet är inställt på 'CUSTOM_LLM'
- `ignore_default_personality` (boolean, optional) — Om standardraderna för personlighet ska tas bort från systemprompten
- `rag` (RagConfigOutput, optional) — Konfiguration för RAG
- `timezone` (string, optional) — Tidszon för att visa aktuell tid i systemprompten. Om den anges inkluderas aktuell tid i systemprompten med denna tidszon. Måste vara ett giltigt tidszonsnamn (t.ex. 'America/New_York', 'Europe/London', 'UTC'). Rekommenderas för korrekta tidsmedvetna svar. Utan detta känner agenten inte till aktuellt datum eller aktuell tid, om du inte anger det via dynamiska variabler eller verktyg, vilket kan leda till felaktiga eller hallucinerade tidsreferenser.
- `backup_llm_config` (PromptAgentApiModelOutputBackupLlmConfig, optional) — Konfiguration för kaskadkoppling av reserv-LLM:er. Kan inaktiveras, använda systemets standardvärden eller ange en anpassad ordning.
- `cascade_timeout_seconds` (double, optional, default: 4) — Tid i sekunder innan växling till reserv-LLM. Måste vara mellan 2 och 15 sekunder.
- `tools` (list of PromptAgentApiModelOutputToolsItem, optional, deprecated) — En lista med verktyg som agenten kan använda under samtalet. Använd tool_ids i stället

### ConversationHistoryTranscriptToolCallCommonModelInput

- `request_id` (string, required)
- `tool_name` (string, required)
- `params_as_json` (string, required)
- `tool_has_been_called` (boolean, required)
- `type` (enum, optional)
  - Allowed values: `system`, `webhook`, `client`, `mcp`, `workflow`, `api_integration_webhook`, `api_integration_mcp`, `smb`
- `tool_details` (ConversationHistoryTranscriptToolCallCommonModelInputToolDetails, optional)

### ConversationHistoryTranscriptCommonModelInputToolResultsItem

### LlmUsageInput

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

### ConversationHistoryMultivoiceMessagePartModel

Representerar en enskild röstpart i ett flerröstsmeddelande.

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

### ConversationHistoryTranscriptToolCallCommonModelOutputToolDetails

- `type`: `api_integration_webhook`
  - `credential_id` (string, required, default: )
  - `integration_connection_id` (string, required, default: )
  - `integration_id` (string, required, default: )
  - `webhook_details` (ConversationHistoryTranscriptToolCallWebhookDetails, required)
- `type`: `client`
  - `parameters` (string, required)
- `type`: `mcp`
  - `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`
  - `method` (string, required)
  - `url` (string, required)
  - `body` (string, optional)
  - `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)
  - Allowed values: `client`, `webhook`, `mcp`, `code`

### ConversationHistoryTranscriptSystemToolResultCommonModelOutput

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

### ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModelOutput

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

### ConversationHistoryTranscriptWorkflowToolsResultCommonModelOutput

- `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` (WorkflowToolResponseModelOutput, optional) — En gemensam modell för svar från workflow-verktyg.

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

Schemaegenskap för bokstavliga JSON-typer. VIKTIGT: Endast ETT av följande fält kan anges: description (LLM anger värdet), dynamic_variable (värde från variabel), is_system_provided (systemet anger värdet), constant_value (fast värde) eller is_omitted (parametern utelämnas). Dessa utesluter varandra.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — Beskrivningen av egenskapen. När den är angiven tillhandahåller LLM:en värdet baserat på denna beskrivning. Kan inte användas tillsammans med dynamic_variable, is_system_provided, constant_value och is_omitted.
- `enum` (list of string, optional) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Om värdet är true fylls värdet i av systemet vid körning. Används av API Integration Webhook-verktyg för mallar. Kan inte användas tillsammans med description, dynamic_variable, constant_value och is_omitted.
- `dynamic_variable` (string, optional, default: ) — Namnet på den dynamiska variabel som ska användas för den här egenskapens värde. Kan inte användas tillsammans med description, is_system_provided, constant_value och is_omitted.
- `allowed_values` (AllowedValues, optional) — Avvisningsskydd på serversidan för ett värde från en LLM: körtiden avvisar alla värden utanför den tillåtna uppsättning som objektet anger, och uppsättningen visas inte för LLM:en som en enum. Stöds endast när värdekällan är `description`; det går inte att kombinera med dynamic_variable, is_system_provided, constant_value eller is_omitted.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional) — Ett konstant värde att använda för den här egenskapen. Kan inte användas tillsammans med description, dynamic_variable, is_system_provided och is_omitted.
- `is_omitted` (boolean, optional, default: false) — Om värdet är true utelämnas denna parameter helt från förfrågningen. Gäller endast valfria parametrar. Kan inte användas tillsammans med description, dynamic_variable, is_system_provided och constant_value.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — FÖRÅLDRAT: använd `allowed_values` i stället. När det är inställt tillhandahåller LLM:n värdet, men körningsmiljön avvisar alla värden som inte finns i listan som den här dynamiska variabeln innehåller (måste vara en JSON-array som ["ws_alpha", "ws_beta"]). Använd detta för att låta LLM:n välja från en serververifierad uppsättning (t.ex. de ID:n som den aktuella användaren har behörighet till). Kräver description; kan inte användas tillsammans med dynamic_variable, is_system_provided, constant_value och is_omitted.

### BuiltInToolsOutput

Systemverktyg som en konversationsagent kan tilldelas. Har medvetet inte namnet ConversationalBuiltInTools: BuiltInToolsInput och BuiltInToolsOutput ingår i den offentliga API-specifikationen och de genererade SDK:erna.

- `transfer_to_agent` (SystemToolConfigOutput, optional) — Verktyget för överföring till agent
- `end_call` (SystemToolConfigOutput, optional) — Verktyget för att avsluta samtalet
- `language_detection` (SystemToolConfigOutput, optional) — Språkidentifieringsverktyget
- `transfer_to_number` (SystemToolConfigOutput, optional) — Verktyget för överföring till nummer
- `skip_turn` (SystemToolConfigOutput, optional) — Verktyget för att hoppa över tur
- `play_keypad_touch_tone` (SystemToolConfigOutput, optional) — Verktyget för att spela upp DTMF
- `voicemail_detection` (SystemToolConfigOutput, optional) — Verktyget för röstmeddelandeidentifiering

### KnowledgeBaseLocator

- `type` (enum, required) — Typen av kunskapsbas
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — Namnet på kunskapsbasen
- `id` (string, required) — ID:t för kunskapsbasen
- `usage_mode` (enum, optional, default: auto) — Användningsläget för kunskapsbasen
  - Allowed values: `prompt`, `auto`

### CustomLlm

- `url` (string, required) — Webbadressen till den Chat Completions-kompatibla slutpunkten
- `model_id` (string, optional) — Modell-ID:t som ska användas om URL:en tillhandahåller flera modeller
- `api_key` (CustomLlmApiKey, optional) — API-nyckeln för autentisering. Antingen en referens till en hemlighet i arbetsytan \{'secret\_id': '...'} eller en referens till en miljövariabel \{'env\_var\_label': '...'}.
- `auth_connection` (CustomLlmAuthConnection, optional) — Valfri autentiseringsanslutning för arbetsytan. Endast autentiseringsanslutningar som genererar en Authorization Bearer-token stöds; Basic-autentisering, mTLS, anpassade huvuden och autentiseringsanslutningar med URL-hemlighet stöds inte.
- `request_headers` (map from string to CustomLlmRequestHeadersValue, optional) — Headers som ska inkluderas i begäran
- `api_version` (string, optional) — API-versionen som ska användas för begäran
- `api_type` (enum, optional, default: chat_completions) — API-typen som ska användas (chat_completions, responses eller websocket)
  - Allowed values: `chat_completions`, `responses`, `websocket`

### RagConfigOutput

- `enabled` (boolean, optional, default: false)
- `embedding_model` (enum, optional, default: e5_mistral_7b_instruct)
  - Allowed values: `e5_mistral_7b_instruct`, `multilingual_e5_large_instruct`
- `max_vector_distance` (double, optional, default: 0.6) — Maximalt vektoravstånd för hämtade delar.
- `max_documents_length` (integer, optional, default: 50000) — Maximal sammanlagd längd på dokumentdelar som hämtas från RAG.
- `max_retrieved_rag_chunks_count` (integer, optional, default: 20) — Maximalt antal RAG-dokumentdelar att först hämta från vektorlagret. De filtreras sedan ytterligare efter vektoravstånd och total längd.
- `num_candidates` (integer, optional) — Antal kandidater som utvärderas i ANN-vektorsökningen. Ett högre antal ger bättre resultat, men högre latens. Lägsta rekommenderade värde är 100. Om det är inaktiverat används standardvärdet.
- `query_rewrite_prompt_override` (string, optional) — Anpassad prompt för att skriva om användarfrågor före RAG-hämtning. Konversationshistoriken läggs automatiskt till i slutet. Om den inte anges används standardprompten.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional) — När detta är angivet använder agenten verktyget knowledge_base i stället för det äldre verktyget knowledge_base_rag. None innebär att agenten inte har aktiverats.

### PromptAgentApiModelOutputBackupLlmConfig

Konfiguration för kaskadkoppling av reserv-LLM:er. Kan inaktiveras, använda systemets standardvärden eller ange en anpassad ordning.

- `preference`: `default`
- `preference`: `disabled`
- `preference`: `override`
  - `order` (list of enum, required)
    - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `claude-sonnet-4-5`, `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-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`

### PromptAgentApiModelOutputToolsItem

Verktygstypen

- `type`: `api_integration_webhook`
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `assignments` (list of DynamicVariableAssignment, required) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
  - `description` (string, required) — Beskrivning av när verktyget ska användas och vad det gör.
  - `dynamic_variables` (DynamicVariablesConfig, required) — Konfiguration för dynamiska variabler
  - `execution_mode` (enum, required, default: immediate) — Avgör när och hur verktyget körs: 'immediate' kör verktyget direkt när LLM begär det, 'post_tool_speech' väntar tills agenten har talat färdigt innan det körs, och 'async' kör verktyget i bakgrunden utan att blockera – bäst för långvariga åtgärder.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, required, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `name` (string, required)
  - `pre_tool_speech` (enum, required, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, required, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras. Måste vara mellan 5 och 300 sekunder, inklusive gränserna.
  - `tool_call_sound_behavior` (enum, required, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, required, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, required, default: 1.0.0) — Versionen av API-integrationsverktyget
  - `disable_interruptions` (boolean, required, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
  - `force_pre_tool_speech` (boolean, required, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, optional) — Användaråsidosättningar som tillämpas ovanpå det grundläggande api_schema
  - `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `type`: `client`
  - `description` (string, required) — Beskrivning av när verktyget ska användas och vad det gör.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Konfiguration för dynamiska variabler
  - `execution_mode` (enum, optional, default: immediate) — Avgör när och hur verktyget körs: 'immediate' kör verktyget direkt när LLM begär det, 'post_tool_speech' väntar tills agenten har talat färdigt innan det körs, och 'async' kör verktyget i bakgrunden utan att blockera – bäst för långvariga åtgärder.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Om värdet är true ska anrop av detta verktyg blockera konversationen tills klienten svarar med ett svar som skickas till llm. Om värdet är false fortsätter vi konversationen utan att vänta på klientens svar. Detta är användbart för att visa innehåll för en användare utan att blockera konversationen.
  - `interruption_mode` (enum, optional, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaPropertyOutput, optional) — Schema för parametrar som ska skickas till klienten
  - `pre_tool_speech` (enum, optional, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras. Måste vara mellan 1 och 120 sekunder, inklusive gränserna, eller -1 för att vänta på klientens svar utan tidsgräns (kräver expects_response).
  - `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.
- `type`: `mcp`
  - `value` (any, required)
- `type`: `smb`
  - `value` (any, required)
- `type`: `system`
  - `name` (string, required)
  - `params` (SystemToolConfigOutputParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
  - `description` (string, optional, default: ) — Beskrivning av när verktyget ska användas och vad det gör. Lämna tomt för att använda standardbeskrivningen som är optimerad för den specifika verktygstypen.
  - `interruption_mode` (enum, optional, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras.
  - `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.
- `type`: `webhook`
  - `api_schema` (WebhookToolApiSchemaConfigOutput, required) — Schemat för den utgående webhooken, inklusive parametrar och URL-specifikation
  - `description` (string, required) — Beskrivning av när verktyget ska användas och vad det gör.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Konfiguration för dynamiska variabler
  - `execution_mode` (enum, optional, default: immediate) — Avgör när och hur verktyget körs: 'immediate' kör verktyget direkt när LLM begär det, 'post_tool_speech' väntar tills agenten har talat färdigt innan det körs, och 'async' kör verktyget i bakgrunden utan att blockera – bäst för långvariga åtgärder.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Om en omdirigering från slutpunkten ska följas och det slutliga svaret returneras. En omdirigering följs som en GET-begäran utan begärandetext. Inget som har konfigurerats för det här verktyget (headers, autentisering, klientcertifikat) skickas till omdirigeringens mål. Både slutpunkten och omdirigeringens mål måste använda HTTPS. Stöds inte för API-integreringsverktyg.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domäner som en omdirigering kan peka på, t.ex. 'test.example.com'. Krävs när omdirigeringar följs, och ett mål utanför listan nekas.
  - `interruption_mode` (enum, optional, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras. Måste vara mellan 5 och 300 sekunder, inklusive gränserna.
  - `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.

### ConversationHistoryTranscriptToolCallCommonModelInputToolDetails

- `type`: `api_integration_webhook`
  - `webhook_details` (ConversationHistoryTranscriptToolCallWebhookDetails, required)
  - `credential_id` (string, optional, default: )
  - `integration_connection_id` (string, optional, default: )
  - `integration_id` (string, optional, default: )
- `type`: `client`
  - `parameters` (string, required)
- `type`: `mcp`
  - `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`
  - `method` (string, required)
  - `url` (string, required)
  - `body` (string, optional)
  - `headers` (map from string to string, optional)
  - `path_params` (map from string to string, optional)
  - `query_params` (map from string to string, optional)

### ConversationHistoryTranscriptSystemToolResultCommonModelInput

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

### ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModelInput

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

### ConversationHistoryTranscriptWorkflowToolsResultCommonModelInput

- `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` (WorkflowToolResponseModelInput, optional) — En gemensam modell för svar från workflow-verktyg.

### ConversationHistoryTranscriptToolCallWebhookDetails

- `method` (string, required)
- `url` (string, required)
- `type` ("webhook", optional)
- `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)

### DynamicVariableUpdateCommonModel

Spårar en uppdatering av en dynamisk variabel som inträffade när verktyget kördes.

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

### ConversationHistoryTranscriptSystemToolResultCommonModelOutputResult

- `result_type`: `dummy`
- `result_type`: `end_call_success`
  - `message` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `end_procedure_error`
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_id`
  - `procedure_id` (string, optional)
- `result_type`: `end_procedure_success`
  - `procedure_id` (string, required)
  - `procedure_name` (string, required)
  - `message` (string, optional, default: )
  - `status` ("success", optional)
- `result_type`: `knowledge_base_rag_success`
  - `chunk_count` (integer, optional, default: 0) — Antal relevanta segment som hämtats
  - `chunks` (list of KnowledgeBaseRagChunkModel, optional) — Hämtade segment; fylls endast i läget rag-result-in-tool-result
  - `message` (string, optional, default: Referenced knowledge base.) — Människoläsbar status för LLM:en om sökresultaten
  - `status` (enum, optional, default: success)
    - Allowed values: `success`, `no_documents`, `no_results`
- `result_type`: `knowledge_base_success`
  - `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`
  - `language` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `play_dtmf_error`
  - `error` (string, required)
  - `details` (string, optional)
  - `status` ("error", optional)
- `result_type`: `play_dtmf_success`
  - `dtmf_tones` (string, required)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `skip_turn_success`
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `start_procedure_error`
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_name`, `already_active`
  - `procedure_id` (string, optional)
- `result_type`: `start_procedure_success`
  - `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)
  - `procedure_return_workflow_node` (string, optional)
  - `status` ("success", optional)
- `result_type`: `testing_tool_result`
  - `reason` (string, optional, default: Skipping tool call in test mode)
  - `status` ("success", optional)
- `result_type`: `transfer_to_agent_error`
  - `error` (string, required)
  - `from_agent` (string, required)
  - `status` ("error", optional)
- `result_type`: `transfer_to_agent_success`
  - `condition` (string, required)
  - `from_agent` (string, required)
  - `to_agent` (string, required)
  - `branch_info` (TransferToAgentToolResultSuccessModelOutputBranchInfo, optional)
  - `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)
  - `to_node` (string, optional)
  - `transfer_message` (string, optional)
- `result_type`: `transfer_to_number_amazon_connect_success`
  - `client_message` (string, optional) — Meddelande som sägs till uppringaren innan sessionen lämnas tillbaka till Amazon Connect.
  - `note` (string, optional) — Anges när agenten upprepade ett ogiltigt alternativ och det enda konfigurerade alternativet användes.
  - `reason` (string, optional) — Varför agenten eskalerade, enligt vad som skickades till Amazon Connect med utfallet Escalate.
  - `status` ("success", optional)
- `result_type`: `transfer_to_number_error`
  - `error` (string, required)
  - `details` (string, optional)
  - `status` ("error", optional)
- `result_type`: `transfer_to_number_exotel_success`
  - `transfer_number` (string, required)
  - `agent_message` (string, optional)
  - `note` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `transfer_to_number_sip_success`
  - `transfer_number` (string, required)
  - `note` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `transfer_to_number_twilio_success`
  - `agent_message` (string, required)
  - `conference_name` (string, required)
  - `transfer_number` (string, required)
  - `client_message` (string, optional)
  - `note` (string, optional)
  - `post_dial_digits` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `voicemail_detection_success`
  - `reason` (string, optional)
  - `status` ("success", optional)
  - `voicemail_message` (string, optional)

### WorkflowToolResponseModelOutput

En gemensam modell för svar från workflow-verktyg.

- `steps` (list of WorkflowToolResponseModelOutputStepsItem, optional)

### LlmTokensCategoryUsage

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

### LiteralJsonSchemaPropertyType

### AllowedValues

- `dynamic_variable` (string, required) — Namn på en dynamisk variabel som måste lösas till en JSON-array med tillåtna värden, t.ex. ["ws_alpha", "ws_beta"]. Systemvariabler fungerar endast om de löses till en lista.

### LiteralJsonSchemaPropertyConstantValue

Ett konstant värde att använda för den här egenskapen. Kan inte användas tillsammans med description, dynamic_variable, is_system_provided och is_omitted.

### SystemToolConfigOutput

Ett systemverktyg är ett verktyg som används för att anropa en systemmetod på servern

- `name` (string, required)
- `params` (SystemToolConfigOutputParams, required)
- `type` ("system", optional) — Verktygstypen
- `description` (string, optional, default: ) — Beskrivning av när verktyget ska användas och vad det gör. Lämna tomt för att använda standardbeskrivningen som är optimerad för den specifika verktygstypen.
- `response_timeout_secs` (integer, optional, default: 20) — Den längsta tiden i sekunder att vänta på att verktygsanropet ska slutföras.
- `interruption_mode` (enum, optional, default: allow) — Styr om användaren kan avbryta agenten kring det här verktygsanropet. 'allow' (standard) låter användaren avbryta när som helst, 'disable_during_tool' förhindrar avbrott endast medan verktyget körs och 'disable_during_tool_and_turn' förhindrar avbrott medan verktyget körs och under agentens efterföljande svar.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `pre_tool_speech` (enum, optional, default: auto) — Styr om agenten talar innan det här verktyget anropas. 'auto' (standard) avgör utifrån verktygets senaste latens, 'force' ber alltid agenten att tala och 'off' inaktiverar detta helt oavsett latens.
  - Allowed values: `auto`, `force`, `off`
- `assignments` (list of DynamicVariableAssignment, optional) — Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler
- `tool_call_sound` (enum, optional) — Fördefinierad typ av verktygsanropsljud som spelas under verktygskörning. Om inget anges spelas inget verktygsanropsljud upp.
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Avgör när ljudet för verktygsanrop ska spelas upp. 'auto' spelas endast upp när tal kommer före verktyget, och 'always' spelas upp för varje verktygsanrop.
  - Allowed values: `auto`, `always`
- `tool_error_handling_mode` (enum, optional, default: auto) — Styr hur verktygsfel bearbetas innan de delas med agenten. 'auto' avgör hanteringen utifrån verktygstypen (sammanfattas för inbyggda integrationer, döljs för övriga), 'summarized' skickar en LLM-genererad sammanfattning, 'passthrough' skickar det råa felet och 'hide' delar inte felet med agenten.
  - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
- `disable_interruptions` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `interruption_mode` i stället. Om true kan användaren inte avbryta agenten medan det här verktyget körs.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — FÖRÅLDRAT: använd `pre_tool_speech` i stället. Om true talar agenten före verktygsanropet.

### CustomLlmApiKey

API-nyckeln för autentisering. Antingen en referens till en hemlighet i arbetsytan \{'secret\_id': '...'} eller en referens till en miljövariabel \{'env\_var\_label': '...'}.

### CustomLlmAuthConnection

Valfri autentiseringsanslutning för arbetsytan. Endast autentiseringsanslutningar som genererar en Authorization Bearer-token stöds; Basic-autentisering, mTLS, anpassade huvuden och autentiseringsanslutningar med URL-hemlighet stöds inte.

### CustomLlmRequestHeadersValue

### KnowledgeBaseToolInfo

- `enabled_strategies` (list of enum, optional) — Sökstrategier som exponeras för modellen. Får inte vara tomt.
  - Allowed values: `cat`, `keyword`, `semantic`, `ls`

### DynamicVariableAssignment

Konfiguration för att extrahera värden från verktygssvar och tilldela dem till dynamiska variabler.

- `dynamic_variable` (string, required) — Namnet på den dynamiska variabel som det extraherade värdet ska tilldelas
- `value_path` (string, required) — Sökväg med punktnotation för att extrahera värdet från källan (t.ex. 'user.name' eller 'data.0.id')
- `source` ("response", optional) — Källan som värdet ska extraheras från. För närvarande stöds endast 'response'.
- `sanitize` (boolean, optional, default: false) — Om värdet är true tas värdet för denna tilldelning bort från verktygssvaret innan det skickas till LLM och transkriptionen, men behandlas fortfarande för variabeltilldelning.
- `preserve_native_type` (boolean, optional, default: false) — Om värdet är true lagras icke-skalära värden (listor, objekt) som extraherats från verktygssvaret i sin ursprungliga typ i stället för att konverteras till JSON-strängar. Aktivera detta för att använda extraherade arrayer direkt som dynamiska listvariabler.

### DynamicVariablesConfig

- `dynamic_variable_placeholders` (map from string to any, optional) — En ordlista med platshållare för dynamiska variabler och deras värden

### ApiIntegrationWebhookOverrides

- `schema_overrides` (map from string to ApiIntegrationWebhookOverridesSchemaOverridesValue, optional)
- `response_filter_mode` (enum, optional, default: all) — Styr hur verktygssvar filtreras innan de blir synliga för agenten.
  - Allowed values: `all`, `allow`, `hide_all`
- `response_filters` (list of string, optional)
- `request_headers` (map from string to ApiIntegrationWebhookOverridesRequestHeadersValue, optional)

### ObjectJsonSchemaPropertyOutput

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — När detta är angivet fylls hela parametern i från denna dynamiska variabel vid körning. Kan inte användas tillsammans med description (värde som tillhandahålls av LLM), constant_value och is_omitted.
- `constant_value` (map from string to any, optional) — När detta är angivet använder hela objektet detta konstanta JSON-värde vid körning. Kan inte användas tillsammans med description (objekt som tillhandahålls av LLM), dynamic_variable och is_omitted.
- `is_omitted` (boolean, optional, default: false) — Om värdet är true utelämnas denna parameter helt från förfrågningen. Gäller endast valfria parametrar. Kan inte användas tillsammans med description, dynamic_variable och constant_value.
- `type` ("object", optional)
- `required` (list of string, optional)
- `properties` (map from string to ObjectJsonSchemaPropertyOutputPropertiesValue, optional)
- `required_constraints` (RequiredConstraints, optional) — Omslutning för sammansättningsbegränsningar med anyOf/allOf som är begränsade till obligatoriska fält.

### SystemToolConfigOutputParams

- `system_tool_type`: `end_call`
- `system_tool_type`: `end_procedure`
  - `procedures` (map from string to EndProcedureToolConfigProceduresValue, optional)
- `system_tool_type`: `knowledge_base`
  - `enabled_strategies` (list of enum, optional)
    - Allowed values: `cat`, `keyword`, `semantic`, `ls`
- `system_tool_type`: `knowledge_base_rag`
- `system_tool_type`: `language_detection`
  - `only_at_conversation_start` (boolean, optional, default: false) — Om inget språkbyte sker under användarens första två turer misslyckas senare försök och konversationen fortsätter på det aktuella språket. Om språket byts under dessa turer förblir senare språkbyten tillgängliga. Aktivera för att minska risken för felaktiga språkbyten.
- `system_tool_type`: `play_keypad_touch_tone`
  - `suppress_turn_after_dtmf` (boolean, optional, default: false) — Om värdet är true genererar agenten inget ytterligare tal efter att ha spelat DTMF-toner. Detta förhindrar att agentens tal stör IVR-system.
  - `use_out_of_band_dtmf` (boolean, optional, default: true) — Skicka DTMF-toner som out-of-band-RTP-händelser (RFC 4733) i stället för in-band-ljud. Gäller endast nummer som importerats från en SIP-trunk.
- `system_tool_type`: `skip_turn`
  - `wait_timeout_secs` (double, optional, default: -1) — Sekunder att vänta efter skip_turn innan agenten genererar en kontextuell avstämning. Timern "End conversation after silence" pausas under väntan. -1 inaktiverar väntan: efter skip_turn förblir agenten tyst tills uppringaren talar, och timern fortsätter att gå. Gäller endast röstkonversationer.
- `system_tool_type`: `start_procedure`
  - `procedures` (map from string to StartProcedureToolConfigProceduresValue, optional)
- `system_tool_type`: `transfer_to_agent`
  - `transfers` (list of AgentTransferOutput, required)
- `system_tool_type`: `transfer_to_number`
  - `transfers` (list of PhoneNumberTransfer, required)
  - `enable_client_message` (boolean, optional, default: true) — Om ett meddelande ska spelas upp för klienten medan den väntar på överföring. Standardvärdet är true för bakåtkompatibilitet.
- `system_tool_type`: `voicemail_detection`
  - `voicemail_message` (string, optional) — Valfritt meddelande att lämna på röstbrevlådan när den upptäcks. Om inget anges avslutas samtalet direkt när en röstbrevlåda upptäcks. Stöder dynamiska variabler (t.ex. \{\{system\_\_time}}, \{\{system\_\_call\_duration\_secs}}, \{\{custom\_variable}}).

### WebhookToolApiSchemaConfigOutput

- `url` (string, required) — Webbadressen som webhooken skickas till. Kan innehålla sökvägsparametrar, t.ex. [https://example.com/agents/\{agent\_id}](https://example.com/agents/\{agent_id})
- `request_headers` (map from string to WebhookToolApiSchemaConfigOutputRequestHeadersValue, optional) — Headers som ska inkluderas i begäran
- `method` (enum, optional, default: GET) — HTTP-metoden att använda för webhooken
  - Allowed values: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`
- `path_params_schema` (map from string to LiteralJsonSchemaProperty, optional) — Schema för eventuella sökvägsparametrar. Nycklarna ska matcha platshållarna i URL:en.
- `query_params_schema` (QueryParamsJsonSchemaOutput, optional) — Schema för eventuella frågeparametrar. Dessa läggs till i slutet av URL:en som frågeparametrar. Obs: egenskaper i en frågeparameter måste alla vara bokstavliga typer.
- `request_body_schema` (ObjectJsonSchemaPropertyOutput, optional) — Schema för eventuella brödtextparametrar. Används för POST/PATCH/PUT-begäranden. Schemat ska vara ett objekt som skickas som JSON-brödtext.
- `response_body_schema` (ObjectJsonSchemaPropertyOutput, optional) — Schema som beskriver den förväntade strukturen för svarstexten. Endast för dokumentation; visas inte för LLM:en.
- `response_filter` (ResponseFilter, optional) — Valfritt filter med tillåtelselista som tillämpas på svaret innan LLM:en ser det, så att stora svar inte fyller kontexten. Standardvärdet är hela svaret.
- `content_type` (enum, optional, default: application/json) — Innehållstyp för begärandetexten. Gäller endast POST-/PUT-/PATCH-begäranden.
  - Allowed values: `application/json`, `application/x-www-form-urlencoded`
- `auth_resolved_params` (list of string, optional) — URL-platshållare som hämtas från autentiseringsanslutningen (t.ex. hemligheter som injiceras via UrlSecretAuthConnection) i stället för från path_params_schema.
- `auth_connection` (WebhookToolApiSchemaConfigOutputAuthConnection, optional) — Valfri autentiseringsanslutning att använda för autentisering med denna webhook

### ConversationHistoryTranscriptSystemToolResultCommonModelInputResult

- `result_type`: `dummy`
- `result_type`: `end_call_success`
  - `message` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `end_procedure_error`
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_id`
  - `procedure_id` (string, optional)
- `result_type`: `end_procedure_success`
  - `procedure_id` (string, required)
  - `procedure_name` (string, required)
  - `message` (string, optional, default: )
  - `status` ("success", optional)
- `result_type`: `knowledge_base_rag_success`
  - `chunk_count` (integer, optional, default: 0) — Antal relevanta segment som hämtats
  - `chunks` (list of KnowledgeBaseRagChunkModel, optional) — Hämtade segment; fylls endast i läget rag-result-in-tool-result
  - `message` (string, optional, default: Referenced knowledge base.) — Människoläsbar status för LLM:en om sökresultaten
  - `status` (enum, optional, default: success)
    - Allowed values: `success`, `no_documents`, `no_results`
- `result_type`: `knowledge_base_success`
  - `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`
  - `language` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `play_dtmf_error`
  - `error` (string, required)
  - `details` (string, optional)
  - `status` ("error", optional)
- `result_type`: `play_dtmf_success`
  - `dtmf_tones` (string, required)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `skip_turn_success`
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `start_procedure_error`
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_name`, `already_active`
  - `procedure_id` (string, optional)
- `result_type`: `start_procedure_success`
  - `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)
  - `procedure_return_workflow_node` (string, optional)
  - `status` ("success", optional)
- `result_type`: `testing_tool_result`
  - `reason` (string, optional, default: Skipping tool call in test mode)
  - `status` ("success", optional)
- `result_type`: `transfer_to_agent_error`
  - `error` (string, required)
  - `from_agent` (string, required)
  - `status` ("error", optional)
- `result_type`: `transfer_to_agent_success`
  - `condition` (string, required)
  - `from_agent` (string, required)
  - `to_agent` (string, required)
  - `branch_info` (TransferToAgentToolResultSuccessModelInputBranchInfo, optional)
  - `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)
  - `to_node` (string, optional)
  - `transfer_message` (string, optional)
- `result_type`: `transfer_to_number_amazon_connect_success`
  - `client_message` (string, optional) — Meddelande som sägs till uppringaren innan sessionen lämnas tillbaka till Amazon Connect.
  - `note` (string, optional) — Anges när agenten upprepade ett ogiltigt alternativ och det enda konfigurerade alternativet användes.
  - `reason` (string, optional) — Varför agenten eskalerade, enligt vad som skickades till Amazon Connect med utfallet Escalate.
  - `status` ("success", optional)
- `result_type`: `transfer_to_number_error`
  - `error` (string, required)
  - `details` (string, optional)
  - `status` ("error", optional)
- `result_type`: `transfer_to_number_exotel_success`
  - `transfer_number` (string, required)
  - `agent_message` (string, optional)
  - `note` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `transfer_to_number_sip_success`
  - `transfer_number` (string, required)
  - `note` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `transfer_to_number_twilio_success`
  - `agent_message` (string, required)
  - `conference_name` (string, required)
  - `transfer_number` (string, required)
  - `client_message` (string, optional)
  - `note` (string, optional)
  - `post_dial_digits` (string, optional)
  - `reason` (string, optional)
  - `status` ("success", optional)
- `result_type`: `voicemail_detection_success`
  - `reason` (string, optional)
  - `status` ("success", optional)
  - `voicemail_message` (string, optional)

### WorkflowToolResponseModelInput

En gemensam modell för svar från workflow-verktyg.

- `steps` (list of WorkflowToolResponseModelInputStepsItem, optional)

### KnowledgeBaseRagChunkModel

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

### TransferToAgentToolResultSuccessModelOutputBranchInfo

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

### WorkflowToolResponseModelOutputStepsItem

- `type`: `edge`
  - `edge_id` (string, required)
  - `step_latency_secs` (double, required)
  - `target_node_id` (string, required)
- `type`: `max_iterations_exceeded`
  - `max_iterations` (integer, required)
  - `step_latency_secs` (double, required)
- `type`: `nested_tools`
  - `is_successful` (boolean, required)
  - `node_id` (string, required)
  - `requests` (list of ConversationHistoryTranscriptToolCallCommonModelOutput, required)
  - `results` (list of WorkflowToolNestedToolsStepModelOutputResultsItem, required)
  - `step_latency_secs` (double, required)

### ConvAiSecretLocator

Används för att referera till en hemlighet från agentens hemlighetslager.

- `secret_id` (string, required)

### ConvAiEnvVarLocator

Används för att referera till en miljövariabel med etikett.

- `env_var_label` (string, required)

### AuthConnectionLocator

Används för att referera till en autentiseringsanslutning från arbetsytans lager för autentiseringsanslutningar.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Refererar till en miljövariabel av typen 'auth_connection' via etikett. Vid körning löses den till autentiseringsanslutningen för den aktuella miljön, med återgång till standardmiljön.

- `env_var_label` (string, required)

### ConvAiDynamicVariable

Används för att referera till en dynamisk variabel.

- `variable_name` (string, required)

### ApiIntegrationWebhookOverridesSchemaOverridesValue

- `source`: `constant`
  - `constant_value` (ConstantSchemaOverrideConstantValue, optional) — Det konstanta värde som ska användas
- `source`: `dynamic_variable`
  - `dynamic_variable` (string, required) — Namnet på den dynamiska variabel som ska användas
- `source`: `llm`
  - `prompt` (string, optional) — Prompt-åsidosättning för LLM:en. Om den inte anges används den ursprungliga schemabeskrivningen.
- `source`: `omit`

### ApiIntegrationWebhookOverridesRequestHeadersValue

### ObjectJsonSchemaPropertyOutputPropertiesValue

### RequiredConstraints

Omslutning för sammansättningsbegränsningar med anyOf/allOf som är begränsade till obligatoriska fält.

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

### EndProcedureToolConfigProceduresValue

### StartProcedureToolConfigProceduresValue

### AgentTransferOutput

- `condition` (string, required)
- `agent_id` (string, optional)
- `branch_id` (string, optional)
- `node_id` (string, optional)
- `delay_ms` (integer, optional, default: 0)
- `transfer_message` (string, optional)
- `enable_transferred_agent_first_message` (boolean, optional, default: false)
- `is_workflow_node_transfer` (boolean, optional, default: false)
- `preserve_client_tts_overrides` (boolean, optional, default: false) — Definierar om TTS-klientåsidosättningar ska överföras till den överförda agenten.
- `preserve_voice_settings` (boolean, optional, default: false) — Definierar om basrösten, TTS-modellen och röstinställningarna ska överföras till den överförda agenten.

### PhoneNumberTransfer

- `transfer_destination` (PhoneNumberTransferTransferDestination, required)
- `condition` (string, required)
- `custom_sip_headers` (list of PhoneNumberTransferCustomSipHeadersItem, optional) — Anpassade SIP-headers att inkludera vid överföring av samtalet. Varje header kan vara antingen ett statiskt värde eller en referens till en dynamisk variabel.
- `transfer_type` (enum, optional, default: conference)
  - Allowed values: `blind`, `conference`, `sip_refer`
- `sip_refer_play_dialtone` (boolean, optional, default: true) — När värdet är True spelas en ringsignal upp på det ursprungliga samtalsbenet medan en SIP REFER-överföring slutförs. Signalen överförs via RTP till SIP-motparten som utför REFER, så inaktivera detta om det mottagande systemet (t.ex. en SBC eller ett kontaktcenter) inte ska höra den. När funktionen är inaktiverad hör den som ringer tystnad tills överföringen slutförs. Gäller endast SIP REFER-överföringar.
- `uui` (UuiTransferConfig, optional) — User-to-User Information (RFC 7433) som ska bifogas SIP REFER-överföringar. Överför samtalskontext, såsom CRM-identifierare eller eskaleringsorsak, över överföringsgränsen.
- `post_dial_digits` (PhoneNumberTransferPostDialDigits, optional) — DTMF-siffror att skicka när samtalet har anslutits (t.ex. 'ww1234' för anknytningsnummer). Kan vara antingen ett statiskt värde eller en dynamisk variabelreferens. Använd 'w' för en paus på 0,5 sekunder. Stöds endast för Twilio-överföringar.
- `phone_number` (string, optional, deprecated)

### WebhookToolApiSchemaConfigOutputRequestHeadersValue

### QueryParamsJsonSchemaOutput

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

### ResponseFilter

Konfiguration för filtrering av verktygssvar innan de blir synliga för agenten.

- `mode` (enum, optional, default: all) — Styr hur verktygssvar filtreras. 'all' returnerar hela svaret, 'allow' returnerar endast angivna sökvägar och 'hide_all' döljer hela svaret.
  - Allowed values: `all`, `allow`, `hide_all`
- `filters` (list of string, optional) — Sökvägar med punktnotation att inkludera när läget är 'allow' (t.ex. ['ticket.id', 'ticket.status']).
- `content_type` ("application/json", optional) — Innehållstyp för svarsfiltrering. Endast svar av typen ”application/json” filtreras.

### WebhookToolApiSchemaConfigOutputAuthConnection

Valfri autentiseringsanslutning att använda för autentisering med denna webhook

### TransferToAgentToolResultSuccessModelInputBranchInfo

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

### WorkflowToolResponseModelInputStepsItem

- `type`: `edge`
  - `edge_id` (string, required)
  - `step_latency_secs` (double, required)
  - `target_node_id` (string, required)
- `type`: `max_iterations_exceeded`
  - `max_iterations` (integer, required)
  - `step_latency_secs` (double, required)
- `type`: `nested_tools`
  - `is_successful` (boolean, required)
  - `node_id` (string, required)
  - `requests` (list of ConversationHistoryTranscriptToolCallCommonModelInput, required)
  - `results` (list of WorkflowToolNestedToolsStepModelInputResultsItem, required)
  - `step_latency_secs` (double, required)

### WorkflowToolNestedToolsStepModelOutputResultsItem

### ConstantSchemaOverrideConstantValue

Det konstanta värde som ska användas

### ArrayJsonSchemaPropertyOutput

- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — När detta är angivet fylls hela parametern i från denna dynamiska variabel vid körning. Kan inte användas tillsammans med description (värde som tillhandahålls av LLM), constant_value och is_omitted.
- `constant_value` (list of any, optional) — När detta är angivet använder hela arrayen detta konstanta värde vid körning. Kan inte användas tillsammans med description (array som tillhandahålls av LLM), dynamic_variable och is_omitted.
- `is_omitted` (boolean, optional, default: false) — Om värdet är true utelämnas denna parameter helt från förfrågningen. Gäller endast valfria parametrar. Kan inte användas tillsammans med description, dynamic_variable och constant_value.
- `type` ("array", optional)
- `items` (ArrayJsonSchemaPropertyOutputItems, optional) — Schema för arrayelement.

### RequiredConstraint

En uppsättning fält som alla måste finnas för att uppfylla den här begränsningen.

- `required` (list of string, required)

### ProcedureVersionRef

- `procedure_id` (string, required) — Procedur-ID
- `version_id` (string, required) — Versions-ID för procedurversionen.

### ProcedureDraftRef

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

### PhoneNumberTransferTransferDestination

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

### PhoneNumberTransferCustomSipHeadersItem

- `type`: `dynamic`
  - `key` (string, required) — SIP-headerns namn (t.ex. 'X-Customer-ID')
  - `value` (string, required) — Namnet på den dynamiska variabel som ska lösas
- `type`: `static`
  - `key` (string, required) — SIP-headerns namn (t.ex. 'X-Customer-ID')
  - `value` (string, required) — Header-värdet

### UuiTransferConfig

User-to-User Information-kuvert för SIP REFER-överföringar (RFC 7433). Utgående payloads är hex-kodade (den enda kodning som RFC 7433 definierar). Protokolldiskriminatoraxeln gör att format per plattform (Talkdesk, Genesys, ...) kan uttryckas genom konfiguration i stället för spridda överföringsflaggor. Ytterligare axlar (ASCII-kodning, rubriknamn, syftes-/innehållsparametrar) kan läggas till här utan att ändra överföringsmodellen.

- `data` (string, required) — UUI-payload som ska skickas vid SIP REFER-överföringar. Stöder infogade dynamiska variabler och hex-kodas vid överföringen.
- `protocol_discriminator` (string, optional) — Valfri protokolldiskriminator på en oktett (två hexadecimala siffror, t.ex. '00'). Krävs av plattformar som Genesys Cloud, som annars tar bort den första oktetten i nyttolasten. Lämna oangiven för plattformar som Talkdesk som förväntar sig en ren hexadecimal nyttolast.
- `protocol_discriminator_mode` (enum, optional, default: prefix) — Hur protocol\_discriminator ska bifogas. 'prefix' lägger till oktetten före hex-nyttolasten (User-to-User=XX\<hex>;encoding=hex). 'pd\_parameter' skickar den som en separat parameter (User-to-User=\<hex>;pd=XX;encoding=hex). Ignoreras när protocol\_discriminator inte har angetts.
  - Allowed values: `prefix`, `pd_parameter`

### PhoneNumberTransferPostDialDigits

- `type`: `dynamic`
  - `value` (string, required) — Namnet på den dynamiska variabel som ska lösas
- `type`: `static`
  - `value` (string, required) — DTMF-siffror att skicka när samtalet har anslutits (t.ex. 'ww1234' för anknytningsnummer)

### WorkflowToolNestedToolsStepModelInputResultsItem

### ArrayJsonSchemaPropertyOutputItems

Schema för arrayelement.

## 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": "agent_id"
      },
      "message": "message",
      "multivoice_message": {
        "parts": [
          {
            "text": "text",
            "voice_label": null,
            "time_in_call_secs": null
          }
        ]
      },
      "tool_calls": [
        {
          "request_id": "request_id",
          "tool_name": "tool_name",
          "params_as_json": "params_as_json",
          "tool_has_been_called": true
        }
      ],
      "tool_results": [
        {
          "is_error": true,
          "request_id": "request_id",
          "result_value": "result_value",
          "tool_has_been_called": true,
          "tool_name": "tool_name"
        }
      ],
      "feedback": {
        "score": "like",
        "time_in_call_secs": 1
      },
      "llm_override": "llm_override",
      "producing_llm": "producing_llm",
      "rag_retrieval_info": {
        "chunks": [
          {
            "document_id": "document_id",
            "chunk_id": "chunk_id",
            "vector_distance": 1.1
          }
        ],
        "embedding_model": "e5_mistral_7b_instruct",
        "retrieval_query": "retrieval_query",
        "rag_latency_secs": 1.1
      },
      "interrupted": true,
      "ignored_as_backchannel": true,
      "platform_event": "user_turn_timeout",
      "original_message": "original_message",
      "reasoning": [
        {}
      ],
      "source_medium": "audio",
      "source_event_id": 1,
      "used_static_kb_document_ids": [
        "used_static_kb_document_ids"
      ],
      "user_identifier": "user_identifier",
      "id": "id",
      "triggered_guardrails": [
        {
          "guardrail_type": "custom"
        }
      ],
      "file_input": {
        "file_id": "file_id",
        "original_filename": "original_filename",
        "mime_type": "mime_type",
        "file_url": "file_url"
      },
      "file_inputs": [
        {
          "file_id": "file_id",
          "original_filename": "original_filename",
          "mime_type": "mime_type",
          "file_url": "file_url"
        }
      ],
      "contextual_update_info": {
        "context_id": "context_id"
      },
      "reasoned": true
    }
  ],
  "analysis": {
    "call_successful": "success",
    "transcript_summary": "transcript_summary",
    "evaluation_criteria_results": {
      "key": {
        "criteria_id": "criteria_id",
        "result": "success",
        "rationale": "rationale"
      }
    },
    "data_collection_results": {
      "key": {
        "data_collection_id": "data_collection_id",
        "rationale": "rationale",
        "json_schema": {
          "type": "string",
          "description": "A user-provided message"
        }
      }
    },
    "evaluation_criteria_results_list": [
      {
        "criteria_id": "criteria_id",
        "result": "success",
        "rationale": "rationale"
      }
    ],
    "data_collection_results_list": [
      {
        "data_collection_id": "data_collection_id",
        "rationale": "rationale",
        "json_schema": {
          "type": "string",
          "description": "A user-provided message"
        }
      }
    ],
    "call_success_score": 1.1,
    "call_summary_title": "call_summary_title",
    "scoped": [
      {
        "scope": "conversation",
        "source_agent_id": "source_agent_id",
        "successful": "success"
      }
    ]
  }
}
```

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