Returns the full QA sheet for one scored call, including the call's transcript with tool calls.
Request#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | QA result ID, for example qa_result_7a9c1e3b5d7f9a2c4e6b8d0f. |
Example request#
curl https://api.tried.com.au/qa/results/qa_result_7a9c1e3b5d7f9a2c4e6b8d0f \
-H "Authorization: Bearer $TRIED_API_KEY"const res = await fetch("https://api.tried.com.au/qa/results/qa_result_7a9c1e3b5d7f9a2c4e6b8d0f", {
headers: { Authorization: `Bearer ${process.env.TRIED_API_KEY}` },
});
const result = await res.json();import os, requests
res = requests.get(
"https://api.tried.com.au/qa/results/qa_result_7a9c1e3b5d7f9a2c4e6b8d0f",
headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
)
result = res.json()Response#
200 OK
{
"qa_result_id": "qa_result_7a9c1e3b5d7f9a2c4e6b8d0f",
"qa_cohort_id": "qa_cohort_2c4e6a8b0d1f3e5a7c9b1d3f",
"call_id": "call_5e7a9c1b3d5f7e9a2c4b6d8f",
"score": 50,
"resolved": true,
"override": null,
"effective_resolved": true,
"criteria": [
{
"name": "Confirms the booking",
"passed": true,
"explanation": "Every quoted phrase appears in the call."
},
{
"name": "Offers a reminder",
"passed": false,
"explanation": "1 of 4 keywords found (appointment). Mock scorer passes at 50%."
}
],
"summary": "Mock QA: 1 of 2 criteria met.",
"metrics": [
{
"metric": "latency",
"value": 880,
"score": 100,
"passed": true,
"details": {
"e2e": {
"p50": 880,
"p90": 1240,
"p95": 1240,
"p99": 1240,
"max": 1240,
"min": 610,
"num": 6,
"values": [
610,
790,
880,
880,
940,
1240
]
},
"threshold": 60,
"judge": "heuristic"
}
},
{
"metric": "sentiment",
"value": 100,
"score": 100,
"passed": true,
"details": {
"user_sentiment": "Positive",
"threshold": 60,
"judge": "heuristic"
}
}
],
"weighted_score": 80,
"passed": true,
"effective_passed": true,
"wer_corrections": [],
"questions": [
"Do you have anything on Thursday afternoon?"
],
"created_timestamp": 1792395060000,
"call": {
"call_id": "call_5e7a9c1b3d5f7e9a2c4b6d8f",
"agent_id": "agent_4b7e2c9a1f3d5e8b0c6a2d1f",
"agent_name": "Clinic receptionist",
"call_type": "phone_call",
"start_timestamp": 1792308600000,
"duration_ms": 142000,
"disconnection_reason": "user_hangup",
"user_sentiment": "Positive",
"call_successful": true,
"e2e_p50": 880,
"transcript_with_tool_calls": [
{
"role": "agent",
"content": "Thanks for calling Harbour Dental, how can I help?"
},
{
"role": "user",
"content": "Do you have anything on Thursday afternoon?"
}
]
}
}| Field | Type | Description |
|---|---|---|
qa_result_id |
string | Result ID, prefixed qa_result_. |
score |
number | Percent of criteria passed, 0 to 100. |
resolved |
boolean | Whether the caller's issue was resolved: the judge's verdict, or in mock mode the call's success flag (score of 50 or more when there is none). |
override |
string or null | Human label: pass, fail or null. Set with Update QA result. |
effective_resolved, effective_passed |
boolean | resolved and passed with the override applied. effective_passed falls back to resolved when passed is null. |
criteria |
object[] | Per criterion: name, passed, explanation. |
metrics |
object[] | Per metric judge: metric, value, score (0 to 100, or null when not applicable), passed and details (includes the threshold used and judge: llm or heuristic). |
weighted_score |
number or null | Criteria (100 for pass, 0 for fail) and applicable metric scores, averaged by weight. |
passed |
boolean or null | weighted_score is at or above the cohort's pass_threshold. |
wer_corrections |
object[] | Human transcript corrections used for the wer metric. |
questions |
string[] | Up to 20 questions the user asked in the call. |
call |
object or null | Call summary: ID, agent, type, start time, duration, disconnection reason, sentiment, success, median end-to-end latency (e2e_p50, ms) and transcript_with_tool_calls. null if the call was deleted. |
Errors#
| Status | When |
|---|---|
401 |
Missing or invalid API key. |
403 |
The key's IP allowlist or scopes reject the request. This route needs the analytics scope. |
404 |
No result with that ID in the workspace: QA result <id> not found. |
429 |
Rate limit exceeded. See Rate limits. |
See Errors for the body format.
Retell compatibility#
Retell's public API reference has no AI QA endpoints, so this route has no Retell SDK equivalent.