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

# Resolver referencia de conversación

GET https://api.elevenlabs.io/v1/convai/conversations/resolve

Resuelve una URL de conversación (una URL de mensaje de Slack o una URL de ticket de Zendesk) en el ID determinista de conversación del agente indicado y, a continuación, confirma que la conversación existe.

Reference: https://elevenlabs.io/docs/eleven-agents/api-reference/conversations/resolve

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

### Query parameters

- `agent_id` (string, required) — ID del agente (agent_…) o ID externo del motor de voz (seng_), que se resuelven en el mismo recurso subyacente.
- `reference` (string, required) — La URL de un mensaje de Slack o de un ticket de Zendesk.

## Response

### 200

Respuesta correcta.

- `agent_id` (string, required)
- `status` (enum, required)
  - Allowed values: `initiated`, `in-progress`, `processing`, `done`, `failed`
- `metadata` (ConversationHistoryMetadataCommonModel, required)
- `conversation_id` (string, required)
- `has_audio` (boolean, required)
- `has_user_audio` (boolean, required)
- `has_response_audio` (boolean, required)
- `has_auxiliary_audio` (boolean, required)
- `transcript` (list of ConversationHistoryTranscriptResponseModel, required)
- `agent_name` (string, optional)
- `conversation_product` (string, optional, default: agent)
- `user_id` (string, optional)
- `branch_id` (string, optional)
- `version_id` (string, optional) — El ID de la versión del agente utilizada para esta conversación
- `analysis` (ConversationHistoryAnalysisCommonModel, optional)
- `visited_agents` (list of VisitedAgentRef, optional)
- `conversation_initiation_client_data` (ConversationInitiationClientDataRequestOutput, optional)
- `environment` (string, optional, default: production)
- `tag_ids` (list of string, optional) — ID de etiquetas de conversación asignadas a esta conversación.
- `otlp_traces` (map from string to any, optional) — Carga útil de seguimiento de OpenTelemetry cuando la solicitud usa format=opentelemetry; de lo contrario, se omite.

## Errors

### 422 Conversations Resolve Request Unprocessable Entity Error

Error de validación

- `detail` (list of ValidationError, optional)

## Types

### ConversationHistoryMetadataCommonModel

- `start_time_unix_secs` (integer, required)
- `call_duration_secs` (integer, required)
- `accepted_time_unix_secs` (integer, optional)
- `queue_wait_secs` (double, optional) — Segundos que la persona que llamó permaneció en la cola de espera de concurrencia. Se excluyen de call_duration_secs y del tiempo facturado. None si la conversación nunca se puso en cola.
- `cost` (integer, optional)
- `deletion_settings` (ConversationDeletionSettings, optional)
- `feedback` (ConversationHistoryFeedbackCommonModel, optional)
- `authorization_method` (enum, optional, default: public)
  - Allowed values: `invalid`, `public`, `authorization_header`, `signed_url`, `shareable_link`, `livekit_token`, `livekit_token_website`, `genesys_api_key`, `avaya_api_key`, `audiocodes_api_key`, `whatsapp`, `sms`
- `charging` (ConversationChargingCommonModel, optional)
- `phone_call` (ConversationHistoryMetadataCommonModelPhoneCall, optional)
- `batch_call` (ConversationHistoryBatchCallModel, optional)
- `termination_reason` (string, optional, default: )
- `error` (ConversationHistoryErrorCommonModel, optional)
- `warnings` (list of string, optional)
- `main_language` (string, optional)
- `rag_usage` (ConversationHistoryRagUsageCommonModel, optional)
- `text_only` (boolean, optional, default: false)
- `features_usage` (FeaturesUsageCommonModel, optional)
- `eleven_assistant` (ConversationHistoryElevenAssistantCommonModel, optional)
- `initiator_id` (string, optional)
- `conversation_initiation_source` (enum, optional, default: unknown) — Enumeración que representa los posibles orígenes para iniciar una conversación.
  - Allowed values: `unknown`, `android_sdk`, `node_js_sdk`, `react_native_sdk`, `react_sdk`, `js_sdk`, `python_sdk`, `widget`, `sip_trunk`, `twilio`, `exotel`, `genesys`, `avaya`, `audiocodes`, `swift_sdk`, `whatsapp`, `twilio_sms`, `flutter_sdk`, `zendesk_integration`, `slack_integration`, `telegram_integration`, `intercom_integration`, `freshdesk_integration`, `salesforce_integration`, `template_preview`, `genesys_bot_connector`, `subagent_tool`
- `conversation_initiation_source_version` (string, optional)
- `timezone` (string, optional)
- `async_metadata` (AsyncConversationMetadata, optional) — Metadatos para la entrega asíncrona de conversaciones (Zendesk, Slack, etc.).
- `whatsapp` (WhatsAppConversationInfo, optional)
- `sms` (SmsConversationInfo, optional)
- `agent_created_from` (enum, optional, default: unknown)
  - Allowed values: `cli`, `ui`, `api`, `template`, `unknown`
- `agent_last_updated_from` (enum, optional, default: unknown)
  - Allowed values: `cli`, `ui`, `api`, `template`, `unknown`
