> ## Documentation Index
> Fetch the complete documentation index at: https://docs.techeval.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /scorecards/{id} — Retrieve Interview Scorecard

> GET /scorecards/{candidate_id} — fetch the full evaluation scorecard for a completed Kovi interview, including score, proctoring flags, and feedback.

Use `GET /scorecards/{candidate_id}` to fetch the complete scorecard for a finished interview. The scorecard includes the final score, pass/fail status, proctoring flags, and detailed feedback on the candidate's strengths and weaknesses.

**Endpoint**

```
GET https://api.techeval.ai/v1/scorecards/{candidate_id}
```

**Authentication:** Bearer token required — see [Authentication](/api-reference/authentication).

***

## Path Parameters

<ParamField path="candidate_id" type="string" required>
  The unique identifier of the candidate whose scorecard you want to retrieve (e.g., `"cnd_98765"`). This is returned in the webhook payload or found in the Techeval dashboard.
</ParamField>

***

## Example Request

```bash theme={null}
curl -X GET https://api.techeval.ai/v1/scorecards/cnd_98765 \
  -H "Authorization: Bearer YOUR_API_KEY"
```

***

## Response

A successful `200 OK` response returns the full scorecard object:

<ResponseField name="candidate_id" type="string">
  The unique identifier of the candidate.
</ResponseField>

<ResponseField name="final_score" type="float">
  The candidate's overall score on a 10-point scale (e.g., `7.2`). Compare this against your configured `pass_score` to make a pass/fail decision.
</ResponseField>

<ResponseField name="passed_threshold" type="boolean">
  `true` if the candidate's `final_score` meets or exceeds the `pass_score` threshold set when the interview was scheduled. `false` otherwise.
</ResponseField>

<ResponseField name="proctoring_flags" type="object">
  An object containing the results of Kovi's multi-layered anti-cheat proctoring engine.

  <Expandable title="proctoring_flags fields">
    <ResponseField name="tab_switches" type="integer">
      The number of times the candidate switched away from the interview browser tab during the session. Any value above `0` warrants review.
    </ResponseField>

    <ResponseField name="ai_copilot_detected" type="boolean">
      `true` if Kovi's AI Copilot Detection engine identified suspicious speech rhythm patterns or evidence of AI-generated answers during the interview. Kovi does not terminate the session — it captures all evidence and surfaces it here.
    </ResponseField>

    <ResponseField name="disconnects" type="integer">
      The number of times the candidate's connection dropped during the session. If this value is `2` or higher, HR is automatically notified.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="strengths" type="array[string]">
  A list of technical topics or skills where the candidate demonstrated strong performance (e.g., `["Database Scaling", "Microservices Architecture"]`).
</ResponseField>

<ResponseField name="weaknesses" type="array[string]">
  A list of technical topics or skills where the candidate underperformed or showed knowledge gaps (e.g., `["CI/CD Pipeline Configuration"]`).
</ResponseField>

<ResponseField name="transcript_url" type="string">
  URL to the full question-and-answer transcript on the Techeval dashboard. Requires dashboard login to view. See [GET /transcripts/{candidate_id}](/api-reference/scorecards/transcript) for the dedicated endpoint.
</ResponseField>

**Example response:**

```json theme={null}
{
  "candidate_id": "cnd_98765",
  "final_score": 7.2,
  "passed_threshold": true,
  "proctoring_flags": {
    "tab_switches": 0,
    "ai_copilot_detected": false,
    "disconnects": 1
  },
  "strengths": ["Database Scaling", "Microservices Architecture"],
  "weaknesses": ["CI/CD Pipeline Configuration"],
  "transcript_url": "https://techeval.ai/dash/transcripts/cnd_98765"
}
```

<Note>
  The scorecard is available immediately after interview completion via webhook — Kovi sends the full scorecard payload to your configured ATS endpoint. The API endpoint above provides an alternative for on-demand retrieval without requiring webhook infrastructure.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.