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

# Simula uma conversa (stream)

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

Obsoleto. Este endpoint será removido em 31 de outubro de 2026. Use os endpoints `/v1/convai/agent-testing/create` e `/v1/convai/agents/:agent_id/run-tests` para criar e executar simulações. Execute uma conversa entre o agente e um usuário simulado e transmita a resposta de volta por streaming. A resposta é transmitida como listas parciais de mensagens que devem ser concatenadas e, quando a conversa for concluída, será enviada uma única mensagem final com a análise da conversa.

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

## 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) — O ID de um agente. Ele é retornado na criação do agente.

### Body (application/json)

This endpoint expects a Body_Simulates_a_conversation__Stream__v1_convai_agents__agent_id__simulate_conversation_stream_post.

- `simulation_specification` (ConversationSimulationSpecification, required) — Uma especificação que detalha como a conversa deve ser simulada
- `extra_evaluation_criteria` (list of PromptEvaluationCriteria, optional, nullable) — Uma lista de critérios de avaliação a testar.
- `new_turns_limit` (integer, optional, default: 100) — Número máximo de novos turnos a gerar na simulação de conversa

## Response

### 200

Resposta bem-sucedida

## Errors

### 422 Unprocessable Entity Error

Erro de validação

- `detail` (list of ValidationError, optional)

## Types

### ConversationSimulationSpecification

Uma especificação que será usada para simular uma conversa entre um agente e um usuário de IA.

- `simulated_user_config` (AgentConfigAPIModel-Input, required)
- `tool_mock_config` (map from string to ToolMockConfig, optional)
- `partial_conversation_history` (list of ConversationHistoryTranscriptCommonModel-Input, optional) — Um histórico parcial da conversa para iniciar a simulação. Se estiver vazio, a simulação começará do zero.
- `dynamic_variables` (map from string to any, optional)

### PromptEvaluationCriteria

Uma avaliação que usa a transcrição e um prompt para uma resposta de sim/não sobre o resultado alcançado

- `id` (string, required) — O identificador exclusivo dos critérios de avaliação
- `name` (string, required)
- `conversation_goal_prompt` (string, required) — O prompt que o agente deve usar para avaliar a conversa
- `type` ("prompt", optional, default: prompt) — O tipo de critério de avaliação
- `use_knowledge_base` (boolean, optional, default: false) — Se a base de conhecimento do agente deve ser usada ao avaliar o prompt.
- `scope` (enum, optional, default: conversation) — O escopo do contexto da transcrição usado ao avaliar este critério. 'conversation' usa a transcrição completa; 'agent' usa apenas a parte em que o agente definido estava ativo.
  - Allowed values: `conversation`, `agent`
- `llm` (enum, optional, nullable) — Modelo de LLM a usar neste critério de avaliação. Se não for definido, usa o padrão analysis_llm do agente.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `scoring_mode` (enum, optional, default: binary) — Como este critério é pontuado. 'binary' resulta em êxito/falha/desconhecido. 'numeric_uniform' retorna um número na escala [0, max_score], normalizado para a porcentagem agregada de êxito da conversa.
  - Allowed values: `binary`, `numeric_uniform`
- `max_score` (integer, optional, default: 100) — Valor máximo da escala de pontuação numérica (o mínimo é sempre 0). Usado apenas quando scoring_mode é 'numeric_uniform'.
- `score_instructions` (string, optional, nullable) — Instruções opcionais em texto livre que descrevem como atribuir valores na escala numérica. Usadas apenas quando scoring_mode é 'numeric_uniform'.

### ValidationError

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

### AgentConfigAPIModel-Input

- `first_message` (string, optional, default: ) — Se não estiver vazio, será a primeira mensagem que o agente dirá. Se estiver vazio, o agente aguardará o usuário iniciar a conversa.
- `language` (string, optional, default: en) — Idioma do agente — usado para ASR e TTS
- `hinglish_mode` (boolean, optional, default: false) — Quando ativado, o agente mistura palavras e frases em inglês às respostas em hindi, malaiala, telugo ou canarês.
- `dynamic_variables` (any, optional) — Configuração para variáveis dinâmicas
- `disable_first_message_interruptions` (boolean, optional, default: false) — Se for true, o usuário não poderá interromper o agente enquanto a primeira mensagem estiver sendo enviada.
- `max_conversation_duration_message` (string, optional, default: ) — Se não estiver vazio, será a mensagem que o agente enviará quando a duração máxima da conversa for atingida.
- `text_behavior_overrides` (map from string to BehaviorOverride, optional, nullable) — Substituições do comportamento de resposta por canal para conversas por texto. Os padrões integrados do canal serão aplicados quando não estiver definido.
- `prompt` (PromptAgentAPIModel-Input, optional) — O prompt do agente

### ToolMockConfig

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

### ConversationHistoryTranscriptCommonModel-Input

- `role` (enum, required)
  - Allowed values: `user`, `agent`
- `time_in_call_secs` (integer, required)
- `agent_metadata` (AgentMetadata, optional, nullable)
- `message` (string, optional, nullable)
- `multivoice_message` (ConversationHistoryMultivoiceMessageModel, optional, nullable) — Representa uma mensagem de um agente com várias vozes.
- `tool_calls` (list of ConversationHistoryTranscriptToolCallCommonModel-Input, optional)
- `tool_results` (list of ConversationHistoryTranscriptCommonModelInputToolResultsItems, optional)
- `feedback` (UserFeedback, optional, nullable)
- `llm_override` (string, optional, nullable)
- `producing_llm` (string, optional, nullable)
- `conversation_turn_metrics` (ConversationTurnMetrics, optional, nullable)
- `rag_retrieval_info` (RagRetrievalInfo, optional, nullable)
- `llm_usage` (LLMUsage-Input, optional, nullable)
- `interrupted` (boolean, optional, default: false)
- `ignored_as_backchannel` (boolean, optional, default: false)
- `platform_event` (enum, optional, nullable)
  - Allowed values: `user_turn_timeout`, `skip_turn_wait_elapsed`
- `original_message` (string, optional, nullable)
- `reasoning` (list of ConversationReasoningModel, optional)
- `source_medium` (enum, optional, nullable)
  - Allowed values: `audio`, `dtmf`, `text`, `image`, `file`
- `source_event_id` (integer, optional, nullable)
- `used_static_kb_document_ids` (list of string, optional)
- `user_identifier` (string, optional, nullable)
- `id` (string, optional, nullable)
- `triggered_guardrails` (list of TriggeredGuardrailCommonModel, optional)

### ValidationErrorLocItems

### BehaviorOverride