- `voice_rewards` (list of ConversationVoiceRewardModel, optional)
- `cost_fiat` (double, optional) — Coste total de la conversación en moneda fiduciaria, en USD; es decir, la suma del precio del LLM y el precio de la plataforma que no corresponde al LLM (el equivalente fiduciario de ``cost``). ``None`` cuando ninguno de los dos está establecido (p. ej., conversaciones anteriores al seguimiento de costes fiduciarios).

### 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) — Representa un mensaje de un agente con varias voces.
- `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) — Obsoleto: el primer archivo adjunto de este turno. Usa `file_inputs` para ver todos los archivos adjuntos.
- `file_inputs` (list of ConversationHistoryTranscriptFileInputResponseModel, optional) — Todos los archivos adjuntos a este turno, en el orden en que el usuario los adjuntó.
- `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)

### VisitedAgentRef

Un agente (y una rama opcional) que participó en la llamada, en el orden en que aparece por primera vez en la transcripción.

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

### ConversationInitiationClientDataRequestOutput

- `conversation_config_override` (ConversationConfigClientOverrideOutput, optional)
- `custom_llm_extra_body` (map from string to any, optional)
- `user_id` (string, optional) — ID del usuario final que participa en esta conversación (para identificar al usuario propietario del agente)
- `source_info` (ConversationInitiationSourceInfo, optional) — Información sobre el origen del inicio de la conversación
- `branch_id` (string, optional) — ID de la rama del agente que se utilizará para esta conversación
- `environment` (string, optional) — Entorno que se utilizará para resolver las variables de entorno
- `starting_workflow_node_id` (string, optional) — Si se establece, inicia el workflow en este ID de nodo en lugar de en la entrada predeterminada.
- `procedure_ids` (list of string, optional) — Si se establece, solo estos procedimientos estarán disponibles para el agente inicial. Cada ID debe estar vinculado a ese agente; los ID desconocidos impedirán el inicio de la conversación. Una lista vacía desactiva todos los procedimientos de ese agente. No se aplica después de transferir un agente. Requiere enable_procedure_ids_from_client.
- `dynamic_variables` (map from string to any, optional)

### ValidationError

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

### ConversationDeletionSettings

- `deletion_time_unix_secs` (integer, optional)
- `deleted_logs_at_time_unix_secs` (integer, optional)
- `deleted_audio_at_time_unix_secs` (integer, optional)
- `deleted_transcript_at_time_unix_secs` (integer, optional)
- `delete_transcript_and_pii` (boolean, optional, default: false)
- `delete_audio` (boolean, optional, default: false)

### ConversationHistoryFeedbackCommonModel

- `type` (enum, optional)
  - Allowed values: `thumbs`, `rating`
- `overall_score` (enum, optional)
  - Allowed values: `like`, `dislike`
- `likes` (integer, optional, default: 0)
- `dislikes` (integer, optional, default: 0)
- `rating` (integer, optional)
- `comment` (string, optional)

### ConversationChargingCommonModel

- `dev_discount` (boolean, optional, default: false)
- `is_burst` (boolean, optional, default: false)
- `tier` (string, optional)
- `llm_usage` (LlmCategoryUsage, optional)
- `llm_price` (double, optional)
- `llm_charge` (integer, optional)
- `call_charge` (integer, optional)
- `platform_charge` (integer, optional)
- `platform_usage` (PlatformUsage, optional) — Desglose por categoría de ``platform_charge`` (el equivalente de ``llm_usage``).
- `platform_price` (double, optional)
- `free_minutes_consumed` (double, optional, default: 0)
- `free_llm_dollars_consumed` (double, optional, default: 0)
- `tts_usage` (ConversationTtsUsageModel, optional) — Uso agregado de TTS para una conversación (solo analítica, no facturación).
- `asr_usage` (ConversationAsrUsageModel, optional) — Uso agregado de ASR para una conversación (solo analítica, no facturación).
- `analysis` (AnalysisCharging, optional) — Coste de ejecutar el análisis posterior a la llamada en esta conversación. Está presente una vez que se ha ejecutado un análisis, se haya facturado o no.

### ConversationHistoryMetadataCommonModelPhoneCall

- `type`: `exotel`
  - `agent_number` (string, required)
  - `call_sid` (string, required)
  - `direction` (enum, required, default: inbound)
    - Allowed values: `inbound`, `outbound`
  - `external_number` (string, required)
  - `phone_number_id` (string, required)
  - `stream_sid` (string, required)
  - `call_result` (enum, optional)
    - Allowed values: `answered`, `voicemail`, `busy`, `no_answer`, `failed`
- `type`: `sip_trunking`
  - `agent_number` (string, required)
  - `call_sid` (string, required)
  - `direction` (enum, required, default: inbound)
    - Allowed values: `inbound`, `outbound`
  - `external_number` (string, required)
  - `phone_number_id` (string, required)
  - `call_id` (string, optional)
  - `call_result` (enum, optional)
    - Allowed values: `answered`, `voicemail`, `busy`, `no_answer`, `failed`
  - `sip_header_dynamic_variables` (map from string to string, optional)
- `type`: `twilio`
  - `agent_number` (string, required)
  - `call_sid` (string, required)
  - `direction` (enum, required, default: inbound)
    - Allowed values: `inbound`, `outbound`
  - `external_number` (string, required)
  - `phone_number_id` (string, required)
  - `stream_sid` (string, required)
  - `call_result` (enum, optional)
    - Allowed values: `answered`, `voicemail`, `busy`, `no_answer`, `failed`

