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

# Get Interview

Retrieves detailed information about a specific interview, including current status, candidate information, assessment results, and real-time analytics.

## Path Parameters

<ParamField path="id" type="string" required>
  Unique interview identifier (e.g., `int_abc123def456`)
</ParamField>

## Query Parameters

<ParamField query="include_results" type="boolean" default="false">
  Include detailed assessment results and analytics in the response
</ParamField>

<ParamField query="include_transcript" type="boolean" default="false">
  Include interview transcript (only available for completed interviews)
</ParamField>

<ParamField query="include_recordings" type="boolean" default="false">
  Include recording URLs (requires appropriate permissions)
</ParamField>

## Response

<ResponseField name="id" type="string">
  Unique interview identifier
</ResponseField>

<ResponseField name="status" type="string">
  Current interview status: `scheduled`, `in_progress`, `completed`, `cancelled`
</ResponseField>

<ResponseField name="candidate" type="object">
  Candidate information

  <Expandable title="Candidate object">
    <ResponseField name="email" type="string">
      Candidate's email address
    </ResponseField>

    <ResponseField name="name" type="string">
      Candidate's full name (if provided)
    </ResponseField>

    <ResponseField name="joined_at" type="string">
      ISO 8601 timestamp when candidate joined the interview
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="position" type="string">
  Job position for the interview
</ResponseField>

<ResponseField name="skills" type="array">
  Array of skills being assessed
</ResponseField>

<ResponseField name="difficulty" type="string">
  Interview difficulty level
</ResponseField>

<ResponseField name="duration" type="object">
  Duration information

  <Expandable title="Duration object">
    <ResponseField name="estimated_minutes" type="integer">
      Originally estimated duration
    </ResponseField>

    <ResponseField name="actual_minutes" type="integer">
      Actual duration (for completed interviews)
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="schedule" type="object">
  Schedule information

  <Expandable title="Schedule object">
    <ResponseField name="scheduled_at" type="string">
      ISO 8601 timestamp when interview was scheduled
    </ResponseField>

    <ResponseField name="started_at" type="string">
      ISO 8601 timestamp when interview started
    </ResponseField>

    <ResponseField name="completed_at" type="string">
      ISO 8601 timestamp when interview completed
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="results" type="object">
  Assessment results (when include\_results=true)

  <Expandable title="Results object">
    <ResponseField name="overall_score" type="number">
      Overall interview score (0-100)
    </ResponseField>

    <ResponseField name="technical_score" type="number">
      Technical skills score (0-100)
    </ResponseField>

    <ResponseField name="communication_score" type="number">
      Communication skills score (0-100)
    </ResponseField>

    <ResponseField name="skill_assessments" type="array">
      Individual skill assessment scores
    </ResponseField>

    <ResponseField name="strengths" type="array">
      Identified candidate strengths
    </ResponseField>

    <ResponseField name="areas_for_improvement" type="array">
      Areas needing improvement
    </ResponseField>

    <ResponseField name="recommendation" type="string">
      AI recommendation: `hire`, `maybe`, `no_hire`
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="analytics" type="object">
  Real-time analytics data

  <Expandable title="Analytics object">
    <ResponseField name="engagement_level" type="string">
      Candidate engagement: `high`, `medium`, `low`
    </ResponseField>

    <ResponseField name="response_times" type="object">
      Average response time metrics
    </ResponseField>

    <ResponseField name="question_difficulty_progression" type="array">
      How question difficulty adapted during interview
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="urls" type="object">
  Related URLs

  <Expandable title="URLs object">
    <ResponseField name="interview_url" type="string">
      Direct URL for candidate to join interview
    </ResponseField>

    <ResponseField name="dashboard_url" type="string">
      Interviewer dashboard URL
    </ResponseField>

    <ResponseField name="results_url" type="string">
      Results page URL (for completed interviews)
    </ResponseField>
  </Expandable>
</ResponseField>

