---
title: "Get Agent Response Test By Id"
method: GET
path: "/v1/convai/agent-testing/{test_id}"
---

# Get Agent Response Test By Id

`GET /v1/convai/agent-testing/{test_id}`

Gets an agent response test by ID.

## Path parameters

- `test_id` string, required — The id of a chat response test. This is returned on test creation.

## Headers

- `xi-api-key` string, nullable — Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Response `200`

Successful Response

- union
  - GetResponseUnitTestResponseModel
    - `from_conversation_metadata` TestFromConversationMetadataOutput
      - `conversation_id` string, required
      - `agent_id` string, required
      - `branch_id` string, nullable
      - `workflow_node_id` string, nullable
      - `original_agent_reply` ConversationHistoryTranscriptCommonModelOutput[]
        - `role` 'user' | 'agent', required
        - `agent_metadata` AgentMetadata
          - `agent_id` string, required
          - `branch_id` string, nullable
          - `workflow_node_id` string, nullable
          - `version_id` string, nullable
        - `message` string, nullable
        - `multivoice_message` ConversationHistoryMultivoiceMessageModel — Represents a message from a multi-voice agent.
          - `parts` ConversationHistoryMultivoiceMessagePartModel[], required
            - `text` string, required
            - `voice_label` string, nullable, required
            - `time_in_call_secs` integer, nullable, required
        - `tool_calls` ConversationHistoryTranscriptToolCallCommonModelOutput[]
          - `type` 'system' | 'webhook' | 'client' | 'mcp' | 'workflow' | 'api_integration_webhook' | 'api_integration_mcp' | 'smb'
          - `request_id` string, required
          - `tool_name` string, required
          - `params_as_json` string, required
          - `tool_has_been_called` boolean, required
          - `tool_details` union
            - ConversationHistoryTranscriptToolCallWebhookDetails
              - …
            - ConversationHistoryTranscriptToolCallClientDetails
              - …
            - ConversationHistoryTranscriptToolCallMCPDetails
              - …
            - ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetailsOutput
              - …
        - `tool_results` union[]
          - union
            - ConversationHistoryTranscriptOtherToolsResultCommonModel
              - …
            - ConversationHistoryTranscriptSystemToolResultCommonModelOutput
              - …
            - ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModelOutput
              - …
            - ConversationHistoryTranscriptWorkflowToolsResultCommonModelOutput
              - …
        - `feedback` UserFeedback
          - `score` 'like' | 'dislike', required
          - `time_in_call_secs` integer, required
        - `llm_override` string, nullable
        - `producing_llm` string, nullable
        - `time_in_call_secs` integer, required
        - `conversation_turn_metrics` ConversationTurnMetrics
          - `metrics` object
          - `convai_asr_provider` string, nullable
          - `convai_tts_model` string, nullable
          - `convai_tts_cascade` string, nullable
        - `rag_retrieval_info` RagRetrievalInfo
          - `chunks` RagChunkMetadata[], required
            - `document_id` string, required
            - `chunk_id` string, required
            - `vector_distance` number, required
          - `embedding_model` 'e5_mistral_7b_instruct' | 'multilingual_e5_large_instruct', required
          - `retrieval_query` string, required
          - `rag_latency_secs` number, required
          - `used_chunk_ids` string[]
        - `llm_usage` LLMUsageOutput
          - `model_usage` object
        - `interrupted` boolean
        - `ignored_as_backchannel` boolean
        - `original_message` string, nullable
        - `reasoning` ConversationReasoningModel[]
          - `summary` string, nullable
          - `provider_redact` boolean
        - `source_medium` 'audio' | 'text' | 'image' | 'file'
        - `source_event_id` integer, nullable
        - `used_static_kb_document_ids` string[]
        - `user_identifier` string, nullable
        - `id` string, nullable
        - `triggered_guardrails` TriggeredGuardrailCommonModel[]
          - `guardrail_type` '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', required
          - `guardrail_name` string, nullable
    - `dynamic_variables` object — Dynamic variables to replace in the agent config during testing
    - `chat_history` ConversationHistoryTranscriptCommonModelOutput[]
      - `role` 'user' | 'agent', required
      - `agent_metadata` AgentMetadata
        - `agent_id` string, required
        - `branch_id` string, nullable
        - `workflow_node_id` string, nullable
        - `version_id` string, nullable
      - `message` string, nullable
      - `multivoice_message` ConversationHistoryMultivoiceMessageModel — Represents a message from a multi-voice agent.
        - `parts` ConversationHistoryMultivoiceMessagePartModel[], required
          - `text` string, required
          - `voice_label` string, nullable, required
          - `time_in_call_secs` integer, nullable, required
      - `tool_calls` ConversationHistoryTranscriptToolCallCommonModelOutput[]
        - `type` 'system' | 'webhook' | 'client' | 'mcp' | 'workflow' | 'api_integration_webhook' | 'api_integration_mcp' | 'smb'
        - `request_id` string, required
        - `tool_name` string, required
        - `params_as_json` string, required
        - `tool_has_been_called` boolean, required
        - `tool_details` union
          - ConversationHistoryTranscriptToolCallWebhookDetails
            - `type` 'webhook'
            - `method` string, required
            - `url` string, required
            - `headers` object
            - `path_params` object
            - `query_params` object
            - `body` string, nullable
          - ConversationHistoryTranscriptToolCallClientDetails
            - `type` 'client'
            - `parameters` string, required
          - ConversationHistoryTranscriptToolCallMCPDetails
            - `type` 'mcp'
            - `mcp_server_id` string, required
            - `mcp_server_name` string, required
            - `integration_type` string, required
            - `parameters` object
            - `approval_policy` string, required
            - `requires_approval` boolean
            - `mcp_tool_name` string
            - `mcp_tool_description` string
          - ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetailsOutput
            - `type` 'api_integration_webhook', required
            - `integration_id` string, required
            - `credential_id` string, required
            - `integration_connection_id` string, required
            - `webhook_details` ConversationHistoryTranscriptToolCallWebhookDetails, required
              - …
      - `tool_results` union[]
        - union
          - ConversationHistoryTranscriptOtherToolsResultCommonModel
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'client' | 'webhook' | 'mcp' | 'code', nullable
          - ConversationHistoryTranscriptSystemToolResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'system', required
            - `result` union
              - …
          - ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean, required
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number, required
            - `error_type` string, required
            - `raw_error_message` string, required
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[], required
              - …
            - `type` 'api_integration_webhook', required
            - `integration_id` string, required
            - `credential_id` string, required
            - `integration_connection_id` string, required
          - ConversationHistoryTranscriptWorkflowToolsResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'workflow', required
            - `result` WorkflowToolResponseModelOutput — A common model for workflow tool responses.
              - …
      - `feedback` UserFeedback
        - `score` 'like' | 'dislike', required
        - `time_in_call_secs` integer, required
      - `llm_override` string, nullable
      - `producing_llm` string, nullable
      - `time_in_call_secs` integer, required
      - `conversation_turn_metrics` ConversationTurnMetrics
        - `metrics` object
        - `convai_asr_provider` string, nullable
        - `convai_tts_model` string, nullable
        - `convai_tts_cascade` string, nullable
      - `rag_retrieval_info` RagRetrievalInfo
        - `chunks` RagChunkMetadata[], required
          - `document_id` string, required
          - `chunk_id` string, required
          - `vector_distance` number, required
        - `embedding_model` 'e5_mistral_7b_instruct' | 'multilingual_e5_large_instruct', required
        - `retrieval_query` string, required
        - `rag_latency_secs` number, required
        - `used_chunk_ids` string[]
      - `llm_usage` LLMUsageOutput
        - `model_usage` object
      - `interrupted` boolean
      - `ignored_as_backchannel` boolean
      - `original_message` string, nullable
      - `reasoning` ConversationReasoningModel[]
        - `summary` string, nullable
        - `provider_redact` boolean
      - `source_medium` 'audio' | 'text' | 'image' | 'file'
      - `source_event_id` integer, nullable
      - `used_static_kb_document_ids` string[]
      - `user_identifier` string, nullable
      - `id` string, nullable
      - `triggered_guardrails` TriggeredGuardrailCommonModel[]
        - `guardrail_type` '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', required
        - `guardrail_name` string, nullable
    - `conversation_initiation_source` 'unknown' | 'android_sdk' | 'node_js_sdk' | 'react_native_sdk' | 'react_sdk' | 'js_sdk' | 'python_sdk' | 'widget' | 'sip_trunk' | 'twilio' | 'exotel' | 'genesys' | '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' — Enum representing the possible sources for conversation initiation.
    - `type` 'llm'
    - `success_condition` string — A prompt that evaluates whether the agent's response is successful. Should return True or False.
    - `success_examples` AgentSuccessfulResponseExample[] — Non-empty list of example responses that should be considered successful
      - `response` string, required
      - `type` 'success', required
    - `failure_examples` AgentFailureResponseExample[] — Non-empty list of example responses that should be considered failures
      - `response` string, required
      - `type` 'failure', required
    - `id` string, required
    - `name` string, required
  - GetToolCallUnitTestResponseModel
    - `from_conversation_metadata` TestFromConversationMetadataOutput
      - `conversation_id` string, required
      - `agent_id` string, required
      - `branch_id` string, nullable
      - `workflow_node_id` string, nullable
      - `original_agent_reply` ConversationHistoryTranscriptCommonModelOutput[]
        - `role` 'user' | 'agent', required
        - `agent_metadata` AgentMetadata
          - `agent_id` string, required
          - `branch_id` string, nullable
          - `workflow_node_id` string, nullable
          - `version_id` string, nullable
        - `message` string, nullable
        - `multivoice_message` ConversationHistoryMultivoiceMessageModel — Represents a message from a multi-voice agent.
          - `parts` ConversationHistoryMultivoiceMessagePartModel[], required
            - `text` string, required
            - `voice_label` string, nullable, required
            - `time_in_call_secs` integer, nullable, required
        - `tool_calls` ConversationHistoryTranscriptToolCallCommonModelOutput[]
          - `type` 'system' | 'webhook' | 'client' | 'mcp' | 'workflow' | 'api_integration_webhook' | 'api_integration_mcp' | 'smb'
          - `request_id` string, required
          - `tool_name` string, required
          - `params_as_json` string, required
          - `tool_has_been_called` boolean, required
          - `tool_details` union
            - ConversationHistoryTranscriptToolCallWebhookDetails
              - …
            - ConversationHistoryTranscriptToolCallClientDetails
              - …
            - ConversationHistoryTranscriptToolCallMCPDetails
              - …
            - ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetailsOutput
              - …
        - `tool_results` union[]
          - union
            - ConversationHistoryTranscriptOtherToolsResultCommonModel
              - …
            - ConversationHistoryTranscriptSystemToolResultCommonModelOutput
              - …
            - ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModelOutput
              - …
            - ConversationHistoryTranscriptWorkflowToolsResultCommonModelOutput
              - …
        - `feedback` UserFeedback
          - `score` 'like' | 'dislike', required
          - `time_in_call_secs` integer, required
        - `llm_override` string, nullable
        - `producing_llm` string, nullable
        - `time_in_call_secs` integer, required
        - `conversation_turn_metrics` ConversationTurnMetrics
          - `metrics` object
          - `convai_asr_provider` string, nullable
          - `convai_tts_model` string, nullable
          - `convai_tts_cascade` string, nullable
        - `rag_retrieval_info` RagRetrievalInfo
          - `chunks` RagChunkMetadata[], required
            - `document_id` string, required
            - `chunk_id` string, required
            - `vector_distance` number, required
          - `embedding_model` 'e5_mistral_7b_instruct' | 'multilingual_e5_large_instruct', required
          - `retrieval_query` string, required
          - `rag_latency_secs` number, required
          - `used_chunk_ids` string[]
        - `llm_usage` LLMUsageOutput
          - `model_usage` object
        - `interrupted` boolean
        - `ignored_as_backchannel` boolean
        - `original_message` string, nullable
        - `reasoning` ConversationReasoningModel[]
          - `summary` string, nullable
          - `provider_redact` boolean
        - `source_medium` 'audio' | 'text' | 'image' | 'file'
        - `source_event_id` integer, nullable
        - `used_static_kb_document_ids` string[]
        - `user_identifier` string, nullable
        - `id` string, nullable
        - `triggered_guardrails` TriggeredGuardrailCommonModel[]
          - `guardrail_type` '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', required
          - `guardrail_name` string, nullable
    - `dynamic_variables` object — Dynamic variables to replace in the agent config during testing
    - `chat_history` ConversationHistoryTranscriptCommonModelOutput[]
      - `role` 'user' | 'agent', required
      - `agent_metadata` AgentMetadata
        - `agent_id` string, required
        - `branch_id` string, nullable
        - `workflow_node_id` string, nullable
        - `version_id` string, nullable
      - `message` string, nullable
      - `multivoice_message` ConversationHistoryMultivoiceMessageModel — Represents a message from a multi-voice agent.
        - `parts` ConversationHistoryMultivoiceMessagePartModel[], required
          - `text` string, required
          - `voice_label` string, nullable, required
          - `time_in_call_secs` integer, nullable, required
      - `tool_calls` ConversationHistoryTranscriptToolCallCommonModelOutput[]
        - `type` 'system' | 'webhook' | 'client' | 'mcp' | 'workflow' | 'api_integration_webhook' | 'api_integration_mcp' | 'smb'
        - `request_id` string, required
        - `tool_name` string, required
        - `params_as_json` string, required
        - `tool_has_been_called` boolean, required
        - `tool_details` union
          - ConversationHistoryTranscriptToolCallWebhookDetails
            - `type` 'webhook'
            - `method` string, required
            - `url` string, required
            - `headers` object
            - `path_params` object
            - `query_params` object
            - `body` string, nullable
          - ConversationHistoryTranscriptToolCallClientDetails
            - `type` 'client'
            - `parameters` string, required
          - ConversationHistoryTranscriptToolCallMCPDetails
            - `type` 'mcp'
            - `mcp_server_id` string, required
            - `mcp_server_name` string, required
            - `integration_type` string, required
            - `parameters` object
            - `approval_policy` string, required
            - `requires_approval` boolean
            - `mcp_tool_name` string
            - `mcp_tool_description` string
          - ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetailsOutput
            - `type` 'api_integration_webhook', required
            - `integration_id` string, required
            - `credential_id` string, required
            - `integration_connection_id` string, required
            - `webhook_details` ConversationHistoryTranscriptToolCallWebhookDetails, required
              - …
      - `tool_results` union[]
        - union
          - ConversationHistoryTranscriptOtherToolsResultCommonModel
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'client' | 'webhook' | 'mcp' | 'code', nullable
          - ConversationHistoryTranscriptSystemToolResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'system', required
            - `result` union
              - …
          - ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean, required
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number, required
            - `error_type` string, required
            - `raw_error_message` string, required
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[], required
              - …
            - `type` 'api_integration_webhook', required
            - `integration_id` string, required
            - `credential_id` string, required
            - `integration_connection_id` string, required
          - ConversationHistoryTranscriptWorkflowToolsResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'workflow', required
            - `result` WorkflowToolResponseModelOutput — A common model for workflow tool responses.
              - …
      - `feedback` UserFeedback
        - `score` 'like' | 'dislike', required
        - `time_in_call_secs` integer, required
      - `llm_override` string, nullable
      - `producing_llm` string, nullable
      - `time_in_call_secs` integer, required
      - `conversation_turn_metrics` ConversationTurnMetrics
        - `metrics` object
        - `convai_asr_provider` string, nullable
        - `convai_tts_model` string, nullable
        - `convai_tts_cascade` string, nullable
      - `rag_retrieval_info` RagRetrievalInfo
        - `chunks` RagChunkMetadata[], required
          - `document_id` string, required
          - `chunk_id` string, required
          - `vector_distance` number, required
        - `embedding_model` 'e5_mistral_7b_instruct' | 'multilingual_e5_large_instruct', required
        - `retrieval_query` string, required
        - `rag_latency_secs` number, required
        - `used_chunk_ids` string[]
      - `llm_usage` LLMUsageOutput
        - `model_usage` object
      - `interrupted` boolean
      - `ignored_as_backchannel` boolean
      - `original_message` string, nullable
      - `reasoning` ConversationReasoningModel[]
        - `summary` string, nullable
        - `provider_redact` boolean
      - `source_medium` 'audio' | 'text' | 'image' | 'file'
      - `source_event_id` integer, nullable
      - `used_static_kb_document_ids` string[]
      - `user_identifier` string, nullable
      - `id` string, nullable
      - `triggered_guardrails` TriggeredGuardrailCommonModel[]
        - `guardrail_type` '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', required
        - `guardrail_name` string, nullable
    - `conversation_initiation_source` 'unknown' | 'android_sdk' | 'node_js_sdk' | 'react_native_sdk' | 'react_sdk' | 'js_sdk' | 'python_sdk' | 'widget' | 'sip_trunk' | 'twilio' | 'exotel' | 'genesys' | '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' — Enum representing the possible sources for conversation initiation.
    - `type` 'tool'
    - `tool_call_parameters` UnitTestToolCallEvaluationModelOutput
      - `parameters` UnitTestToolCallParameter[] — Parameters to evaluate for the agent's tool call. If empty, the tool call parameters are not evaluated.
        - `eval` union, required
          - LLMParameterEvaluationStrategy
            - `type` 'llm', required
            - `description` string, required — A description of the evaluation strategy to use for the test.
          - RegexParameterEvaluationStrategy
            - `type` 'regex', required
            - `pattern` string, required — A regex pattern to match the agent's response against.
          - ExactParameterEvaluationStrategy
            - `type` 'exact', required
            - `expected_value` string, required — The exact string value that the parameter must match.
          - MatchAnythingParameterEvaluationStrategy
            - `type` 'anything', required
        - `path` string, required
      - `referenced_tool` ReferencedToolCommonModel — Reference to a tool for unit test evaluation.
        - `id` string, required — The ID of the tool
        - `type` 'system' | 'webhook' | 'client' | 'workflow' | 'api_integration_webhook' | 'mcp' | 'code', required — The type of the tool
      - `verify_absence` boolean — Whether to verify that the tool was NOT called.
      - `workflow_node_transition` UnitTestWorkflowNodeTransitionEvaluationNodeId
        - `type` 'node_id'
        - `agent_id` string, required — The ID of the agent whose workflow contains the target node.
        - `target_node_id` string, required — The ID of the workflow node that the agent should transition to.
    - `check_any_tool_matches` boolean, nullable — If set to True this test will pass if any tool call returned by the LLM matches the criteria. Otherwise it will fail if more than one tool is returned by the agent.
    - `id` string, required
    - `name` string, required
  - GetSimulationTestResponseModel
    - `from_conversation_metadata` TestFromConversationMetadataOutput
      - `conversation_id` string, required
      - `agent_id` string, required
      - `branch_id` string, nullable
      - `workflow_node_id` string, nullable
      - `original_agent_reply` ConversationHistoryTranscriptCommonModelOutput[]
        - `role` 'user' | 'agent', required
        - `agent_metadata` AgentMetadata
          - `agent_id` string, required
          - `branch_id` string, nullable
          - `workflow_node_id` string, nullable
          - `version_id` string, nullable
        - `message` string, nullable
        - `multivoice_message` ConversationHistoryMultivoiceMessageModel — Represents a message from a multi-voice agent.
          - `parts` ConversationHistoryMultivoiceMessagePartModel[], required
            - `text` string, required
            - `voice_label` string, nullable, required
            - `time_in_call_secs` integer, nullable, required
        - `tool_calls` ConversationHistoryTranscriptToolCallCommonModelOutput[]
          - `type` 'system' | 'webhook' | 'client' | 'mcp' | 'workflow' | 'api_integration_webhook' | 'api_integration_mcp' | 'smb'
          - `request_id` string, required
          - `tool_name` string, required
          - `params_as_json` string, required
          - `tool_has_been_called` boolean, required
          - `tool_details` union
            - ConversationHistoryTranscriptToolCallWebhookDetails
              - …
            - ConversationHistoryTranscriptToolCallClientDetails
              - …
            - ConversationHistoryTranscriptToolCallMCPDetails
              - …
            - ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetailsOutput
              - …
        - `tool_results` union[]
          - union
            - ConversationHistoryTranscriptOtherToolsResultCommonModel
              - …
            - ConversationHistoryTranscriptSystemToolResultCommonModelOutput
              - …
            - ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModelOutput
              - …
            - ConversationHistoryTranscriptWorkflowToolsResultCommonModelOutput
              - …
        - `feedback` UserFeedback
          - `score` 'like' | 'dislike', required
          - `time_in_call_secs` integer, required
        - `llm_override` string, nullable
        - `producing_llm` string, nullable
        - `time_in_call_secs` integer, required
        - `conversation_turn_metrics` ConversationTurnMetrics
          - `metrics` object
          - `convai_asr_provider` string, nullable
          - `convai_tts_model` string, nullable
          - `convai_tts_cascade` string, nullable
        - `rag_retrieval_info` RagRetrievalInfo
          - `chunks` RagChunkMetadata[], required
            - `document_id` string, required
            - `chunk_id` string, required
            - `vector_distance` number, required
          - `embedding_model` 'e5_mistral_7b_instruct' | 'multilingual_e5_large_instruct', required
          - `retrieval_query` string, required
          - `rag_latency_secs` number, required
          - `used_chunk_ids` string[]
        - `llm_usage` LLMUsageOutput
          - `model_usage` object
        - `interrupted` boolean
        - `ignored_as_backchannel` boolean
        - `original_message` string, nullable
        - `reasoning` ConversationReasoningModel[]
          - `summary` string, nullable
          - `provider_redact` boolean
        - `source_medium` 'audio' | 'text' | 'image' | 'file'
        - `source_event_id` integer, nullable
        - `used_static_kb_document_ids` string[]
        - `user_identifier` string, nullable
        - `id` string, nullable
        - `triggered_guardrails` TriggeredGuardrailCommonModel[]
          - `guardrail_type` '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', required
          - `guardrail_name` string, nullable
    - `dynamic_variables` object — Dynamic variables to replace in the agent config during testing
    - `chat_history` ConversationHistoryTranscriptCommonModelOutput[]
      - `role` 'user' | 'agent', required
      - `agent_metadata` AgentMetadata
        - `agent_id` string, required
        - `branch_id` string, nullable
        - `workflow_node_id` string, nullable
        - `version_id` string, nullable
      - `message` string, nullable
      - `multivoice_message` ConversationHistoryMultivoiceMessageModel — Represents a message from a multi-voice agent.
        - `parts` ConversationHistoryMultivoiceMessagePartModel[], required
          - `text` string, required
          - `voice_label` string, nullable, required
          - `time_in_call_secs` integer, nullable, required
      - `tool_calls` ConversationHistoryTranscriptToolCallCommonModelOutput[]
        - `type` 'system' | 'webhook' | 'client' | 'mcp' | 'workflow' | 'api_integration_webhook' | 'api_integration_mcp' | 'smb'
        - `request_id` string, required
        - `tool_name` string, required
        - `params_as_json` string, required
        - `tool_has_been_called` boolean, required
        - `tool_details` union
          - ConversationHistoryTranscriptToolCallWebhookDetails
            - `type` 'webhook'
            - `method` string, required
            - `url` string, required
            - `headers` object
            - `path_params` object
            - `query_params` object
            - `body` string, nullable
          - ConversationHistoryTranscriptToolCallClientDetails
            - `type` 'client'
            - `parameters` string, required
          - ConversationHistoryTranscriptToolCallMCPDetails
            - `type` 'mcp'
            - `mcp_server_id` string, required
            - `mcp_server_name` string, required
            - `integration_type` string, required
            - `parameters` object
            - `approval_policy` string, required
            - `requires_approval` boolean
            - `mcp_tool_name` string
            - `mcp_tool_description` string
          - ConversationHistoryTranscriptToolCallApiIntegrationWebhookDetailsOutput
            - `type` 'api_integration_webhook', required
            - `integration_id` string, required
            - `credential_id` string, required
            - `integration_connection_id` string, required
            - `webhook_details` ConversationHistoryTranscriptToolCallWebhookDetails, required
              - …
      - `tool_results` union[]
        - union
          - ConversationHistoryTranscriptOtherToolsResultCommonModel
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'client' | 'webhook' | 'mcp' | 'code', nullable
          - ConversationHistoryTranscriptSystemToolResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'system', required
            - `result` union
              - …
          - ConversationHistoryTranscriptApiIntegrationWebhookToolsResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean, required
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number, required
            - `error_type` string, required
            - `raw_error_message` string, required
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[], required
              - …
            - `type` 'api_integration_webhook', required
            - `integration_id` string, required
            - `credential_id` string, required
            - `integration_connection_id` string, required
          - ConversationHistoryTranscriptWorkflowToolsResultCommonModelOutput
            - `request_id` string, required
            - `tool_name` string, required
            - `result_value` string, required
            - `is_error` boolean, required
            - `is_blocked` boolean
            - `tool_has_been_called` boolean, required
            - `tool_latency_secs` number
            - `error_type` string
            - `raw_error_message` string
            - `dynamic_variable_updates` DynamicVariableUpdateCommonModel[]
              - …
            - `type` 'workflow', required
            - `result` WorkflowToolResponseModelOutput — A common model for workflow tool responses.
              - …
      - `feedback` UserFeedback
        - `score` 'like' | 'dislike', required
        - `time_in_call_secs` integer, required
      - `llm_override` string, nullable
      - `producing_llm` string, nullable
      - `time_in_call_secs` integer, required
      - `conversation_turn_metrics` ConversationTurnMetrics
        - `metrics` object
        - `convai_asr_provider` string, nullable
        - `convai_tts_model` string, nullable
        - `convai_tts_cascade` string, nullable
      - `rag_retrieval_info` RagRetrievalInfo
        - `chunks` RagChunkMetadata[], required
          - `document_id` string, required
          - `chunk_id` string, required
          - `vector_distance` number, required
        - `embedding_model` 'e5_mistral_7b_instruct' | 'multilingual_e5_large_instruct', required
        - `retrieval_query` string, required
        - `rag_latency_secs` number, required
        - `used_chunk_ids` string[]
      - `llm_usage` LLMUsageOutput
        - `model_usage` object
      - `interrupted` boolean
      - `ignored_as_backchannel` boolean
      - `original_message` string, nullable
      - `reasoning` ConversationReasoningModel[]
        - `summary` string, nullable
        - `provider_redact` boolean
      - `source_medium` 'audio' | 'text' | 'image' | 'file'
      - `source_event_id` integer, nullable
      - `used_static_kb_document_ids` string[]
      - `user_identifier` string, nullable
      - `id` string, nullable
      - `triggered_guardrails` TriggeredGuardrailCommonModel[]
        - `guardrail_type` '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', required
        - `guardrail_name` string, nullable
    - `conversation_initiation_source` 'unknown' | 'android_sdk' | 'node_js_sdk' | 'react_native_sdk' | 'react_sdk' | 'js_sdk' | 'python_sdk' | 'widget' | 'sip_trunk' | 'twilio' | 'exotel' | 'genesys' | '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' — Enum representing the possible sources for conversation initiation.
    - `type` 'simulation'
    - `success_condition` string, nullable — Deprecated legacy single success criterion. Use success_conditions instead. At least one of success_condition or success_conditions is required.
    - `success_conditions` string[] — List of prompts that evaluate whether the simulation was successful. If provided, all criteria are evaluated and merged into a final result. Capped at the maximum number of evaluation criteria.
    - `simulation_scenario` string — Description of the simulation scenario and user persona for simulation tests.
    - `simulation_max_turns` integer — Maximum number of conversation turns for simulation tests.
    - `simulation_environment` string, nullable — The environment to use when running this simulation test. If not provided, defaults to 'production'.
    - `tool_mock_config` SimulationToolMockBehaviorConfig — Simulation/preview-side config: tools are identified by IDs, resolved to names at runtime.
      - `mocking_strategy` 'all' | 'selected' | 'none'
      - `fallback_strategy` 'call_real_tool' | 'raise_error'
      - `mocked_tool_ids` string[] — Tool IDs to mock. Resolved to tool names before being passed to the orchestrator.
    - `tool_mock_overrides` object — Test-specific response mocks, keyed by tool ID. Applied ahead of the tool's shared mocks and only within this test. Only take effect for tools that are mocked (see tool_mock_config).
    - `evaluation_model` '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-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' | 'claude-sonnet-4-5' | 'claude-opus-4-7' | 'claude-opus-4-8' | 'claude-sonnet-4-6' | 'claude-sonnet-5' | 'claude-sonnet-4' | 'claude-haiku-4-5' | 'claude-3-7-sonnet' | 'claude-3-5-sonnet' | 'claude-3-5-sonnet-v1' | 'claude-3-haiku' | 'grok-beta' | 'custom-llm' | 'qwen3-4b' | 'qwen3-30b-a3b' | 'qwen36-35b-a3b' | 'qwen35-397b-a17b' | 'gpt-oss-20b' | 'gpt-oss-120b' | 'glm-45-air-fp8' | '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'
    - `simulated_user_model` '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-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' | 'claude-sonnet-4-5' | 'claude-opus-4-7' | 'claude-opus-4-8' | 'claude-sonnet-4-6' | 'claude-sonnet-5' | 'claude-sonnet-4' | 'claude-haiku-4-5' | 'claude-3-7-sonnet' | 'claude-3-5-sonnet' | 'claude-3-5-sonnet-v1' | 'claude-3-haiku' | 'grok-beta' | 'custom-llm' | 'qwen3-4b' | 'qwen3-30b-a3b' | 'qwen36-35b-a3b' | 'qwen35-397b-a17b' | 'gpt-oss-20b' | 'gpt-oss-120b' | 'glm-45-air-fp8' | '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'
    - `id` string, required
    - `name` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/elevenlabs/apis/elevenlabs-api-documentation.md) · [All operations](https://skmtc.net/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/elevenlabs/elevenlabs-api-documentation/versions/e77a0a530a82/schema)
