Reference
Get a test run
One test run: every case, each turn’s reply, grounding, cards and latency, and why failing cases failed.
| REST | GET /api/v1/agents/{agent_id}/tests/{test_run_id} |
| MCP tool | get_test_run |
| Classification | Read (changes nothing) |
| Scope | agents:read |
| Minimum role on the agent | editor |
| Confirmation | Not needed |
| Retry safety | Safe to retry with the same input |
| Success status | 200 |
What it does
One test run: every case, each turn’s reply, grounding, cards and latency, and why failing cases failed.
Side effects
None. It only reads.
Inputs
| Name | Type | Required | In | Description |
|---|---|---|---|---|
agent_id | string | yes | path | The agent id (agt_...), from list_agents. |
test_run_id | string | yes | path | The test run id. |
Example
curl "https://covo.lanaai.io/api/v1/agents/agt_4edc89bb2964/tests/68c583c0-3bb6-42d3-85b4-193ea6eeca79" \
-H "Authorization: Bearer $COVO_TOKEN"{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_test_run",
"arguments": {
"agent_id": "agt_4edc89bb2964",
"test_run_id": "68c583c0-3bb6-42d3-85b4-193ea6eeca79"
}
}
}Response
Returns an object with id, revision, passed, failed, cases, client and created_at. This is a real response, shortened to two items per list.
{
"id": "68c583c0-3bb6-42d3-85b4-193ea6eeca79",
"revision": 7,
"passed": 1,
"failed": 0,
"cases": [
{
"name": "Explains the studio",
"turns": [
{
"reply": "Northwind Labs\nNorthwind Labs builds private AI systems for small law firms.",
"message": "What does Northwind Labs do?",
"grounding": "known",
"components": [
"suggested_questions"
],
"latency_ms": 40,
"handed_to_person": false
}
],
"passed": true,
"failures": [],
"conversation_id": "b2412a0b-9da5-4df5-adc9-031895e6a98c"
}
],
"client": {
"name": "docs-examples",
"interface": "rest"
},
"created_at": "2026-10-07T20:14:41.959Z"
}Over MCP the same object comes back as the tool result, in structuredContent and as JSON text.
Errors
| Status | Code | Meaning |
|---|---|---|
| 401 | unauthorized | No token, or it is unknown, revoked or expired. OAuth apps refresh or reconnect. |
| 403 | account_suspended | The account that owns the token is paused. |
| 403 | insufficient_scope | The token lacks agents:read. |
| 404 | agent_not_found | Unknown agent, or not reachable with this token. |
| 400 | bad_request | An input is invalid; field names it. |
| 429 | rate_limited | Wait Retry-After seconds. |