### ConversationHistoryBatchCallModel

- `batch_call_id` (string, required)
- `batch_call_recipient_id` (string, required)
- `campaign` (BatchCallingCampaignInformation, optional)

### ConversationHistoryErrorCommonModel

- `code` (integer, required)
- `reason` (string, optional)

### ConversationHistoryRagUsageCommonModel

- `usage_count` (integer, required)
- `embedding_model` (string, required)

### FeaturesUsageCommonModel

- `language_detection` (FeatureStatusCommonModel, optional)
- `transfer_to_agent` (FeatureStatusCommonModel, optional)
- `transfer_to_number` (FeatureStatusCommonModel, optional)
- `multivoice` (FeatureStatusCommonModel, optional)
- `dtmf_tones` (FeatureStatusCommonModel, optional)
- `external_mcp_servers` (FeatureStatusCommonModel, optional)
- `pii_zrm_workspace` (boolean, optional, default: false)
- `pii_zrm_agent` (boolean, optional, default: false)
- `tool_dynamic_variable_updates` (FeatureStatusCommonModel, optional)
- `is_livekit` (boolean, optional, default: false)
- `voicemail_detection` (FeatureStatusCommonModel, optional)
- `dtmf_input` (FeatureStatusCommonModel, optional)
- `workflow` (WorkflowFeaturesUsageCommonModel, optional)
- `agent_testing` (TestsFeatureUsageCommonModel, optional)
- `versioning` (FeatureStatusCommonModel, optional)
- `file_input` (FeatureStatusCommonModel, optional)
- `freeform_procedure` (FeatureStatusCommonModel, optional)
- `structured_procedure` (FeatureStatusCommonModel, optional)

### ConversationHistoryElevenAssistantCommonModel

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

### AsyncConversationMetadata

Metadatos para la entrega asíncrona de conversaciones (Zendesk, Slack, etc.).

- `delivery_status` (enum, required)
  - Allowed values: `pending`, `success`, `failed`
- `delivery_timestamp` (integer, required)
- `external_system` (string, required)
- `external_id` (string, required)
- `delivery_error` (string, optional)
- `external_link` (string, optional)
- `retry_count` (integer, optional, default: 0)
- `last_retry_timestamp` (integer, optional)
- `last_processed_external_message_id` (string, optional)

### WhatsAppConversationInfo

- `whatsapp_user_id` (string, required)
- `direction` (enum, optional, default: unknown)
  - Allowed values: `inbound`, `outbound`, `unknown`
- `whatsapp_phone_number_id` (string, optional)
- `awaiting_first_user_message` (boolean, optional)
- `recipient` (WhatsAppRecipient, optional) — Un usuario de WhatsApp mediante número de teléfono o BSUID, o ambos; cuando se necesite uno, el número de teléfono tiene prioridad.
- `call_permission_request` (WhatsAppCallPermissionRequest, optional)

### SmsConversationInfo

- `direction` (enum, required)
  - Allowed values: `inbound`, `outbound`
- `sms_user_phone_number` (string, required)
- `phone_number_id` (string, optional)
- `agent_phone_number` (string, optional)

### ConversationVoiceRewardModel

- `voice_id` (string, required)
- `reward_usd_cents` (double, required)

### AgentMetadata

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

### ConversationHistoryMultivoiceMessageModel

Representa un mensaje de un agente con varias voces.

