curl --request POST \
--url https://api.threetone.in/v1/convai/agents/{agent_id}/run-tests \
--header 'Content-Type: application/json' \
--data '
{
"tests": [
{
"test_id": "<string>",
"workflow_node_id": "<string>",
"root_folder_id": "<string>",
"root_folder_name": "<string>"
}
]
}
'import requests
url = "https://api.threetone.in/v1/convai/agents/{agent_id}/run-tests"
payload = { "tests": [
{
"test_id": "<string>",
"workflow_node_id": "<string>",
"root_folder_id": "<string>",
"root_folder_name": "<string>"
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
tests: [
{
test_id: '<string>',
workflow_node_id: '<string>',
root_folder_id: '<string>',
root_folder_name: '<string>'
}
]
})
};
fetch('https://api.threetone.in/v1/convai/agents/{agent_id}/run-tests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "<string>",
"test_runs": [
{
"test_run_id": "<string>",
"test_invocation_id": "<string>",
"agent_id": "<string>",
"status": "pending",
"test_id": "<string>",
"test_info": {
"from_conversation_metadata": {
"conversation_id": "<string>",
"agent_id": "<string>",
"branch_id": "<string>",
"workflow_node_id": "<string>",
"original_agent_reply": [
{
"role": "user",
"time_in_call_secs": 123,
"agent_metadata": {
"agent_id": "<string>",
"branch_id": "<string>",
"workflow_node_id": "<string>",
"version_id": "<string>"
},
"message": "<string>",
"multivoice_message": {
"parts": [
{
"text": "<string>",
"voice_label": "<string>",
"time_in_call_secs": 123
}
]
},
"tool_calls": [
{
"request_id": "<string>",
"tool_name": "<string>",
"params_as_json": "<string>",
"tool_has_been_called": true,
"type": "system",
"tool_details": {
"method": "<string>",
"url": "<string>",
"type": "webhook",
"headers": {},
"path_params": {},
"query_params": {},
"body": "<string>"
}
}
],
"tool_results": [
{
"request_id": "<string>",
"tool_name": "<string>",
"result_value": "<string>",
"is_error": true,
"tool_has_been_called": true,
"is_blocked": false,
"tool_latency_secs": 0,
"error_type": "",
"raw_error_message": "",
"dynamic_variable_updates": [
{
"variable_name": "<string>",
"old_value": "<string>",
"new_value": "<string>",
"updated_at": 123,
"tool_name": "<string>",
"tool_request_id": "<string>"
}
],
"type": "client"
}
],
"feedback": {
"score": "like",
"time_in_call_secs": 123
},
"llm_override": "<string>",
"producing_llm": "<string>",
"conversation_turn_metrics": {
"metrics": {},
"convai_asr_provider": "<string>",
"convai_tts_model": "<string>",
"convai_tts_cascade": "<string>"
},
"rag_retrieval_info": {
"chunks": [
{
"document_id": "<string>",
"chunk_id": "<string>",
"vector_distance": 123
}
],
"embedding_model": "e5_mistral_7b_instruct",
"retrieval_query": "<string>",
"rag_latency_secs": 123,
"used_chunk_ids": [
"<string>"
]
},
"llm_usage": {
"model_usage": {}
},
"interrupted": false,
"ignored_as_backchannel": false,
"original_message": "<string>",
"reasoning": [
{
"summary": "<string>",
"provider_redact": false
}
],
"source_medium": "audio",
"source_event_id": 123,
"used_static_kb_document_ids": [
"<string>"
],
"user_identifier": "<string>",
"triggered_guardrails": [
{
"guardrail_type": "custom",
"guardrail_name": "<string>"
}
]
}
]
},
"dynamic_variables": {},
"chat_history": [
{
"role": "user",
"time_in_call_secs": 123,
"agent_metadata": {
"agent_id": "<string>",
"branch_id": "<string>",
"workflow_node_id": "<string>",
"version_id": "<string>"
},
"message": "<string>",
"multivoice_message": {
"parts": [
{
"text": "<string>",
"voice_label": "<string>",
"time_in_call_secs": 123
}
]
},
"tool_calls": [
{
"request_id": "<string>",
"tool_name": "<string>",
"params_as_json": "<string>",
"tool_has_been_called": true,
"type": "system",
"tool_details": {
"method": "<string>",
"url": "<string>",
"type": "webhook",
"headers": {},
"path_params": {},
"query_params": {},
"body": "<string>"
}
}
],
"tool_results": [
{
"request_id": "<string>",
"tool_name": "<string>",
"result_value": "<string>",
"is_error": true,
"tool_has_been_called": true,
"is_blocked": false,
"tool_latency_secs": 0,
"error_type": "",
"raw_error_message": "",
"dynamic_variable_updates": [
{
"variable_name": "<string>",
"old_value": "<string>",
"new_value": "<string>",
"updated_at": 123,
"tool_name": "<string>",
"tool_request_id": "<string>"
}
],
"type": "client"
}
],
"feedback": {
"score": "like",
"time_in_call_secs": 123
},
"llm_override": "<string>",
"producing_llm": "<string>",
"conversation_turn_metrics": {
"metrics": {},
"convai_asr_provider": "<string>",
"convai_tts_model": "<string>",
"convai_tts_cascade": "<string>"
},
"rag_retrieval_info": {
"chunks": [
{
"document_id": "<string>",
"chunk_id": "<string>",
"vector_distance": 123
}
],
"embedding_model": "e5_mistral_7b_instruct",
"retrieval_query": "<string>",
"rag_latency_secs": 123,
"used_chunk_ids": [
"<string>"
]
},
"llm_usage": {
"model_usage": {}
},
"interrupted": false,
"ignored_as_backchannel": false,
"original_message": "<string>",
"reasoning": [
{
"summary": "<string>",
"provider_redact": false
}
],
"source_medium": "audio",
"source_event_id": 123,
"used_static_kb_document_ids": [
"<string>"
],
"user_identifier": "<string>",
"triggered_guardrails": [
{
"guardrail_type": "custom",
"guardrail_name": "<string>"
}
]
}
],
"conversation_initiation_source": "unknown",
"environment": "<string>",
"type": "llm",
"success_conditions": [
"<string>"
],
"success_examples": [
{
"response": "<string>",
"type": "success"
}
],
"failure_examples": [
{
"response": "<string>",
"type": "failure"
}
]
},
"branch_id": "<string>",
"workflow_node_id": "<string>",
"agent_responses": [
{
"role": "user",
"time_in_call_secs": 123,
"agent_metadata": {
"agent_id": "<string>",
"branch_id": "<string>",
"workflow_node_id": "<string>",
"version_id": "<string>"
},
"message": "<string>",
"multivoice_message": {
"parts": [
{
"text": "<string>",
"voice_label": "<string>",
"time_in_call_secs": 123
}
]
},
"tool_calls": [
{
"request_id": "<string>",
"tool_name": "<string>",
"params_as_json": "<string>",
"tool_has_been_called": true,
"type": "system",
"tool_details": {
"method": "<string>",
"url": "<string>",
"type": "webhook",
"headers": {},
"path_params": {},
"query_params": {},
"body": "<string>"
}
}
],
"tool_results": [
{
"request_id": "<string>",
"tool_name": "<string>",
"result_value": "<string>",
"is_error": true,
"tool_has_been_called": true,
"is_blocked": false,
"tool_latency_secs": 0,
"error_type": "",
"raw_error_message": "",
"dynamic_variable_updates": [
{
"variable_name": "<string>",
"old_value": "<string>",
"new_value": "<string>",
"updated_at": 123,
"tool_name": "<string>",
"tool_request_id": "<string>"
}
],
"type": "client"
}
],
"feedback": {
"score": "like",
"time_in_call_secs": 123
},
"llm_override": "<string>",
"producing_llm": "<string>",
"conversation_turn_metrics": {
"metrics": {},
"convai_asr_provider": "<string>",
"convai_tts_model": "<string>",
"convai_tts_cascade": "<string>"
},
"rag_retrieval_info": {
"chunks": [
{
"document_id": "<string>",
"chunk_id": "<string>",
"vector_distance": 123
}
],
"embedding_model": "e5_mistral_7b_instruct",
"retrieval_query": "<string>",
"rag_latency_secs": 123,
"used_chunk_ids": [
"<string>"
]
},
"llm_usage": {
"model_usage": {}
},
"interrupted": false,
"ignored_as_backchannel": false,
"original_message": "<string>",
"reasoning": [
{
"summary": "<string>",
"provider_redact": false
}
],
"source_medium": "audio",
"source_event_id": 123,
"used_static_kb_document_ids": [
"<string>"
],
"user_identifier": "<string>",
"triggered_guardrails": [
{
"guardrail_type": "custom",
"guardrail_name": "<string>"
}
]
}
],
"test_name": "Unknown Test",
"condition_result": {
"result": "success",
"rationale": {
"messages": [
"<string>"
],
"summary": ""
}
},
"last_updated_at_unix": 123,
"metadata": {
"workspace_id": "<string>",
"test_name": "<string>",
"ran_by_user_email": "<string>",
"test_type": "llm"
},
"root_folder_id": "<string>",
"root_folder_name": "<string>",
"environment": "<string>"
}
],
"agent_id": "<string>",
"branch_id": "<string>",
"created_at": 123,
"folder_id": "<string>",
"repeat_count": 1,
"bucketing_status": "pending",
"result_groups": [
{
"test_id": "<string>",
"test_name": "<string>",
"buckets": [
{
"test_run_ids": [
"<string>"
],
"title": "<string>",
"reason": "<string>",
"status": "pending"
}
],
"workflow_node_id": "<string>"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Run Tests On The Agent
Run selected tests on the agent with provided configuration. If the agent configuration is provided, it will be used to override default agent configuration.
curl --request POST \
--url https://api.threetone.in/v1/convai/agents/{agent_id}/run-tests \
--header 'Content-Type: application/json' \
--data '
{
"tests": [
{
"test_id": "<string>",
"workflow_node_id": "<string>",
"root_folder_id": "<string>",
"root_folder_name": "<string>"
}
]
}
'import requests
url = "https://api.threetone.in/v1/convai/agents/{agent_id}/run-tests"
payload = { "tests": [
{
"test_id": "<string>",
"workflow_node_id": "<string>",
"root_folder_id": "<string>",
"root_folder_name": "<string>"
}
] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
tests: [
{
test_id: '<string>',
workflow_node_id: '<string>',
root_folder_id: '<string>',
root_folder_name: '<string>'
}
]
})
};
fetch('https://api.threetone.in/v1/convai/agents/{agent_id}/run-tests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"id": "<string>",
"test_runs": [
{
"test_run_id": "<string>",
"test_invocation_id": "<string>",
"agent_id": "<string>",
"status": "pending",
"test_id": "<string>",
"test_info": {
"from_conversation_metadata": {
"conversation_id": "<string>",
"agent_id": "<string>",
"branch_id": "<string>",
"workflow_node_id": "<string>",
"original_agent_reply": [
{
"role": "user",
"time_in_call_secs": 123,
"agent_metadata": {
"agent_id": "<string>",
"branch_id": "<string>",
"workflow_node_id": "<string>",
"version_id": "<string>"
},
"message": "<string>",
"multivoice_message": {
"parts": [
{
"text": "<string>",
"voice_label": "<string>",
"time_in_call_secs": 123
}
]
},
"tool_calls": [
{
"request_id": "<string>",
"tool_name": "<string>",
"params_as_json": "<string>",
"tool_has_been_called": true,
"type": "system",
"tool_details": {
"method": "<string>",
"url": "<string>",
"type": "webhook",
"headers": {},
"path_params": {},
"query_params": {},
"body": "<string>"
}
}
],
"tool_results": [
{
"request_id": "<string>",
"tool_name": "<string>",
"result_value": "<string>",
"is_error": true,
"tool_has_been_called": true,
"is_blocked": false,
"tool_latency_secs": 0,
"error_type": "",
"raw_error_message": "",
"dynamic_variable_updates": [
{
"variable_name": "<string>",
"old_value": "<string>",
"new_value": "<string>",
"updated_at": 123,
"tool_name": "<string>",
"tool_request_id": "<string>"
}
],
"type": "client"
}
],
"feedback": {
"score": "like",
"time_in_call_secs": 123
},
"llm_override": "<string>",
"producing_llm": "<string>",
"conversation_turn_metrics": {
"metrics": {},
"convai_asr_provider": "<string>",
"convai_tts_model": "<string>",
"convai_tts_cascade": "<string>"
},
"rag_retrieval_info": {
"chunks": [
{
"document_id": "<string>",
"chunk_id": "<string>",
"vector_distance": 123
}
],
"embedding_model": "e5_mistral_7b_instruct",
"retrieval_query": "<string>",
"rag_latency_secs": 123,
"used_chunk_ids": [
"<string>"
]
},
"llm_usage": {
"model_usage": {}
},
"interrupted": false,
"ignored_as_backchannel": false,
"original_message": "<string>",
"reasoning": [
{
"summary": "<string>",
"provider_redact": false
}
],
"source_medium": "audio",
"source_event_id": 123,
"used_static_kb_document_ids": [
"<string>"
],
"user_identifier": "<string>",
"triggered_guardrails": [
{
"guardrail_type": "custom",
"guardrail_name": "<string>"
}
]
}
]
},
"dynamic_variables": {},
"chat_history": [
{
"role": "user",
"time_in_call_secs": 123,
"agent_metadata": {
"agent_id": "<string>",
"branch_id": "<string>",
"workflow_node_id": "<string>",
"version_id": "<string>"
},
"message": "<string>",
"multivoice_message": {
"parts": [
{
"text": "<string>",
"voice_label": "<string>",
"time_in_call_secs": 123
}
]
},
"tool_calls": [
{
"request_id": "<string>",
"tool_name": "<string>",
"params_as_json": "<string>",
"tool_has_been_called": true,
"type": "system",
"tool_details": {
"method": "<string>",
"url": "<string>",
"type": "webhook",
"headers": {},
"path_params": {},
"query_params": {},
"body": "<string>"
}
}
],
"tool_results": [
{
"request_id": "<string>",
"tool_name": "<string>",
"result_value": "<string>",
"is_error": true,
"tool_has_been_called": true,
"is_blocked": false,
"tool_latency_secs": 0,
"error_type": "",
"raw_error_message": "",
"dynamic_variable_updates": [
{
"variable_name": "<string>",
"old_value": "<string>",
"new_value": "<string>",
"updated_at": 123,
"tool_name": "<string>",
"tool_request_id": "<string>"
}
],
"type": "client"
}
],
"feedback": {
"score": "like",
"time_in_call_secs": 123
},
"llm_override": "<string>",
"producing_llm": "<string>",
"conversation_turn_metrics": {
"metrics": {},
"convai_asr_provider": "<string>",
"convai_tts_model": "<string>",
"convai_tts_cascade": "<string>"
},
"rag_retrieval_info": {
"chunks": [
{
"document_id": "<string>",
"chunk_id": "<string>",
"vector_distance": 123
}
],
"embedding_model": "e5_mistral_7b_instruct",
"retrieval_query": "<string>",
"rag_latency_secs": 123,
"used_chunk_ids": [
"<string>"
]
},
"llm_usage": {
"model_usage": {}
},
"interrupted": false,
"ignored_as_backchannel": false,
"original_message": "<string>",
"reasoning": [
{
"summary": "<string>",
"provider_redact": false
}
],
"source_medium": "audio",
"source_event_id": 123,
"used_static_kb_document_ids": [
"<string>"
],
"user_identifier": "<string>",
"triggered_guardrails": [
{
"guardrail_type": "custom",
"guardrail_name": "<string>"
}
]
}
],
"conversation_initiation_source": "unknown",
"environment": "<string>",
"type": "llm",
"success_conditions": [
"<string>"
],
"success_examples": [
{
"response": "<string>",
"type": "success"
}
],
"failure_examples": [
{
"response": "<string>",
"type": "failure"
}
]
},
"branch_id": "<string>",
"workflow_node_id": "<string>",
"agent_responses": [
{
"role": "user",
"time_in_call_secs": 123,
"agent_metadata": {
"agent_id": "<string>",
"branch_id": "<string>",
"workflow_node_id": "<string>",
"version_id": "<string>"
},
"message": "<string>",
"multivoice_message": {
"parts": [
{
"text": "<string>",
"voice_label": "<string>",
"time_in_call_secs": 123
}
]
},
"tool_calls": [
{
"request_id": "<string>",
"tool_name": "<string>",
"params_as_json": "<string>",
"tool_has_been_called": true,
"type": "system",
"tool_details": {
"method": "<string>",
"url": "<string>",
"type": "webhook",
"headers": {},
"path_params": {},
"query_params": {},
"body": "<string>"
}
}
],
"tool_results": [
{
"request_id": "<string>",
"tool_name": "<string>",
"result_value": "<string>",
"is_error": true,
"tool_has_been_called": true,
"is_blocked": false,
"tool_latency_secs": 0,
"error_type": "",
"raw_error_message": "",
"dynamic_variable_updates": [
{
"variable_name": "<string>",
"old_value": "<string>",
"new_value": "<string>",
"updated_at": 123,
"tool_name": "<string>",
"tool_request_id": "<string>"
}
],
"type": "client"
}
],
"feedback": {
"score": "like",
"time_in_call_secs": 123
},
"llm_override": "<string>",
"producing_llm": "<string>",
"conversation_turn_metrics": {
"metrics": {},
"convai_asr_provider": "<string>",
"convai_tts_model": "<string>",
"convai_tts_cascade": "<string>"
},
"rag_retrieval_info": {
"chunks": [
{
"document_id": "<string>",
"chunk_id": "<string>",
"vector_distance": 123
}
],
"embedding_model": "e5_mistral_7b_instruct",
"retrieval_query": "<string>",
"rag_latency_secs": 123,
"used_chunk_ids": [
"<string>"
]
},
"llm_usage": {
"model_usage": {}
},
"interrupted": false,
"ignored_as_backchannel": false,
"original_message": "<string>",
"reasoning": [
{
"summary": "<string>",
"provider_redact": false
}
],
"source_medium": "audio",
"source_event_id": 123,
"used_static_kb_document_ids": [
"<string>"
],
"user_identifier": "<string>",
"triggered_guardrails": [
{
"guardrail_type": "custom",
"guardrail_name": "<string>"
}
]
}
],
"test_name": "Unknown Test",
"condition_result": {
"result": "success",
"rationale": {
"messages": [
"<string>"
],
"summary": ""
}
},
"last_updated_at_unix": 123,
"metadata": {
"workspace_id": "<string>",
"test_name": "<string>",
"ran_by_user_email": "<string>",
"test_type": "llm"
},
"root_folder_id": "<string>",
"root_folder_name": "<string>",
"environment": "<string>"
}
],
"agent_id": "<string>",
"branch_id": "<string>",
"created_at": 123,
"folder_id": "<string>",
"repeat_count": 1,
"bucketing_status": "pending",
"result_groups": [
{
"test_id": "<string>",
"test_name": "<string>",
"buckets": [
{
"test_run_ids": [
"<string>"
],
"title": "<string>",
"reason": "<string>",
"status": "pending"
}
],
"workflow_node_id": "<string>"
}
]
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Headers
Your API key for programmatic access. Send it in the x-api-key header; you can create and manage keys from the Developers page.
Path Parameters
The id of an agent. This is returned on agent creation.
"agent_3701k3ttaq12ewp8b7qv5rfyszkz"
Body
List of tests to run on the agent
1 - 5000 elementsShow child attributes
Show child attributes
Configuration overrides to use for testing. If not provided, the agent's default configuration will be used.
Show child attributes
Show child attributes
ID of the branch to run the tests on. If not provided, the tests will be run on the agent default configuration.
Number of times to run each test. When greater than 1, results are grouped and summarized.
1 <= x <= 50Response
Successful Response
Show child attributes
Show child attributes
None when repeat_count==1 (no bucketing). Otherwise tracks bucketing lifecycle.
pending, completed, failed Show child attributes
Show child attributes