## Examples

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://backend.jobhive.ai/v1/interviews/int_abc123def456" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```bash cURL with Results theme={null}
  curl -X GET "https://backend.jobhive.ai/v1/interviews/int_abc123def456?include_results=true&include_transcript=true" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript theme={null}
  const interview = await jobhive.interviews.get('int_abc123def456', {
    include_results: true,
    include_transcript: true
  });

  console.log(`Interview status: ${interview.status}`);
  console.log(`Overall score: ${interview.results?.overall_score}`);
  ```

  ```python Python theme={null}
  interview = client.interviews.get(
      'int_abc123def456',
      include_results=True,
      include_transcript=True
  )

  print(f"Interview status: {interview.status}")
  print(f"Overall score: {interview.results.overall_score}")
  ```
</RequestExample>

<ResponseExample>
  ```json Basic Response theme={null}
  {
    "success": true,
    "data": {
      "id": "int_abc123def456",
      "status": "completed",
      "candidate": {
        "email": "john.doe@example.com",
        "name": "John Doe",
        "joined_at": "2024-01-15T15:32:00Z"
      },
      "position": "Full Stack Developer",
      "skills": ["JavaScript", "React", "Node.js", "PostgreSQL"],
      "difficulty": "intermediate",
      "duration": {
        "estimated_minutes": 45,
        "actual_minutes": 42
      },
      "schedule": {
        "scheduled_at": "2024-01-15T15:30:00Z",
        "started_at": "2024-01-15T15:32:00Z",
        "completed_at": "2024-01-15T16:14:00Z"
      },
      "urls": {
        "interview_url": "https://app.jobhive.ai/interview/int_abc123def456",
        "dashboard_url": "https://app.jobhive.ai/dashboard/interview/int_abc123def456",
        "results_url": "https://app.jobhive.ai/results/int_abc123def456"
      },
      "created_at": "2024-01-15T14:30:00Z",
      "updated_at": "2024-01-15T16:14:00Z"
    }
  }
  ```

  ```json Response with Results theme={null}
  {
    "success": true,
    "data": {
      "id": "int_abc123def456",
      "status": "completed",
      "candidate": {
        "email": "john.doe@example.com",
        "name": "John Doe"
      },
      "position": "Full Stack Developer", 
      "results": {
        "overall_score": 78,
        "technical_score": 82,
        "communication_score": 74,
        "skill_assessments": [
          {"skill": "JavaScript", "score": 85, "level": "proficient"},
          {"skill": "React", "score": 80, "level": "proficient"},
          {"skill": "Node.js", "score": 75, "level": "intermediate"},
          {"skill": "PostgreSQL", "score": 70, "level": "intermediate"}
        ],
        "strengths": [
          "Strong understanding of React hooks and state management",
          "Good problem-solving approach with clear communication",
          "Solid grasp of JavaScript fundamentals"
        ],
        "areas_for_improvement": [
          "Database optimization techniques",
          "Error handling in asynchronous operations",
          "Testing best practices"
        ],
        "recommendation": "hire"
      },
      "analytics": {
        "engagement_level": "high",
        "response_times": {
          "average_seconds": 12,
          "fastest_seconds": 3,
          "slowest_seconds": 45
        }
      }
    }
  }
  ```
</ResponseExample>

## Error Responses

<ResponseExample>
  ```json Interview Not Found theme={null}
  {
    "success": false,
    "error": {
      "code": "INTERVIEW_NOT_FOUND",
      "message": "Interview with ID 'int_invalid123' not found"
    }
  }
  ```

  ```json Insufficient Permissions theme={null}
  {
    "success": false,
    "error": {
      "code": "INSUFFICIENT_PERMISSIONS", 
      "message": "You don't have permission to access interview recordings",
      "details": {
        "required_permission": "interviews:read_recordings"
      }
    }
  }
  ```
</ResponseExample>

<Note>
  Interview results and transcripts are only available for completed interviews. Recordings require special permissions and may incur additional charges.
</Note>