- `verbosity` (enum, optional, nullable) — Substituição de verbosidade. O padrão subjacente é aplicado quando não definido.
  - Allowed values: `auto`, `concise`, `thorough`
- `output_format` (enum, optional, nullable) — Substituição do formato de saída. O padrão subjacente será aplicado quando não estiver definido.
  - Allowed values: `mp3_22050_32`, `mp3_44100_32`, `mp3_44100_64`, `mp3_44100_96`, `mp3_44100_128`, `mp3_44100_192`, `pcm_16000`, `pcm_22050`, `pcm_24000`, `pcm_44100`, `ulaw_8000`
- `interaction_budget` (enum, optional, nullable) — Substituição do orçamento de interação. O padrão subjacente é aplicado quando não definido.
  - Allowed values: `realtime`, `5_minutes`, `10_minutes`, `1_hour`

### PromptAgentAPIModel-Input

- `prompt` (string, optional, default: ) — O prompt do agente
- `llm` (enum, optional) — O LLM a ser consultado com o prompt e o histórico do chat. Se estiver usando residência de dados, o LLM deve ser compatível com o ambiente de residência de dados.
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `reasoning_effort` (enum, optional, nullable) — Esforço de raciocínio do modelo. Disponível apenas para alguns modelos.
  - Allowed values: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `thinking_budget` (integer, optional, nullable) — Número máximo de tokens usados para raciocínio. Use 0 para desativar, se houver suporte do modelo.
- `enable_reasoning_summary` (boolean, optional, default: false) — Ative resumos de raciocínio do modelo. Quando desativado, não solicitamos resumos ao provedor, quando possível, para obter um TTFB mais rápido. Não é compatível com ZRM.
- `temperature` (double, optional, nullable, default: 0) — A temperatura para o LLM. O padrão é 0. Defina como null para omitir totalmente o parâmetro da solicitação ao LLM, o que é útil para LLMs personalizados que rejeitam o campo de temperatura.
- `max_tokens` (integer, optional, default: -1) — Se for maior que 0, número máximo de tokens que o LLM pode prever
- `tool_ids` (list of string, optional) — Uma lista de IDs das ferramentas usadas pelo agente.
- `tool_ids_strict` (boolean, optional, default: false) — Aplica-se apenas como uma substituição na conversa e é permitido sempre que tool_ids puder ser substituído. Quando verdadeiro, o tool_ids substituído é a lista completa de ferramentas permitidas na conversa, incluindo ferramentas em nós do workflow. É ignorado quando definido no agente.
- `built_in_tools` (BuiltInTools-Input, optional) — Ferramentas de sistema integradas a serem usadas pelo agente
- `enable_parallel_tool_calls` (boolean, optional, default: true) — Ative chamadas paralelas de ferramentas. Quando ativado, o agente pode executar várias ferramentas em paralelo em um único turno. Não é compatível com todos os modelos.
- `mcp_server_ids` (list of string, optional) — Uma lista de IDs de servidores MCP a serem usados pelo agente
- `native_mcp_server_ids` (list of string, optional) — Uma lista de IDs de servidores MCP nativos a serem usados pelo agente
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — Uma lista de bases de conhecimento a serem usadas pelo agente
- `custom_llm` (CustomLLM, optional, nullable) — Definição de um LLM personalizado se o campo LLM estiver definido como 'CUSTOM_LLM'
- `ignore_default_personality` (boolean, optional, nullable, default: true) — Se deve remover as linhas de personalidade padrão do prompt do sistema
- `rag` (RagConfig-Input, optional) — Configuração para RAG
- `timezone` (string, optional, nullable) — Fuso horário para exibir a hora atual no prompt do sistema. Se definido, a hora atual será incluída no prompt do sistema usando esse fuso horário. Deve ser um nome de fuso horário válido (por exemplo, 'America/New_York', 'Europe/London', 'UTC'). Recomendado para respostas precisas que consideram o horário; sem isso, o agente não tem conhecimento da data/hora atual, a menos que você a forneça por meio de variáveis dinâmicas ou ferramentas, o que pode levar a referências de tempo incorretas ou alucinadas.
- `backup_llm_config` (PromptAgentApiModelInputBackupLlmConfig, optional) — Configuração da cascata de LLMs de backup. Pode ser desativada, usar os padrões do sistema ou especificar uma ordem personalizada.
- `cascade_timeout_seconds` (double, optional, default: 4) — Tempo em segundos antes de alternar para o LLM de backup. Deve estar entre 2 e 15 segundos.
- `tools` (list of PromptAgentApiModelInputToolsItems, optional, deprecated) — Uma lista de ferramentas que o agente pode usar durante a conversa; use tool_ids em vez disso

### AgentMetadata

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

### ConversationHistoryMultivoiceMessageModel

Representa uma mensagem de um agente com várias vozes.

- `parts` (list of ConversationHistoryMultivoiceMessagePartModel, required)

### ConversationHistoryTranscriptToolCallCommonModel-Input

- `request_id` (string, required)
- `tool_name` (string, required)
- `params_as_json` (string, required)
- `tool_has_been_called` (boolean, required)
- `type` (enum, optional, nullable)
  - Allowed values: `system`, `webhook`, `client`, `mcp`, `workflow`, `api_integration_webhook`, `api_integration_mcp`, `smb`
- `tool_id` (string, optional, nullable) — ID da ferramenta chamada. Não definido para ferramentas sem ID, como ferramentas do sistema.
- `tool_details` (ConversationHistoryTranscriptToolCallCommonModelInputToolDetails, optional, nullable)

### ConversationHistoryTranscriptCommonModelInputToolResultsItems

### UserFeedback

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

### ConversationTurnMetrics

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

### RagRetrievalInfo

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

### LLMUsage-Input

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

### ConversationReasoningModel

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

### TriggeredGuardrailCommonModel

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

### BuiltInTools-Input

Ferramentas do sistema que podem ser fornecidas a um agente conversacional. Deliberadamente não recebe o nome de ConversationalBuiltInTools: BuiltInToolsInput e BuiltInToolsOutput fazem parte da especificação pública da API e dos SDKs gerados.

- `transfer_to_agent` (SystemToolConfig, optional, nullable) — A ferramenta de transferência para agente
- `end_call` (SystemToolConfig, optional, nullable) — A ferramenta de encerramento da chamada
- `language_detection` (SystemToolConfig, optional, nullable) — A ferramenta de detecção de idioma
- `transfer_to_number` (SystemToolConfig, optional, nullable) — A ferramenta de transferência para número
- `skip_turn` (SystemToolConfig, optional, nullable) — A ferramenta para pular turno
- `play_keypad_touch_tone` (SystemToolConfig, optional, nullable) — A ferramenta de reprodução DTMF
- `voicemail_detection` (SystemToolConfig, optional, nullable) — A ferramenta de detecção de caixa postal