- `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_id` (string, optional) — ID de la herramienta llamada. No se establece para herramientas sin ID, como las herramientas del sistema.
- `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)
- `voice_id` (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) — Identificador proporcionado por el cliente que agrupa actualizaciones contextuales relacionadas.
- `is_superseded` (boolean, optional, default: false) — True cuando esta actualización contextual se ha sustituido por otra más reciente con el mismo 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) — Propiedad de esquema para tipos JSON literales. IMPORTANTE: Solo puede establecerse UNO de los siguientes campos: description (el LLM proporciona el valor), dynamic_variable (valor de una variable), is_system_provided (el sistema proporciona el valor), constant_value (valor fijo) o is_omitted (se omite el parámetro). Son mutuamente excluyentes.

### ScopedAnalysisResult

- `scope` (enum, required, default: conversation) — El alcance del análisis. «conversation» usa la transcripción completa; «agent» usa solo la parte en la que el agente definidor estaba activo.
  - Allowed values: `conversation`, `agent`
- `source_agent_id` (string, required)
- `successful` (enum, required)
  - Allowed values: `success`, `failure`, `unknown`
- `source_branch_id` (string, optional) — Rama del agente para este bloque con ámbito; distingue valores de agent_id repetidos.
- `evaluation_criteria_results` (map from string to ConversationHistoryEvaluationCriteriaResultCommonModel, optional)
- `data_collection_results` (map from string to DataCollectionResultCommonModel, optional)
- `success_score` (double, optional)

### ConversationConfigClientOverrideOutput

- `asr` (AsrConversationalConfigOverride, optional) — Configuración de la transcripción conversacional
- `turn` (TurnConfigOverride, optional) — Configuración de la detección de turnos
- `tts` (TtsConversationalConfigOverride, optional) — Configuración de Texto a Voz conversacional
- `conversation` (ConversationConfigOverride, optional) — Configuración de eventos conversacionales
- `agent` (AgentConfigOverrideOutput, optional) — Configuración específica del agente

### ConversationInitiationSourceInfo

Información sobre el origen del inicio de la conversación

- `source` (enum, optional, default: unknown) — Origen del inicio de la conversación
  - Allowed values: `unknown`, `android_sdk`, `node_js_sdk`, `react_native_sdk`, `react_sdk`, `js_sdk`, `python_sdk`, `widget`, `sip_trunk`, `twilio`, `exotel`, `genesys`, `avaya`, `audiocodes`, `swift_sdk`, `whatsapp`, `twilio_sms`, `flutter_sdk`, `zendesk_integration`, `slack_integration`, `telegram_integration`, `intercom_integration`, `freshdesk_integration`, `salesforce_integration`, `template_preview`, `genesys_bot_connector`, `subagent_tool`
- `version` (string, optional) — El número de versión del SDK

### ValidationErrorLocItem

### LlmCategoryUsage

- `irreversible_generation` (LlmUsageOutput, optional)
- `initiated_generation` (LlmUsageOutput, optional)

### PlatformUsage

Desglose por categoría de ``platform_charge`` (el equivalente de ``llm_usage``).

- `category_usage` (map from string to PlatformCategoryUsage, optional)

### ConversationTtsUsageModel

Uso agregado de TTS para una conversación (solo analítica, no facturación).

- `primary_tts_model` (string, optional)
- `total_audio_output_seconds` (double, optional, default: 0)
- `total_characters` (integer, optional, default: 0)
- `per_voice_usage` (list of ConversationVoiceUsageModel, optional)

### ConversationAsrUsageModel

Uso agregado de ASR para una conversación (solo analítica, no facturación).

- `asr_model` (string, optional)
- `total_transcription_calls` (integer, optional, default: 0)
- `total_audio_input_seconds` (double, optional, default: 0)

### AnalysisCharging

Coste de ejecutar el análisis posterior a la llamada en esta conversación. Está presente una vez que se ha ejecutado un análisis, se haya facturado o no.

- `total` (AnalysisRunningTotal, required) — Coste acumulado del LLM por ejecutar el análisis posterior a la llamada en esta conversación.
- `last_run` (AnalysisRunSnapshot, required) — Coste de LLM del análisis posterior a la llamada más reciente de esta conversación.

### BatchCallingCampaignInformation

- `campaign_id` (string, required)
- `campaign_lead_id` (string, required)
- `cold_attempt` (integer, optional)
- `conversation_type` (enum, optional)
  - Allowed values: `initial`, `retry`, `callback`, `redirect`

### FeatureStatusCommonModel

- `enabled` (boolean, optional, default: false)
- `used` (boolean, optional, default: false)

### WorkflowFeaturesUsageCommonModel

- `enabled` (boolean, optional, default: false)
- `tool_node` (FeatureStatusCommonModel, optional)
- `standalone_agent_node` (FeatureStatusCommonModel, optional)
- `phone_number_node` (FeatureStatusCommonModel, optional)
- `end_node` (FeatureStatusCommonModel, optional)
- `override_agent_node` (FeatureStatusCommonModel, optional)

### TestsFeatureUsageCommonModel

- `enabled` (boolean, optional, default: false)
- `tests_ran_after_last_modification` (boolean, optional, default: false)
- `tests_ran_in_last_7_days` (boolean, optional, default: false)

### WhatsAppRecipient

Un usuario de WhatsApp mediante número de teléfono o BSUID, o ambos; cuando se necesite uno, el número de teléfono tiene prioridad.

- `phone` (string, optional)
- `bsuid` (string, optional)

### WhatsAppCallPermissionRequest

- `state` (enum, required)
  - Allowed values: `blocked`, `sent`, `accepted`, `declined`
- `requested_at_unix` (integer, optional)

### ConversationHistoryMultivoiceMessagePartModel

Representa una parte de voz individual de un mensaje con varias voces.

- `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) — Un modelo común para las respuestas de herramientas 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)

### LiteralJsonSchemaProperty

Propiedad de esquema para tipos JSON literales. IMPORTANTE: Solo puede establecerse UNO de los siguientes campos: description (el LLM proporciona el valor), dynamic_variable (valor de una variable), is_system_provided (el sistema proporciona el valor), constant_value (valor fijo) o is_omitted (se omite el parámetro). Son mutuamente excluyentes.

