Skip to content
TriedDocs
Account

Get QA result

Read one QA result with its criteria, metrics and the call transcript.

GEThttps://api.tried.com.au/qa/results/{id}

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.