### KnowledgeBaseLocator

- `type` (enum, required) — O tipo da base de conhecimento
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — O nome da base de conhecimento
- `id` (string, required) — O ID da base de conhecimento
- `usage_mode` (enum, optional, default: auto) — O modo de uso da base de conhecimento
  - Allowed values: `prompt`, `auto`

### CustomLLM

- `url` (string, required) — A URL do endpoint compatível com Chat Completions
- `model_id` (string, optional, nullable) — O ID do modelo a ser usado se a URL disponibilizar vários modelos
- `api_key` (CustomLlmApiKey, optional, nullable) — A chave de API para autenticação. Pode ser uma referência a um segredo do workspace \{'secret\_id': '...'} ou uma referência a uma variável de ambiente \{'env\_var\_label': '...'}.
- `auth_connection` (CustomLlmAuthConnection, optional, nullable) — Conexão de autenticação opcional do workspace. Só há suporte para conexões de autenticação que produzem um token Authorization Bearer; não há suporte para conexões de autenticação Basic, mTLS, cabeçalho personalizado e segredo de URL.
- `request_headers` (map from string to CustomLlmRequestHeaders, optional) — Cabeçalhos que devem ser incluídos na solicitação
- `api_version` (string, optional, nullable) — A versão da API a ser usada na solicitação
- `api_type` (enum, optional, default: chat_completions) — O tipo de API a ser usado (chat_completions, responses ou websocket)
  - Allowed values: `chat_completions`, `responses`, `websocket`

### RagConfig-Input

- `enabled` (boolean, optional, default: false)
- `embedding_model` (enum, optional, default: e5_mistral_7b_instruct)
  - Allowed values: `e5_mistral_7b_instruct`, `multilingual_e5_large_instruct`
- `max_vector_distance` (double, optional, default: 0.6) — Distância vetorial máxima dos trechos recuperados.
- `max_documents_length` (integer, optional, default: 50000) — Comprimento total máximo dos trechos de documentos recuperados do RAG.
- `max_retrieved_rag_chunks_count` (integer, optional, default: 20) — Número máximo de trechos de documentos RAG a recuperar inicialmente do armazenamento vetorial. Eles são então filtrados ainda mais pela distância vetorial e pelo comprimento total.
- `num_candidates` (integer, optional, nullable) — Número de candidatos avaliados na busca vetorial ANN. Um número maior significa melhores resultados, mas maior latência. O valor mínimo recomendado é 100. Se desativado, o valor padrão será usado.
- `query_rewrite_prompt_override` (string, optional, nullable) — Prompt personalizado para reescrever consultas do usuário antes da recuperação RAG. O histórico da conversa será anexado automaticamente ao final. Se não for definido, o prompt padrão será usado.
- `knowledge_base_tool_info` (KnowledgeBaseToolInfo, optional, nullable) — Quando definido, o agente usa a ferramenta knowledge_base em vez da ferramenta legada knowledge_base_rag. None significa que o agente não aderiu.

### PromptAgentApiModelInputBackupLlmConfig

Configuração da cascata de LLMs de backup. Pode ser desativada, usar os padrões do sistema ou especificar uma ordem personalizada.

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

### PromptAgentApiModelInputToolsItems

O tipo de ferramenta

- `type`: `api_integration_webhook` (ApiIntegrationWebhookToolConfig)
  - `api_integration_connection_id` (string, required)
  - `api_integration_id` (string, required)
  - `description` (string, required) — Descrição de quando a ferramenta deve ser usada e do que ela faz.
  - `name` (string, required)
  - `api_schema_overrides` (ApiIntegrationWebhookOverrides, optional, nullable) — Substituições do usuário aplicadas sobre o api_schema base
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuração para variáveis dinâmicas
  - `execution_mode` (enum, optional, default: immediate) — Determina quando e como a ferramenta é executada: 'immediate' executa a ferramenta imediatamente quando solicitada pelo LLM; 'post_tool_speech' aguarda o agente terminar de falar antes de executar; e 'async' executa a ferramenta em segundo plano, sem bloquear — ideal para operações demoradas.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, para aguardar a conclusão da chamada de ferramenta. Deve estar entre 5 e 300 segundos, inclusive.
  - `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `tool_version` (string, optional, default: 1.0.0) — A versão da ferramenta de integração da API
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.
- `type`: `client` (ClientToolConfig)
  - `description` (string, required) — Descrição de quando a ferramenta deve ser usada e do que ela faz.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuração para variáveis dinâmicas
  - `execution_mode` (enum, optional, default: immediate) — Determina quando e como a ferramenta é executada: 'immediate' executa a ferramenta imediatamente quando solicitada pelo LLM; 'post_tool_speech' aguarda o agente terminar de falar antes de executar; e 'async' executa a ferramenta em segundo plano, sem bloquear — ideal para operações demoradas.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `expects_response` (boolean, optional, default: false) — Se for true, a chamada desta ferramenta deverá bloquear a conversa até que o cliente responda, e essa resposta será passada ao LLM. Se for false, continuaremos a conversa sem esperar a resposta do cliente. Isso é útil para mostrar conteúdo a um usuário sem bloquear a conversa.
  - `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `parameters` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema para quaisquer parâmetros a serem enviados ao cliente
  - `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, de espera pela conclusão da chamada da ferramenta. Deve ser entre 1 e 120 segundos (inclusive) ou -1 para aguardar indefinidamente a resposta do cliente (requer expects_response).
  - `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.