- `type` (LiteralJsonSchemaPropertyType, required)
- `description` (string, optional, default: ) — La descripción de la propiedad. Cuando se establece, el LLM proporcionará el valor según esta descripción. Es mutuamente excluyente con dynamic_variable, is_system_provided, constant_value e is_omitted.
- `enum` (list of string, optional) — List of allowed string values for string type parameters
- `is_system_provided` (boolean, optional, default: false) — Si es true, el sistema completará el valor en tiempo de ejecución. Lo usan las herramientas de webhook de integración con API para plantillas. Es mutuamente excluyente con description, dynamic_variable, constant_value e is_omitted.
- `dynamic_variable` (string, optional, default: ) — El nombre de la variable dinámica que se usará para el valor de esta propiedad. Es mutuamente excluyente con description, is_system_provided, constant_value e is_omitted.
- `allowed_values` (AllowedValues, optional) — Protección de rechazo del lado del servidor para un valor proporcionado por un LLM: el entorno de ejecución rechaza cualquier valor fuera del conjunto permitido que nombra este objeto, y el conjunto no se muestra al LLM como un enum. Solo se admite cuando el origen del valor es `description`; se rechaza combinarlo con dynamic_variable, is_system_provided, constant_value o is_omitted.
- `constant_value` (LiteralJsonSchemaPropertyConstantValue, optional) — Un valor constante que se utilizará para esta propiedad. Es mutuamente excluyente con description, dynamic_variable, is_system_provided e is_omitted.
- `is_omitted` (boolean, optional, default: false) — Si es true, este parámetro se omitirá por completo de la solicitud. Solo es válido para parámetros opcionales. Es mutuamente excluyente con description, dynamic_variable, is_system_provided y constant_value.
- `allowed_values_dynamic_variable` (string, optional, default: , deprecated) — OBSOLETO: usa `allowed_values` en su lugar. Cuando se establece, el LLM proporciona el valor, pero el entorno de ejecución rechaza cualquier valor que no esté presente en la lista de esta variable dinámica (debe ser una matriz JSON como ["ws_alpha", "ws_beta"]). Úsalo para permitir que el LLM elija de un conjunto verificado por el servidor (p. ej., los ID a los que puede acceder el usuario actual). Requiere description; es mutuamente excluyente con dynamic_variable, is_system_provided, constant_value e is_omitted.

### AsrConversationalConfigOverride

- `keywords` (list of string, optional) — Palabras clave para aumentar la probabilidad de predicción de

### TurnConfigOverride

- `soft_timeout_config` (SoftTimeoutConfigOverride, optional) — Configuración de la función de tiempo de espera flexible. Proporciona comentarios inmediatos durante respuestas más largas del LLM.

### TtsConversationalConfigOverride

- `model_id` (enum, optional, default: eleven_v4_turbo) — El modelo que se debe usar para TTS
  - Allowed values: `eleven_turbo_v2`, `eleven_turbo_v2_5`, `eleven_flash_v2`, `eleven_flash_v2_5`, `eleven_multilingual_v2`, `eleven_v3_conversational`, `eleven_v4`, `eleven_v4_turbo`
- `voice_id` (string, optional) — El ID de voz que se utilizará para TTS
- `supported_voices` (list of SupportedVoice, optional) — Voces compatibles adicionales para el agente
- `stability` (double, optional) — La estabilidad de la voz generada.
- `speed` (double, optional) — La velocidad de la voz generada.
- `similarity_boost` (double, optional) — El refuerzo de similitud para la voz generada
- `pronunciation_dictionary_locators` (list of PydanticPronunciationDictionaryVersionLocator, optional) — Los localizadores del diccionario de pronunciación

### ConversationConfigOverride

- `text_only` (boolean, optional) — Si se activa, el audio no se procesará y solo se utilizará texto. Úsalo para evitar los costes de audio.
- `max_duration_seconds` (integer, optional) — La duración máxima de una conversación en segundos

### AgentConfigOverrideOutput

- `first_message` (string, optional) — Si no está vacío, el primer mensaje que dirá el agente. Si está vacío, el agente espera a que el usuario inicie la conversación.
- `language` (string, optional) — Idioma del agente, usado para ASR y TTS
- `max_conversation_duration_message` (string, optional) — Si no está vacío, el mensaje que enviará el agente cuando se alcance la duración máxima de la conversación.
- `prompt` (PromptAgentApiModelOverrideOutput, optional) — El prompt del agente

### PlatformCategoryUsage

Cargo acumulado para una única :class:`PlatformCategory`.

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

### ConversationVoiceUsageModel

- `voice_id` (string, required)
- `audio_output_seconds` (double, optional, default: 0)

### AnalysisRunningTotal

Coste acumulado del LLM por ejecutar el análisis posterior a la llamada en esta conversación.

- `price` (double, optional, default: 0)
- `charge` (integer, optional, default: 0)
- `runs` (integer, optional, default: 0)
- `price_per_feature` (map from string to double, optional)
- `charge_per_feature` (map from string to integer, optional)

### AnalysisRunSnapshot

Coste de LLM del análisis posterior a la llamada más reciente de esta conversación.

- `price` (double, optional, default: 0)
- `charge` (integer, optional, default: 0)
- `price_per_feature` (map from string to double, optional)
- `charge_per_feature` (map from string to integer, optional)

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

Registra una actualización de variable dinámica ocurrida durante la ejecución de una herramienta.

- `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) — Número de fragmentos relevantes recuperados
  - `chunks` (list of KnowledgeBaseRagChunkModel, optional) — Fragmentos recuperados; se rellenan solo en el modo rag-result-in-tool-result
  - `message` (string, optional, default: Referenced knowledge base.) — Estado legible para humanos para el LLM sobre los resultados de búsqueda
  - `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) — Mensaje que se comunica a quien llama antes de devolver la sesión a Amazon Connect.
  - `note` (string, optional) — Se establece cuando el agente repite una opción no válida y se utiliza la única configurada.
  - `reason` (string, optional) — Motivo por el que el agente escaló el caso, enviado a Amazon Connect con el resultado 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

