Skip to main content
GET
/
api
/
interview
/
report
/
:interviewId
Get Interview Report
curl --request GET \
  --url https://api.example.com/api/interview/report/:interviewId
{
  "message": "<string>",
  "interviewReport": {
    "_id": "<string>",
    "user": "<string>",
    "title": "<string>",
    "jobDescription": "<string>",
    "resume": "<string>",
    "selfDescription": "<string>",
    "matchScore": 123,
    "technicalQuestions": [
      {
        "question": "<string>",
        "intention": "<string>",
        "answer": "<string>"
      }
    ],
    "behavioralQuestions": [
      {
        "question": "<string>",
        "intention": "<string>",
        "answer": "<string>"
      }
    ],
    "skillGaps": [
      {
        "skill": "<string>",
        "severity": "<string>"
      }
    ],
    "preparationPlan": [
      {
        "day": 123,
        "focus": "<string>",
        "tasks": [
          {}
        ]
      }
    ],
    "createdAt": "<string>",
    "updatedAt": "<string>"
  }
}
Retrieve a specific interview report by its ID.

Authentication

This endpoint requires authentication. The JWT token must be sent as an HTTP-only cookie named token. This is automatically handled by the browser after successful login.

Path Parameters

interviewId
string
required
The unique identifier of the interview report to retrieve. Must be a valid MongoDB ObjectId.

Example Request

curl -X GET https://api.example.com/api/interview/report/507f1f77bcf86cd799439011 \
  -b "token=YOUR_JWT_TOKEN"
fetch('https://api.example.com/api/interview/report/507f1f77bcf86cd799439011', {
  method: 'GET',
  credentials: 'include' // Important: Include cookies
});

Response

message
string
Success message indicating the interview report was fetched successfully.
interviewReport
object
The complete interview report object.

Success Response (200 OK)

{
  "message": "Interview report fetched successfully.",
  "interviewReport": {
    "_id": "507f1f77bcf86cd799439011",
    "user": "507f191e810c19729de860ea",
    "title": "Senior Software Engineer",
    "jobDescription": "We are looking for a Senior Software Engineer with 5+ years of experience in React and Node.js. The ideal candidate will have strong problem-solving skills and experience with modern web technologies...",
    "resume": "John Doe\nSenior Software Engineer\nEmail: [email protected]\nPhone: (555) 123-4567\n\nEXPERIENCE\n\nSoftware Engineer at Tech Corp (2018-Present)\n- Led development of React-based frontend applications\n- Implemented RESTful APIs using Node.js and Express\n...",
    "selfDescription": "I am a passionate full-stack developer with 6 years of experience building scalable web applications. I specialize in React, Node.js, and modern JavaScript frameworks...",
    "matchScore": 85,
    "technicalQuestions": [
      {
        "question": "Can you explain the virtual DOM in React and how it improves performance?",
        "intention": "To assess understanding of React's core concepts and performance optimization strategies",
        "answer": "The virtual DOM is a lightweight JavaScript representation of the actual DOM. React uses it to minimize expensive DOM operations by: 1) Creating a virtual representation of the UI, 2) Computing differences (diffing) when state changes, 3) Batch updating only the changed elements. This approach significantly improves performance by reducing direct DOM manipulations."
      },
      {
        "question": "How would you handle authentication in a Node.js application?",
        "intention": "To evaluate knowledge of security best practices and backend architecture",
        "answer": "I would implement JWT-based authentication with the following approach: 1) Use bcrypt for password hashing, 2) Generate JWT tokens on successful login, 3) Implement middleware to verify tokens on protected routes, 4) Store tokens securely on the client (httpOnly cookies or secure storage), 5) Implement refresh token mechanism for long-lived sessions, 6) Add rate limiting to prevent brute force attacks."
      }
    ],
    "behavioralQuestions": [
      {
        "question": "Tell me about a time when you had to work with a difficult team member.",
        "intention": "To evaluate interpersonal skills, conflict resolution abilities, and professionalism",
        "answer": "Use the STAR method: Situation - Describe the context briefly. Task - Explain what needed to be accomplished. Action - Detail the steps you took to address the situation, focusing on communication and empathy. Result - Share the positive outcome and what you learned. Keep the tone professional and focus on problem-solving rather than blame."
      },
      {
        "question": "Describe a project where you had to learn a new technology quickly.",
        "intention": "To assess adaptability, learning ability, and initiative",
        "answer": "Structure your answer to demonstrate: 1) Your learning approach (documentation, tutorials, hands-on practice), 2) How you applied the new technology to solve a real problem, 3) Challenges you faced and how you overcame them, 4) The successful outcome and how it benefited the project or team."
      }
    ],
    "skillGaps": [
      {
        "skill": "Kubernetes",
        "severity": "medium"
      },
      {
        "skill": "GraphQL",
        "severity": "low"
      },
      {
        "skill": "System Design at Scale",
        "severity": "high"
      }
    ],
    "preparationPlan": [
      {
        "day": 1,
        "focus": "React fundamentals and advanced concepts",
        "tasks": [
          "Review React hooks (useState, useEffect, useContext, useReducer)",
          "Practice implementing custom hooks for reusable logic",
          "Study React performance optimization (useMemo, useCallback, React.memo)",
          "Review component lifecycle and modern patterns"
        ]
      },
      {
        "day": 2,
        "focus": "Node.js and backend architecture",
        "tasks": [
          "Review REST API design principles and best practices",
          "Study Express middleware and error handling patterns",
          "Practice implementing authentication and authorization",
          "Review database design and optimization techniques"
        ]
      },
      {
        "day": 3,
        "focus": "System design basics",
        "tasks": [
          "Study common system design patterns (load balancing, caching, databases)",
          "Practice designing a URL shortener or similar system",
          "Review scalability concepts and trade-offs",
          "Watch system design interview videos"
        ]
      },
      {
        "day": 4,
        "focus": "Behavioral interview preparation",
        "tasks": [
          "Prepare STAR stories for common behavioral questions",
          "Review your past projects and identify key achievements",
          "Practice answering 'Tell me about yourself'",
          "Prepare thoughtful questions to ask the interviewer"
        ]
      },
      {
        "day": 5,
        "focus": "Mock interviews and final review",
        "tasks": [
          "Conduct a mock technical interview with a friend or online platform",
          "Review your prepared answers and refine them",
          "Practice coding problems on whiteboard or shared editor",
          "Get good rest and prepare mentally for the interview"
        ]
      }
    ],
    "createdAt": "2026-03-03T10:30:00.000Z",
    "updatedAt": "2026-03-03T10:30:00.000Z"
  }
}

Error Responses

404 Not Found

Returned when the interview report with the specified ID doesn’t exist or doesn’t belong to the authenticated user.
{
  "message": "Interview report not found."
}

401 Unauthorized

Returned when the authentication token is missing or invalid.

Notes

  • The endpoint only returns reports that belong to the authenticated user (user-scoped access)
  • All fields of the interview report are included in the response, including the full resume text and job description
  • The report ID must be a valid MongoDB ObjectId format

Build docs developers (and LLMs) love