- `type`: `mcp` (mcp)
- `type`: `smb` (smb)
- `type`: `system` (SystemToolConfig)
  - `name` (string, required)
  - `params` (ToolRequestModelToolConfigDiscriminatorMappingSystemParams, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
  - `description` (string, optional, default: ) — Descrição de quando a ferramenta deve ser usada e do que ela faz. Deixe em branco para usar a descrição padrão otimizada para o tipo específico de ferramenta.
  - `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, para aguardar a conclusão da chamada de ferramenta.
  - `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.
- `type`: `webhook` (WebhookToolConfig)
  - `api_schema` (WebhookToolApiSchemaConfig-Input, required) — O esquema do webhook de saída, incluindo parâmetros e especificação de URL
  - `description` (string, required) — Descrição de quando a ferramenta deve ser usada e do que ela faz.
  - `name` (string, required)
  - `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
  - `dynamic_variables` (DynamicVariablesConfig, optional) — Configuração para variáveis dinâmicas
  - `execution_mode` (enum, optional, default: immediate) — Determina quando e como a ferramenta é executada: 'immediate' executa a ferramenta imediatamente quando solicitada pelo LLM; 'post_tool_speech' aguarda o agente terminar de falar antes de executar; e 'async' executa a ferramenta em segundo plano, sem bloquear — ideal para operações demoradas.
    - Allowed values: `immediate`, `post_tool_speech`, `async`
  - `follow_redirects` (boolean, optional, default: false) — Se deve seguir um redirecionamento do endpoint e retornar a resposta final. Um redirecionamento é seguido como um GET sem o corpo da solicitação; nenhuma configuração desta ferramenta (cabeçalhos, autenticação, certificado de cliente) é enviada ao destino do redirecionamento. Tanto o endpoint quanto o destino do redirecionamento devem usar HTTPS. Não é compatível com ferramentas de integração de API.
  - `follow_redirects_allowed_domains` (list of string, optional) — Domínios para os quais um redirecionamento pode apontar, por exemplo, 'test.example.com'. Obrigatório ao seguir redirecionamentos; um destino fora da lista será recusado.
  - `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
    - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
  - `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
    - Allowed values: `auto`, `force`, `off`
  - `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, para aguardar a conclusão da chamada de ferramenta. Deve estar entre 5 e 300 segundos, inclusive.
  - `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
    - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
  - `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
    - Allowed values: `auto`, `always`
  - `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
    - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
  - `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
  - `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.

### ConversationHistoryMultivoiceMessagePartModel

Representa uma única parte de voz de uma mensagem com várias vozes.

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

### ConversationHistoryTranscriptToolCallCommonModelInputToolDetails

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

### ConversationHistoryTranscriptOtherToolsResultCommonModel

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

### ConversationHistoryTranscriptSystemToolResultCommonModel-Input

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

### ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModel-Input

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

### ConversationHistoryTranscriptWorkflowToolsResultCommonModel-Input

- `request_id` (string, required)
- `tool_name` (string, required)
- `result_value` (string, required)
- `is_error` (boolean, required)
- `tool_has_been_called` (boolean, required)
- `type` ("workflow", required)
- `is_blocked` (boolean, optional, default: false)
- `tool_latency_secs` (double, optional, default: 0)
- `error_type` (string, optional, default: )
- `raw_error_message` (string, optional, default: )
- `dynamic_variable_updates` (list of DynamicVariableUpdateCommonModel, optional)
- `result` (WorkflowToolResponseModel-Input, optional, nullable) — Um modelo comum para respostas de ferramentas de workflow.

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

### SystemToolConfig

Uma ferramenta de sistema é usada para chamar um método do sistema no servidor

- `name` (string, required)
- `params` (ToolRequestModelToolConfigDiscriminatorMappingSystemParams, required)
- `description` (string, optional, default: ) — Descrição de quando a ferramenta deve ser usada e do que ela faz. Deixe em branco para usar a descrição padrão otimizada para o tipo específico de ferramenta.
- `response_timeout_secs` (integer, optional, default: 20) — O tempo máximo, em segundos, para aguardar a conclusão da chamada de ferramenta.
- `interruption_mode` (enum, optional, default: allow) — Controla se o usuário pode interromper o agente durante esta chamada de ferramenta. 'allow' (padrão) permite que o usuário interrompa a qualquer momento, 'disable_during_tool' suprime interrupções apenas enquanto a ferramenta está em execução e 'disable_during_tool_and_turn' suprime interrupções enquanto a ferramenta é executada e durante a resposta do agente que a segue.
  - Allowed values: `allow`, `disable_during_tool`, `disable_during_tool_and_turn`
- `pre_tool_speech` (enum, optional, default: auto) — Controla se o agente fala antes de esta ferramenta ser chamada. 'auto' (padrão) decide com base na latência recente da ferramenta, 'force' sempre faz o agente falar e 'off' desativa totalmente esse comportamento, independentemente da latência.
  - Allowed values: `auto`, `force`, `off`
- `assignments` (list of DynamicVariableAssignment, optional) — Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas
- `tool_call_sound` (enum, optional, nullable) — Tipo de som predefinido para chamadas de ferramenta, reproduzido durante a execução da ferramenta. Se não for especificado, nenhum som de chamada de ferramenta será reproduzido.
  - Allowed values: `typing`, `elevator1`, `elevator2`, `elevator3`, `elevator4`
- `tool_call_sound_behavior` (enum, optional, default: auto) — Determina quando o som de chamada da ferramenta deve tocar. 'auto' toca apenas quando há fala antes da ferramenta; 'always' toca em todas as chamadas de ferramenta.
  - Allowed values: `auto`, `always`
- `tool_error_handling_mode` (enum, optional, default: auto) — Controla como os erros das ferramentas são processados antes de serem compartilhados com o agente. 'auto' determina o tratamento com base no tipo de ferramenta (resumido para integrações nativas, oculto para as demais), 'summarized' envia um resumo gerado por LLM, 'passthrough' envia o erro bruto e 'hide' não compartilha o erro com o agente.
  - Allowed values: `auto`, `summarized`, `passthrough`, `hide`
- `disable_interruptions` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `interruption_mode`. Se for true, o usuário não poderá interromper o agente enquanto esta ferramenta estiver em execução.
- `force_pre_tool_speech` (boolean, optional, default: false, deprecated) — DESCONTINUADO: use `pre_tool_speech`. Se for true, o agente falará antes da chamada da ferramenta.

### CustomLlmApiKey

A chave de API para autenticação. Pode ser uma referência a um segredo do workspace \{'secret\_id': '...'} ou uma referência a uma variável de ambiente \{'env\_var\_label': '...'}.

### CustomLlmAuthConnection

Conexão de autenticação opcional do workspace. Só há suporte para conexões de autenticação que produzem um token Authorization Bearer; não há suporte para conexões de autenticação Basic, mTLS, cabeçalho personalizado e segredo de URL.

### CustomLlmRequestHeaders

### KnowledgeBaseToolInfo

- `enabled_strategies` (list of enum, optional) — Estratégias de pesquisa expostas ao modelo. Não pode estar vazio.
  - Allowed values: `cat`, `keyword`, `semantic`, `ls`

### ApiIntegrationWebhookOverrides

- `schema_overrides` (map from string to ApiIntegrationWebhookOverridesSchemaOverrides, optional, nullable)
- `response_filter_mode` (enum, optional, nullable, default: all) — Controla como as respostas das ferramentas são filtradas antes de ficarem visíveis para o agente.
  - Allowed values: `all`, `allow`, `hide_all`
- `response_filters` (list of string, optional, nullable)
- `request_headers` (map from string to ApiIntegrationWebhookOverridesRequestHeaders, optional, nullable)

### DynamicVariableAssignment

Configuração para extrair valores das respostas de ferramentas e atribuí-los a variáveis dinâmicas.

- `dynamic_variable` (string, required) — O nome da variável dinâmica à qual atribuir o valor extraído
- `value_path` (string, required) — Caminho em notação de ponto para extrair o valor da origem, por exemplo, 'user.name' ou 'data.0.id'.
- `source` ("response", optional, default: response) — A origem da qual extrair o valor. No momento, apenas 'response' é compatível.
- `sanitize` (boolean, optional, default: false) — Se for true, o valor desta atribuição será removido da resposta da ferramenta antes de ser enviado ao LLM e à transcrição, mas ainda será processado para atribuição de variável.
- `preserve_native_type` (boolean, optional, default: false) — Se for true, valores não escalares (listas, objetos) extraídos da resposta da ferramenta serão armazenados em seu tipo nativo, em vez de serem convertidos em strings JSON. Ative esta opção para usar arrays extraídos diretamente como variáveis dinâmicas de lista.

### DynamicVariablesConfig

- `dynamic_variable_placeholders` (map from string to any, optional) — Um dicionário de marcadores de variáveis dinâmicas e seus valores.

### ObjectJsonSchemaProperty-Input

- `property_kind` (enum, optional, default: object)
  - Allowed values: `array`, `object`
- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Quando definido, todo o parâmetro é preenchido com esta variável dinâmica no tempo de execução. Mutuamente exclusivo com description (valor fornecido pelo LLM), constant_value e is_omitted.
- `constant_value` (map from string to any, optional, nullable) — Quando definido, todo o objeto usa este valor JSON constante no tempo de execução. Mutuamente exclusivo com description (objeto fornecido pelo LLM), dynamic_variable e is_omitted.
- `is_omitted` (boolean, optional, default: false) — Se for true, este parâmetro será completamente omitido da solicitação. Válido somente para parâmetros opcionais. Mutuamente exclusivo com description, dynamic_variable e constant_value.
- `type` ("object", optional, default: object)
- `required` (list of string, optional)
- `properties` (map from string to ObjectJsonSchemaPropertyInput, optional)
- `required_constraints` (RequiredConstraints, optional, nullable) — Contêiner para restrições de composição anyOf/allOf aplicadas aos campos obrigatórios.

### ToolRequestModelToolConfigDiscriminatorMappingSystemParams

- `system_tool_type`: `end_call` (EndCallToolConfig)
- `system_tool_type`: `end_procedure` (EndProcedureToolConfig)
  - `procedures` (map from string to ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingEndProcedureProcedures, optional)
- `system_tool_type`: `knowledge_base` (KnowledgeBaseToolConfig)
  - `enabled_strategies` (list of enum, optional)
    - Allowed values: `cat`, `keyword`, `semantic`, `ls`
- `system_tool_type`: `knowledge_base_rag` (KnowledgeBaseRagToolConfig)
- `system_tool_type`: `language_detection` (LanguageDetectionToolConfig)
  - `only_at_conversation_start` (boolean, optional, default: false) — Se nenhuma troca de idioma ocorrer nos 2 primeiros turnos do usuário, as tentativas posteriores falharão e a conversa permanecerá no idioma atual. Se o idioma mudar durante esses turnos, mudanças posteriores continuarão disponíveis. Ative para reduzir a possibilidade de trocas incorretas.
- `system_tool_type`: `play_keypad_touch_tone` (PlayDTMFToolConfig)
  - `suppress_turn_after_dtmf` (boolean, optional, default: false) — Se for true, o agente não gerará mais fala após reproduzir tons DTMF. Isso evita que a fala do agente interfira em sistemas de IVR.
  - `use_out_of_band_dtmf` (boolean, optional, default: true) — Envie tons DTMF como eventos RTP fora de banda (RFC 4733), em vez de áudio em banda. Só é eficaz para números importados de troncos SIP.
- `system_tool_type`: `skip_turn` (SkipTurnToolConfig)
  - `wait_timeout_secs` (double, optional, default: -1) — Segundos de espera após skip_turn antes de o agente gerar uma verificação contextual. O temporizador "Encerrar conversa após silêncio" é pausado durante a espera. -1 desativa a espera: após skip_turn, o agente permanece em silêncio até que o chamador fale, e esse temporizador continua em execução. Aplica-se apenas a conversas por voz.
- `system_tool_type`: `start_procedure` (StartProcedureToolConfig)
  - `procedures` (map from string to ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingStartProcedureProcedures, optional)
- `system_tool_type`: `transfer_to_agent` (TransferToAgentToolConfig)
  - `transfers` (list of AgentTransfer-Input, required)
- `system_tool_type`: `transfer_to_number` (TransferToNumberToolConfig)
  - `transfers` (list of PhoneNumberTransfer, required)
  - `enable_client_message` (boolean, optional, default: true) — Se deve reproduzir uma mensagem para o cliente enquanto ele aguarda a transferência. O padrão é true para manter a compatibilidade com versões anteriores.
- `system_tool_type`: `voicemail_detection` (VoicemailDetectionToolConfig)
  - `voicemail_message` (string, optional, nullable) — Mensagem opcional para deixar na caixa postal quando ela for detectada. Se não for fornecida, a chamada será encerrada imediatamente ao detectar a caixa postal. Oferece suporte a variáveis dinâmicas (por exemplo, \{\{system\_\_time}}, \{\{system\_\_call\_duration\_secs}}, \{\{custom\_variable}}).

### WebhookToolApiSchemaConfig-Input

- `url` (string, required) — A URL para a qual o webhook será enviado. Pode incluir parâmetros de caminho, por exemplo, [https://example.com/agents/\{agent\_id}](https://example.com/agents/\{agent_id})
- `request_headers` (map from string to WebhookToolApiSchemaConfigInputRequestHeaders, optional) — Cabeçalhos que devem ser incluídos na solicitação
- `method` (enum, optional, default: GET) — O método HTTP a usar para o webhook
  - Allowed values: `GET`, `POST`, `PUT`, `PATCH`, `DELETE`
- `path_params_schema` (map from string to LiteralJsonSchemaProperty, optional) — Schema para parâmetros de caminho, se houver. As chaves devem corresponder aos placeholders na URL.
- `query_params_schema` (QueryParamsJsonSchema-Input, optional, nullable) — Schema para parâmetros de consulta, se houver. Eles serão adicionados ao final da URL como parâmetros de consulta. Observação: as propriedades em um parâmetro de consulta devem ser todas de tipos literais
- `request_body_schema` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema para os parâmetros do corpo, se houver. Usado para solicitações POST/PATCH/PUT. O schema deve ser um objeto que será enviado como corpo JSON
- `response_body_schema` (ObjectJsonSchemaProperty-Input, optional, nullable) — Schema que descreve a estrutura esperada do corpo da resposta. Apenas para documentação; não é exibido ao LLM.
- `response_filter` (ResponseFilter, optional, nullable) — Filtro opcional de lista de permissões aplicado à resposta antes que o LLM a veja, para que respostas grandes não poluam o contexto. O padrão é a resposta completa.
- `content_type` (enum, optional, default: application/json) — Tipo de conteúdo do corpo da solicitação. Aplica-se apenas a solicitações POST/PUT/PATCH.
  - Allowed values: `application/json`, `application/x-www-form-urlencoded`
- `auth_resolved_params` (list of string, optional) — Placeholders de URL resolvidos pela conexão de autenticação (por exemplo, segredos inseridos por UrlSecretAuthConnection), e não por path_params_schema.
- `auth_connection` (WebhookToolApiSchemaConfigInputAuthConnection, optional, nullable) — Conexão de autenticação opcional a usar para autenticar neste webhook

### ConversationHistoryTranscriptToolCallWebhookDetails

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

### DynamicVariableUpdateCommonModel

Rastreia uma atualização de variável dinâmica ocorrida durante a execução da ferramenta.

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

### ConversationHistoryTranscriptSystemToolResultCommonModelInputResult

- `result_type`: `dummy` (DummyToolResultModel)
- `result_type`: `end_call_success` (EndCallToolResultModel)
  - `message` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `end_procedure_error` (EndProcedureToolResultErrorModel)
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_id`
  - `procedure_id` (string, optional, nullable)
- `result_type`: `end_procedure_success` (EndProcedureToolResultSuccessModel)
  - `procedure_id` (string, required)
  - `procedure_name` (string, required)
  - `message` (string, optional, default: )
  - `status` ("success", optional, default: success)
- `result_type`: `knowledge_base_rag_success` (KnowledgeBaseRagToolResultModel)
  - `chunk_count` (integer, optional, default: 0) — Número de trechos relevantes recuperados
  - `chunks` (list of KnowledgeBaseRagChunkModel, optional) — Trechos recuperados; preenchido apenas no modo rag-result-in-tool-result
  - `message` (string, optional, default: Referenced knowledge base.) — Status legível para humanos para o LLM sobre os resultados da busca
  - `status` (enum, optional, default: success)
    - Allowed values: `success`, `no_documents`, `no_results`
- `result_type`: `knowledge_base_success` (KnowledgeBaseToolResultModel)
  - `chunk_count` (integer, optional, default: 0)
  - `message` (string, optional, default: Referenced knowledge base.)
  - `status` (enum, optional, default: success)
    - Allowed values: `success`, `no_matching_documents`, `no_results`
- `result_type`: `language_detection_success` (LanguageDetectionToolResultModel)
  - `language` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `play_dtmf_error` (PlayDTMFResultErrorModel)
  - `error` (string, required)
  - `details` (string, optional, nullable)
  - `status` ("error", optional, default: error)
- `result_type`: `play_dtmf_success` (PlayDTMFResultSuccessModel)
  - `dtmf_tones` (string, required)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `skip_turn_success` (SkipTurnToolResponseModel)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `start_procedure_error` (StartProcedureToolResultErrorModel)
  - `message` (string, required)
  - `status` (enum, required)
    - Allowed values: `not_found`, `invalid_name`, `already_active`
  - `procedure_id` (string, optional, nullable)
- `result_type`: `start_procedure_success` (StartProcedureToolResultSuccessModel)
  - `procedure_id` (string, required)
  - `procedure_name` (string, required)
  - `message` (string, optional, default: Procedure is now started. Follow its instructions from the <active-procedures> section of your system prompt.)
  - `procedure_entry_workflow_node` (string, optional, nullable)
  - `procedure_return_workflow_node` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `testing_tool_result` (TestToolResultModel)
  - `reason` (string, optional, default: Skipping tool call in test mode)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_agent_error` (TransferToAgentToolResultErrorModel)
  - `error` (string, required)
  - `from_agent` (string, required)
  - `status` ("error", optional, default: error)
- `result_type`: `transfer_to_agent_success` (TransferToAgentToolResultSuccessModel)
  - `condition` (string, required)
  - `from_agent` (string, required)
  - `to_agent` (string, required)
  - `branch_info` (TransferToAgentToolResultSuccessModelInputBranchInfo, optional, nullable)
  - `delay_ms` (integer, optional, default: 0)
  - `enable_transferred_agent_first_message` (boolean, optional, default: false)
  - `preserve_client_tts_overrides` (boolean, optional, default: false)
  - `preserve_voice_settings` (boolean, optional, default: false)
  - `status` ("success", optional, default: success)
  - `to_node` (string, optional, nullable)
  - `transfer_message` (string, optional, nullable)
- `result_type`: `transfer_to_number_amazon_connect_success` (TransferToNumberResultAmazonConnectSuccessModel)
  - `client_message` (string, optional, nullable) — Mensagem falada para quem ligou antes de a sessão ser devolvida ao Amazon Connect.
  - `note` (string, optional, nullable) — Definido quando o agente repetiu uma opção inválida e usou a única opção configurada.
  - `reason` (string, optional, nullable) — Por que o agente escalonou, conforme enviado ao Amazon Connect com o resultado Escalate.
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_error` (TransferToNumberResultErrorModel)
  - `error` (string, required)
  - `details` (string, optional, nullable)
  - `status` ("error", optional, default: error)
- `result_type`: `transfer_to_number_exotel_success` (TransferToNumberResultExotelSuccessModel)
  - `transfer_number` (string, required)
  - `agent_message` (string, optional, nullable)
  - `note` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_sip_success` (TransferToNumberResultSipSuccessModel)
  - `transfer_number` (string, required)
  - `note` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `transfer_to_number_twilio_success` (TransferToNumberResultTwilioSuccessModel)
  - `agent_message` (string, required)
  - `conference_name` (string, required)
  - `transfer_number` (string, required)
  - `client_message` (string, optional, nullable)
  - `note` (string, optional, nullable)
  - `post_dial_digits` (string, optional, nullable)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
- `result_type`: `voicemail_detection_success` (VoiceMailDetectionResultSuccessModel)
  - `reason` (string, optional, nullable)
  - `status` ("success", optional, default: success)
  - `voicemail_message` (string, optional, nullable)

### WorkflowToolResponseModel-Input

Um modelo comum para respostas de ferramentas de workflow.

- `steps` (list of WorkflowToolResponseModelInputStepsItems, optional)

### LLMTokensCategoryUsage

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

### ConvAISecretLocator

Usado para referenciar um segredo do armazenamento de segredos do agente.

- `secret_id` (string, required)

### ConvAIEnvVarLocator

Usado para referenciar uma variável de ambiente pelo rótulo.

- `env_var_label` (string, required)

### AuthConnectionLocator

Usado para referenciar uma conexão de autenticação do armazenamento de conexões de autenticação do espaço de trabalho.

- `auth_connection_id` (string, required)

### EnvironmentAuthConnectionLocator

Referencia uma variável de ambiente do tipo 'auth_connection' pelo rótulo. Em tempo de execução, é resolvida para a conexão de autenticação do ambiente atual, recorrendo ao ambiente padrão.

- `env_var_label` (string, required)

### ConvAIDynamicVariable

Usado para referenciar uma variável dinâmica.

- `variable_name` (string, required)

### ApiIntegrationWebhookOverridesSchemaOverrides

- `source`: `constant` (ConstantSchemaOverride)
  - `constant_value` (WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue, required, nullable) — O valor constante a ser usado
- `source`: `dynamic_variable` (DynamicVariableSchemaOverride)
  - `dynamic_variable` (string, required) — O nome da variável dinâmica a ser usada
- `source`: `llm` (LLMSchemaOverride)
  - `prompt` (string, optional, nullable) — Substituição do prompt para o LLM. Se não for fornecida, será usada a descrição do esquema original.
- `source`: `omit` (OmitSchemaOverride)

### ApiIntegrationWebhookOverridesRequestHeaders

### ObjectJsonSchemaPropertyInput

### RequiredConstraints

Contêiner para restrições de composição anyOf/allOf aplicadas aos campos obrigatórios.

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

### ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingEndProcedureProcedures

### ToolResponseModelToolConfigDiscriminatorMappingSystemParamsDiscriminatorMappingStartProcedureProcedures

### AgentTransfer-Input

- `condition` (string, required)
- `agent_id` (string, optional, nullable)
- `branch_id` (string, optional, nullable)
- `node_id` (string, optional, nullable)
- `delay_ms` (integer, optional, default: 0)
- `transfer_message` (string, optional, nullable)
- `enable_transferred_agent_first_message` (boolean, optional, default: false)
- `is_workflow_node_transfer` (boolean, optional, default: false)
- `preserve_client_tts_overrides` (boolean, optional, default: false) — Define se as substituições do cliente de TTS devem ser mantidas no agente transferido.
- `preserve_voice_settings` (boolean, optional, default: false) — Define se a voz base, o modelo TTS e as configurações de voz devem ser transferidos para o agente transferido.

### PhoneNumberTransfer

- `transfer_destination` (PhoneNumberTransferTransferDestination, required)
- `condition` (string, required)
- `custom_sip_headers` (list of PhoneNumberTransferCustomSipHeadersItems, optional) — Cabeçalhos SIP personalizados a serem incluídos ao transferir a chamada. Cada cabeçalho pode ser um valor estático ou uma referência a variável dinâmica.
- `transfer_type` (enum, optional, default: conference)
  - Allowed values: `blind`, `conference`, `sip_refer`
- `sip_refer_play_dialtone` (boolean, optional, default: true) — Quando True, um tom de chamada é reproduzido na perna original da chamada enquanto uma transferência SIP REFER é concluída. O tom é transmitido por RTP ao par SIP que executa o REFER, portanto desative esta opção se o sistema receptor (por exemplo, um SBC ou central de atendimento) não deve ouvi-lo. Quando desativada, a pessoa que ligou ouve silêncio até a transferência ser concluída. Apenas para transferências SIP REFER.
- `uui` (UUITransferConfig, optional, nullable) — Informações de Usuário para Usuário (RFC 7433) a serem anexadas a transferências SIP REFER. Transporta o contexto da chamada, como identificadores de CRM ou motivo de escalonamento, durante a transferência.
- `post_dial_digits` (PhoneNumberTransferPostDialDigits, optional, nullable) — Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal. Pode ser um valor estático ou uma referência de variável dinâmica. Use 'w' para uma pausa de 0,5 s. Compatível apenas com transferências do Twilio.
- `phone_number` (string, optional, nullable, deprecated)

### WebhookToolApiSchemaConfigInputRequestHeaders

### LiteralJsonSchemaProperty

Propriedade de schema para tipos JSON literais. IMPORTANTE: apenas UM dos seguintes campos pode ser definido: description (o LLM fornece o valor), dynamic_variable (valor de uma variável), is_system_provided (o sistema fornece o valor), constant_value (valor fixo) ou is_omitted (o parâmetro é omitido). Eles são mutuamente exclusivos.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — A descrição da propriedade. Quando definida, o LLM fornecerá o valor com base nesta descrição. Mutuamente exclusiva com dynamic_variable, is_system_provided, constant_value e is_omitted.
- `enum` (list of string, optional, nullable) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Se for true, o valor será preenchido pelo sistema em tempo de execução. Usado por ferramentas de Webhook de integração de API para criação de templates. Mutuamente exclusivo com description, dynamic_variable, constant_value e is_omitted.
- `dynamic_variable` (string, optional, default: ) — O nome da variável dinâmica a ser usada para o valor desta propriedade. Mutuamente exclusivo com description, is_system_provided, constant_value e is_omitted.
- `allowed_values` (AllowedValues, optional, nullable) — Proteção de rejeição no servidor para um valor fornecido por um LLM: o runtime rejeita qualquer valor fora do conjunto permitido nomeado por este objeto, e o conjunto não é apresentado ao LLM como um enum. Compatível apenas quando a origem do valor é `description`; combiná-la com dynamic_variable, is_system_provided, constant_value ou is_omitted é rejeitado.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional, nullable, default: ) — Um valor constante para usar nesta propriedade. Mutuamente exclusivo com description, dynamic_variable, is_system_provided e is_omitted.
- `is_omitted` (boolean, optional, default: false) — Se for true, este parâmetro será completamente omitido da solicitação. Válido somente para parâmetros opcionais. Mutuamente exclusivo com description, dynamic_variable, is_system_provided e constant_value.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — DESCONTINUADO: use `allowed_values`. Quando definido, o LLM fornece o valor, mas o tempo de execução rejeita qualquer valor que não esteja na lista mantida por esta variável dinâmica (deve ser um array JSON, como ["ws_alpha", "ws_beta"]). Use para permitir que o LLM escolha de um conjunto verificado pelo servidor (por exemplo, os IDs aos quais o usuário atual tem permissão de acesso). Exige descrição; mutuamente exclusivo com dynamic_variable, is_system_provided, constant_value e is_omitted.

### QueryParamsJsonSchema-Input

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

### ResponseFilter

Configuração para filtrar respostas de ferramentas antes que fiquem visíveis para o agente.

- `mode` (enum, optional, default: all) — Controla como as respostas das ferramentas são filtradas. 'all' retorna a resposta inteira, 'allow' retorna apenas os caminhos especificados e 'hide_all' oculta a resposta inteira.
  - Allowed values: `all`, `allow`, `hide_all`
- `filters` (list of string, optional) — Caminhos em notação de ponto a incluir quando o modo for 'allow', por exemplo, ['ticket.id', 'ticket.status'].
- `content_type` ("application/json", optional, default: application/json) — Tipo de conteúdo para filtragem de respostas. Apenas respostas 'application/json' são filtradas.

### WebhookToolApiSchemaConfigInputAuthConnection

Conexão de autenticação opcional a usar para autenticar neste webhook

### KnowledgeBaseRagChunkModel

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

### TransferToAgentToolResultSuccessModelInputBranchInfo

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

### WorkflowToolResponseModelInputStepsItems

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

### WorkflowToolLocatorSchemaOverridesDiscriminatorMappingConstantConstantValue

O valor constante a ser usado

### ArrayJsonSchemaProperty-Input

- `property_kind` (enum, optional, default: array)
  - Allowed values: `array`, `object`
- `description` (string, optional, default: )
- `dynamic_variable` (string, optional, default: ) — Quando definido, todo o parâmetro é preenchido com esta variável dinâmica no tempo de execução. Mutuamente exclusivo com description (valor fornecido pelo LLM), constant_value e is_omitted.
- `constant_value` (list of any, optional, nullable) — Quando definido, todo o array usa este valor constante no tempo de execução. Mutuamente exclusivo com description (array fornecido pelo LLM), dynamic_variable e is_omitted.
- `is_omitted` (boolean, optional, default: false) — Se for true, este parâmetro será completamente omitido da solicitação. Válido somente para parâmetros opcionais. Mutuamente exclusivo com description, dynamic_variable e constant_value.
- `type` ("array", optional, default: array)
- `items` (ArrayJsonSchemaPropertyInputItems, optional, default: {"allowed_values_dynamic_variable":"","constant_value":"","description":"Array element","dynamic_variable":"","is_omitted":false,"is_system_provided":false,"type":"string"}) — Schema para elementos de array.

### RequiredConstraint

Um conjunto de campos que devem estar todos presentes para atender a esta restrição.

- `required` (list of string, required)

### ProcedureVersionRef

- `procedure_id` (string, required) — ID do procedimento
- `version_id` (string, required) — ID da versão do procedimento.

### ProcedureDraftRef

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

### PhoneNumberTransferTransferDestination

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

### PhoneNumberTransferCustomSipHeadersItems

- `type`: `dynamic` (CustomSIPHeaderWithDynamicVariable)
  - `key` (string, required) — O nome do cabeçalho SIP (por exemplo, 'X-Customer-ID')
  - `value` (string, required) — O nome da variável dinâmica a ser resolvida
- `type`: `static` (CustomSIPHeader)
  - `key` (string, required) — O nome do cabeçalho SIP (por exemplo, 'X-Customer-ID')
  - `value` (string, required) — O valor do cabeçalho

### UUITransferConfig

Envelope de Informações de Usuário para Usuário para transferências SIP REFER (RFC 7433). Os payloads de saída são codificados em hexadecimal (a única codificação definida pela RFC 7433). O campo discriminador de protocolo permite que formatos por plataforma (Talkdesk, Genesys, ...) sejam definidos por configuração, em vez de sinalizadores de transferência dispersos. Outros campos (codificação ASCII, nome do cabeçalho, parâmetros de finalidade/conteúdo) podem ser adicionados aqui sem alterar o modelo de transferência.

- `data` (string, required) — Payload UUI a ser enviado em transferências SIP REFER. Compatível com variáveis dinâmicas inline e codificado em hexadecimal no momento da transferência.
- `protocol_discriminator` (string, optional, nullable) — Discriminador opcional de protocolo de um octeto (dois dígitos hexadecimais, por exemplo, '00'). Exigido por plataformas como Genesys Cloud, que, caso contrário, removem o primeiro octeto da carga útil. Deixe sem definir para plataformas como Talkdesk, que esperam uma carga útil hexadecimal sem delimitadores.
- `protocol_discriminator_mode` (enum, optional, default: prefix) — Como anexar protocol\_discriminator. 'prefix' adiciona o octeto antes do payload hexadecimal (User-to-User=XX\<hex>;encoding=hex). 'pd\_parameter' o envia como um parâmetro separado (User-to-User=\<hex>;pd=XX;encoding=hex). Ignorado quando protocol\_discriminator não está definido.
  - Allowed values: `prefix`, `pd_parameter`

### PhoneNumberTransferPostDialDigits

Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal. Pode ser um valor estático ou uma referência de variável dinâmica. Use 'w' para uma pausa de 0,5 s. Compatível apenas com transferências do Twilio.

- `type`: `dynamic` (PostDialDigitsDynamicVariable)
  - `value` (string, required) — O nome da variável dinâmica a ser resolvida
- `type`: `static` (PostDialDigitsStatic)
  - `value` (string, required) — Dígitos DTMF a enviar após a conexão da chamada, por exemplo, 'ww1234' para ramal

### LiteralJsonSchemaPropertyType

### AllowedValues

- `dynamic_variable` (string, required) — Nome de uma variável dinâmica que deve resultar em uma matriz JSON de valores permitidos, por exemplo, ["ws_alpha", "ws_beta"]. As variáveis do sistema funcionam apenas se resultarem em uma lista.

### LiteralJsonSchemaPropertyConstantValue

Um valor constante para usar nesta propriedade. Mutuamente exclusivo com description, dynamic_variable, is_system_provided e is_omitted.

### WorkflowToolResponseModelInputStepsItemsDiscriminatorMappingNestedToolsResultsItems

### ArrayJsonSchemaPropertyInputItems

Schema para elementos de array.

## 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
{}
```

**SDK Code**

```python
import requests

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

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/stream';
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/stream"

	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/stream")

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/stream")
  .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/stream', [
  '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/stream");
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/stream")! 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()
```