Un modelo común para las respuestas de herramientas de workflow.

- `steps` (list of WorkflowToolResponseModelOutputStepsItem, optional)

### LlmTokensCategoryUsage

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

### LiteralJsonSchemaPropertyType

### AllowedValues

- `dynamic_variable` (string, required) — Nombre de una variable dinámica que debe resolverse en una matriz JSON de valores permitidos, por ejemplo, ["ws_alpha", "ws_beta"]. Las variables del sistema solo funcionan si se resuelven en una lista.

### LiteralJsonSchemaPropertyConstantValue

Un valor constante que se utilizará para esta propiedad. Es mutuamente excluyente con description, dynamic_variable, is_system_provided e is_omitted.

### SoftTimeoutConfigOverride

- `message` (string, optional) — Mensaje que se mostrará cuando se alcance el primer tiempo de espera flexible mientras se espera la respuesta del LLM. Admite variables dinámicas (por ejemplo, \{\{system\_\_time}}, \{\{custom\_variable}}).
- `additional_soft_timeout_messages` (list of string, optional) — Mensajes de relleno estáticos adicionales para los siguientes tiempos de espera flexibles en la misma generación del LLM. El primer tiempo de espera usa `message`. Si se configuran menos mensajes que `max_soft_timeouts_per_generation`, se repite el último mensaje configurado; de lo contrario, se utiliza un mensaje de relleno integrado.

### SupportedVoice

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

### PydanticPronunciationDictionaryVersionLocator

Un localizador para que otros documentos puedan hacer referencia a un diccionario específico y a su versión. Esta es una versión de pydantic de PronunciationDictionaryVersionLocatorDBModel. Es necesario para garantizar la compatibilidad con el resto de modelos de datos del agente.

- `pronunciation_dictionary_id` (string, required) — El ID del diccionario de pronunciación
- `version_id` (string, optional) — El ID de la versión del diccionario de pronunciación

### PromptAgentApiModelOverrideOutput

- `prompt` (string, optional) — El prompt del agente
- `llm` (enum, optional) — El LLM que se consultará con el prompt y el historial de chat. Si utilizas residencia de datos, el LLM debe ser compatible con el entorno de residencia de datos
  - Allowed values: `gpt-4o-mini`, `gpt-4o`, `gpt-4`, `gpt-4-turbo`, `gpt-4.1`, `gpt-4.1-mini`, `gpt-4.1-nano`, `gpt-5`, `gpt-5.1`, `gpt-5.2`, `gpt-5.2-chat-latest`, `gpt-5.4`, `gpt-5.4-mini`, `gpt-5.4-nano`, `gpt-5.5`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-6.1-sol`, `gpt-5-mini`, `gpt-5-nano`, `gpt-3.5-turbo`, `gemini-1.5-pro`, `gemini-1.5-flash`, `gemini-2.0-flash`, `gemini-2.0-flash-lite`, `gemini-2.5-flash-lite`, `gemini-2.5-flash`, `gemini-3-pro-preview`, `gemini-3-flash-preview`, `gemini-3.1-pro-preview`, `gemini-3.1-flash-lite-preview`, `gemini-3.1-flash-lite`, `gemini-3.5-flash`, `gemini-3.5-flash-lite`, `gemini-3.6-flash`, `gemini-3.7-flash`, `gemini-3.8-flash`, `gemini-4-argon`, `claude-sonnet-4-5`, `claude-opus-4-6`, `claude-opus-4-7`, `claude-opus-4-8`, `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-4-6`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-sonnet-4`, `claude-haiku-4-5`, `claude-haiku-5-5`, `claude-3-7-sonnet`, `claude-3-5-sonnet`, `claude-3-5-sonnet-v1`, `claude-3-haiku`, `grok-beta`, `custom-llm`, `qwen3-4b`, `qwen3-30b-a3b`, `qwen36-35b-a3b`, `qwen35-397b-a17b`, `gpt-oss-20b`, `gpt-oss-120b`, `glm-45-air-fp8`, `glm-52`, `deepseek-v41-flash`, `nemotron-35-super-vl-nvfp4`, `gemini-2.5-flash-preview-09-2025`, `gemini-2.5-flash-lite-preview-09-2025`, `gemini-2.5-flash-preview-05-20`, `gemini-2.5-flash-preview-04-17`, `gemini-2.5-flash-lite-preview-06-17`, `gemini-2.0-flash-lite-001`, `gemini-2.0-flash-001`, `gemini-1.5-flash-002`, `gemini-1.5-flash-001`, `gemini-1.5-pro-002`, `gemini-1.5-pro-001`, `claude-sonnet-4@20250514`, `claude-sonnet-4-5@20250929`, `claude-haiku-4-5@20251001`, `claude-3-7-sonnet@20250219`, `claude-3-5-sonnet@20240620`, `claude-3-5-sonnet-v2@20241022`, `claude-3-haiku@20240307`, `gpt-5-2025-08-07`, `gpt-5.1-2025-11-13`, `gpt-5.2-2025-12-11`, `gpt-5.4-2026-03-05`, `gpt-5.4-mini-2026-03-17`, `gpt-5.4-nano-2026-03-17`, `gpt-5.5-2026-04-23`, `gpt-5-mini-2025-08-07`, `gpt-5-nano-2025-08-07`, `gpt-4.1-2025-04-14`, `gpt-4.1-mini-2025-04-14`, `gpt-4.1-nano-2025-04-14`, `gpt-4o-mini-2024-07-18`, `gpt-4o-2024-11-20`, `gpt-4o-2024-08-06`, `gpt-4o-2024-05-13`, `gpt-4-0613`, `gpt-4-0314`, `gpt-4-turbo-2024-04-09`, `gpt-3.5-turbo-0125`, `gpt-3.5-turbo-1106`, `watt-tool-8b`, `watt-tool-70b`
