> ## 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 /interviews/{id} — Fetch Interview Session Data

> GET /interviews/{interview_id} — fetch the current status, candidate details, and configuration of a specific Kovi interview session.

Use `GET /interviews/{interview_id}` to fetch the current status and metadata of a specific interview session. This is useful for polling interview progress or confirming a session's configuration before following up with a candidate.

**Endpoint**

```
GET https://api.techeval.ai/v1/interviews/{interview_id}
```

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

***

## Path Parameters

<ParamField path="interview_id" type="string" required>
  The unique identifier of the interview session to retrieve (e.g., `"int_a1b2c3d4"`). This is the `interview_id` returned when you [scheduled the interview](/api-reference/interviews/schedule).
</ParamField>

***

## Example Request

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

***

## Response

A successful `200 OK` response returns the following fields:

<ResponseField name="interview_id" type="string">
  The unique identifier for this interview session.
</ResponseField>

<ResponseField name="candidate_name" type="string">
  The full name of the candidate as provided when the interview was scheduled.
</ResponseField>

<ResponseField name="candidate_email" type="string">
  The email address of the candidate.
</ResponseField>

<ResponseField name="role" type="string">
  The job role the candidate is being evaluated for.
</ResponseField>

<ResponseField name="interview_type" type="string">
  The type of interview conducted (e.g., `"System Design"`, `"Technical Deep Dive"`).
</ResponseField>

<ResponseField name="evaluation_level" type="string">
  The seniority level at which the candidate was evaluated (e.g., `"Mid-Level to Senior"`).
</ResponseField>

<ResponseField name="status" type="string">
  The current state of the interview session. See [Interview Status Values](#interview-status-values) below.
</ResponseField>

<ResponseField name="interviewUrl" type="string">
  The shareable URL for the candidate to access the interview. This URL respects the `expires_at` deadline.
</ResponseField>

<ResponseField name="expires_at" type="string">
  ISO 8601 timestamp indicating when the interview link expires.
</ResponseField>

<ResponseField name="created_at" type="string">
  ISO 8601 timestamp indicating when the interview session was created.
</ResponseField>

**Example response:**

```json theme={null}
{
  "interview_id": "int_a1b2c3d4",
  "candidate_name": "Jane Smith",
  "candidate_email": "jane@example.com",
  "role": "AI Engineer",
  "interview_type": "System Design",
  "evaluation_level": "Mid-Level to Senior",
  "status": "completed",
  "interviewUrl": "https://techeval.ai/interview/int_a1b2c3d4",
  "expires_at": "2025-09-15T14:30:00Z",
  "created_at": "2025-09-12T14:30:00Z"
}
```

***

## Interview Status Values

| Status | Meaning |
| - | - |
| `scheduled` | The interview session has been created and the link is active, but the candidate has not yet started |
| `in_progress` | The candidate has opened the link and the interview is currently underway |
| `completed` | The candidate has finished the interview and a scorecard is available |
| `expired` | The interview link has passed its `expires_at` deadline without the candidate completing it |


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