> ## 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.

# How to Receive and Interpret Kovi Interview Scorecards

> Learn how Kovi delivers structured JSON scorecards via webhook when an interview finishes, and how to interpret scores, flags, and feedback fields.

When a Kovi interview concludes, a structured JSON scorecard is immediately posted to your configured webhook endpoint. This scorecard contains everything you need to make a hiring decision.

## Scorecard Fields

<ResponseField name="candidate_id" type="string" required>
  Unique identifier for the candidate session. Use this to correlate the scorecard with your internal candidate record.
</ResponseField>

<ResponseField name="final_score" type="float" required>
  Overall score on a 0–10 scale. Kovi evaluates rigorously — a highly capable candidate typically scores around 6.5.
</ResponseField>

<ResponseField name="passed_threshold" type="boolean" required>
  Whether the candidate met your configured `pass_score`. `true` means the candidate passed; `false` means they did not.
</ResponseField>

<ResponseField name="proctoring_flags" type="object" required>
  Anti-cheat evidence captured during the session. Does not automatically disqualify the candidate — use this data as supporting evidence for your review.

  <Expandable title="proctoring_flags fields">
    <ResponseField name="tab_switches" type="int">
      Number of times the candidate switched away from the interview browser tab.
    </ResponseField>

    <ResponseField name="ai_copilot_detected" type="bool">
      `true` if Kovi's detection engine identified patterns consistent with AI-generated responses (e.g., ChatGPT). Kovi does not terminate the session — it continues capturing evidence throughout.
    </ResponseField>

    <ResponseField name="disconnects" type="int">
      Number of times the candidate's connection dropped. If this value exceeds 2, HR is automatically notified.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="strengths" type="array[string]" required>
  Technical areas where the candidate demonstrated strong knowledge or clear reasoning during the interview.
</ResponseField>

<ResponseField name="weaknesses" type="array[string]" required>
  Technical areas where the candidate showed gaps or needed improvement.
</ResponseField>

<ResponseField name="transcript_url" type="string" required>
  URL to the full interview transcript on the Techeval dashboard. Use this to review the candidate's exact answers and the context behind any proctoring flags.
</ResponseField>

## Example Scorecard Payload

This is a complete example of the JSON payload Kovi posts to your webhook when an interview finishes:

```json scorecard.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"
}
```

## Interpreting the Score

Kovi scores candidates on a **0–10 scale** using a strict, rubric-driven grading engine. The score reflects genuine technical depth — it is intentionally calibrated so that a highly capable candidate (equivalent to a strong 130 IQ benchmark) scores around **6.5**.

Use this as a guide for your pass thresholds:

| Score Range | Interpretation |
| - | - |
| 0–5.0 | Below expectations for the level |
| 5.0–6.2 | Partial fit — consider a follow-up |
| **6.3–7.5** | **Recommended pass range** |
| 7.6–10.0 | Exceptional candidate |

A `pass_score` of **6.5** is a reliable default for most seniority levels. Adjust upward to 7.0–7.5 for highly competitive roles requiring deep expertise.

## Acting on Proctoring Flags

Proctoring flags are **evidence, not verdicts**. An `ai_copilot_detected: true` value or elevated `tab_switches` count does not automatically disqualify a candidate. Kovi's anti-cheat engine is deliberately non-blocking — it keeps the session running, captures all evidence, and surfaces it in the scorecard for your team to evaluate.

When you see elevated flags:

1. Open the `transcript_url` to review the candidate's actual answers in context.
2. Look for patterns — did responses feel templated, or was there clear reasoning and follow-up depth?
3. Cross-reference `tab_switches` with `disconnects` — brief disconnections can sometimes trigger tab-switch logs.

Your team makes the final call. Kovi gives you the data to make it confidently.

<Info>
  Scorecard data is also accessible in your Techeval dashboard under the candidate's profile. You do not need to rely solely on the webhook if you prefer a manual review workflow.
</Info>


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