- `tool_ids` (list of string, optional) — Una lista de ID de herramientas utilizadas por el agente.
- `tool_ids_strict` (boolean, optional) — Solo se aplica como una anulación de conversación y se permite siempre que se pueda anular tool_ids. Cuando es true, el valor de tool_ids anulado es la lista completa de herramientas permitidas en la conversación, incluidas las herramientas de los nodos de workflow. Se ignora cuando se configura en el agente.
- `native_mcp_server_ids` (list of string, optional) — Una lista de ID de servidores MCP nativos que utilizará el agente
- `knowledge_base` (list of KnowledgeBaseLocator, optional) — Una lista de bases de conocimiento que utilizará el agente

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

### KnowledgeBaseLocator

- `type` (enum, required) — El tipo de base de conocimiento
  - Allowed values: `file`, `url`, `text`, `folder`
- `name` (string, required) — El nombre de la base de conocimientos
- `id` (string, required) — El ID de la base de conocimientos
- `usage_mode` (enum, optional, default: auto) — El modo de uso de la base de conocimiento
  - Allowed values: `prompt`, `auto`

### WorkflowToolNestedToolsStepModelOutputResultsItem

## Examples

**Response**

```json
{
  "agent_id": "agent_3701k3ttaq12ewp8b7qv5rfyszkz",
  "status": "processing",
  "metadata": {
    "start_time_unix_secs": 1714423232,
    "call_duration_secs": 10,
    "accepted_time_unix_secs": 1,
    "queue_wait_secs": 1.1,
    "cost": 1,
    "deletion_settings": {
      "deletion_time_unix_secs": 1,
      "deleted_logs_at_time_unix_secs": 1,
      "deleted_audio_at_time_unix_secs": 1,
      "deleted_transcript_at_time_unix_secs": 1,
      "delete_transcript_and_pii": true,
      "delete_audio": true
    },
    "feedback": {
      "type": "thumbs",
      "overall_score": "like",
      "likes": 1,
      "dislikes": 1,
      "rating": 1,
      "comment": "comment"
    },
    "authorization_method": "invalid",
    "charging": {
      "dev_discount": true,
      "is_burst": true,
      "tier": "tier",
      "llm_price": 1.1,
      "llm_charge": 1,
      "call_charge": 1,
      "platform_charge": 1,
      "platform_price": 1.1,
      "free_minutes_consumed": 1.1,
      "free_llm_dollars_consumed": 1.1,
      "analysis": {
        "total": {},
        "last_run": {}
      }
    },
    "phone_call": {
      "type": "exotel",
      "agent_number": "agent_number",
      "call_sid": "call_sid",
      "direction": "inbound",
      "external_number": "external_number",
      "phone_number_id": "phone_number_id",
      "stream_sid": "stream_sid",
      "call_result": "answered"
    },
    "batch_call": {
      "batch_call_id": "batch_call_id",
      "batch_call_recipient_id": "batch_call_recipient_id",
      "campaign": {
        "campaign_id": "campaign_id",
        "campaign_lead_id": "campaign_lead_id"
      }
    },
    "termination_reason": "termination_reason",
    "error": {
      "code": 1,
      "reason": "reason"
    },
    "warnings": [
      "warnings"
    ],
    "main_language": "main_language",
    "rag_usage": {
      "usage_count": 1,
      "embedding_model": "embedding_model"
    },
    "text_only": true,
    "features_usage": {
      "pii_zrm_workspace": true,
      "pii_zrm_agent": true,
      "is_livekit": true
    },
    "eleven_assistant": {
      "is_eleven_assistant": true
    },
    "initiator_id": "initiator_id",
    "conversation_initiation_source": "unknown",
    "conversation_initiation_source_version": "conversation_initiation_source_version",
    "timezone": "timezone",
    "async_metadata": {
      "delivery_status": "pending",
      "delivery_timestamp": 1,
      "external_system": "external_system",
      "external_id": "external_id",
      "delivery_error": "delivery_error",
      "external_link": "external_link",
      "retry_count": 1,
      "last_retry_timestamp": 1,
      "last_processed_external_message_id": "last_processed_external_message_id"
    },
    "whatsapp": {
      "whatsapp_user_id": "whatsapp_user_id",
      "direction": "inbound",
      "whatsapp_phone_number_id": "whatsapp_phone_number_id",
      "awaiting_first_user_message": true,
      "call_permission_request": {
        "state": "blocked"
      }
    },
    "sms": {
      "direction": "inbound",
      "sms_user_phone_number": "sms_user_phone_number",
      "phone_number_id": "phone_number_id",
      "agent_phone_number": "agent_phone_number"
    },
    "agent_created_from": "cli",
    "agent_last_updated_from": "cli",
    "voice_rewards": [
      {
        "voice_id": "voice_id",
        "reward_usd_cents": 1.1
      }
    ],
    "cost_fiat": 1.1
  },
  "conversation_id": "conv_7401k5m9x2p8ec3rqv6dtnhb0fzw",
  "has_audio": true,
  "has_user_audio": true,
  "has_response_audio": true,
  "has_auxiliary_audio": true,
  "transcript": [
    {
      "role": "user",
      "time_in_call_secs": 10,
      "agent_metadata": {
        "agent_id": "agent_id"
      },
      "message": "Hello, how are you?",
      "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
    }
  ],
  "agent_name": "My agent",
  "conversation_product": "conversation_product",
  "user_id": "user_id",
  "branch_id": "branch_id",
  "version_id": "agtvrsn_5xM3yVvZQKV0EfqQpLr2",
  "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"
      }
    ]
  },
  "visited_agents": [
    {
      "agent_id": "agent_id",
      "branch_id": "branch_id"
    }
  ],
  "conversation_initiation_client_data": {
    "conversation_config_override": {
      "asr": {
        "keywords": [
          "hello",
          "world"
        ]
      },
      "turn": {
        "soft_timeout_config": {
          "message": "Hhmmmm...yeah."
        }
      },
      "tts": {
        "model_id": "eleven_turbo_v2",
        "voice_id": "cjVigY5qzO86Huf0OWal",
        "stability": 0.5,
        "speed": 1,
        "similarity_boost": 0.8,
        "pronunciation_dictionary_locators": [
          {
            "pronunciation_dictionary_id": "pronunciation_dictionary_id",
            "version_id": null
          }
        ]
      },
      "conversation": {
        "max_duration_seconds": 600
      },
      "agent": {
        "first_message": "Hello, how can I help you today?",
        "language": "en",
        "prompt": {
          "prompt": "You are a helpful assistant that can answer questions about the topic of the conversation.",
          "llm": "gemini-2.0-flash-001",
          "tool_ids": [
            "tool_ids"
          ],
          "knowledge_base": [
            {
              "type": "file",
              "name": "My Knowledge Base",
              "id": "123",
              "usage_mode": "auto"
            }
          ]
        }
      }
    },
    "custom_llm_extra_body": {
      "key": "value"
    },
    "user_id": "user_id",
    "source_info": {
      "source": "unknown",
      "version": "version"
    },
    "branch_id": "branch_id",
    "environment": "environment",
    "starting_workflow_node_id": "starting_workflow_node_id",
    "procedure_ids": [
      "procedure_ids"
    ],
    "dynamic_variables": {
      "key": "value"
    }
  },
  "environment": "production",
  "tag_ids": [
    "tag_ids"
  ],
  "otlp_traces": {
    "key": "value"
  }
}
```

**SDK Code**

```python
import requests

url = "https://api.elevenlabs.io/v1/convai/conversations/resolve"

querystring = {"agent_id":"agent_3701k3ttaq12ewp8b7qv5rfyszkz","reference":"https://your-domain.zendesk.com/agent/tickets/12345"}

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

print(response.json())
```

```javascript
const url = 'https://api.elevenlabs.io/v1/convai/conversations/resolve?agent_id=agent_3701k3ttaq12ewp8b7qv5rfyszkz&reference=https%3A%2F%2Fyour-domain.zendesk.com%2Fagent%2Ftickets%2F12345';
const options = {method: 'GET'};

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

```go
package main

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

func main() {

	url := "https://api.elevenlabs.io/v1/convai/conversations/resolve?agent_id=agent_3701k3ttaq12ewp8b7qv5rfyszkz&reference=https%3A%2F%2Fyour-domain.zendesk.com%2Fagent%2Ftickets%2F12345"

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

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

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

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

}
```

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

url = URI("https://api.elevenlabs.io/v1/convai/conversations/resolve?agent_id=agent_3701k3ttaq12ewp8b7qv5rfyszkz&reference=https%3A%2F%2Fyour-domain.zendesk.com%2Fagent%2Ftickets%2F12345")

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

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

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

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

HttpResponse<String> response = Unirest.get("https://api.elevenlabs.io/v1/convai/conversations/resolve?agent_id=agent_3701k3ttaq12ewp8b7qv5rfyszkz&reference=https%3A%2F%2Fyour-domain.zendesk.com%2Fagent%2Ftickets%2F12345")
  .asString();
```

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

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.elevenlabs.io/v1/convai/conversations/resolve?agent_id=agent_3701k3ttaq12ewp8b7qv5rfyszkz&reference=https%3A%2F%2Fyour-domain.zendesk.com%2Fagent%2Ftickets%2F12345');

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

```csharp
using RestSharp;

var client = new RestClient("https://api.elevenlabs.io/v1/convai/conversations/resolve?agent_id=agent_3701k3ttaq12ewp8b7qv5rfyszkz&reference=https%3A%2F%2Fyour-domain.zendesk.com%2Fagent%2Ftickets%2F12345");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.elevenlabs.io/v1/convai/conversations/resolve?agent_id=agent_3701k3ttaq12ewp8b7qv5rfyszkz&reference=https%3A%2F%2Fyour-domain.zendesk.com%2Fagent%2Ftickets%2F12345")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

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

dataTask.resume()
```