Skip to main content
GET
/
interviews
/
{id}
/
analysis-pdf
Get interview analysis PDF
curl --request GET \
  --url https://api.instaview.sk/interviews/{id}/analysis-pdf \
  --header 'Authorization: Bearer <token>'
{
  "analysisPdfBase64": "JVBERi0xLjQKMSAwIG9iai..."
}
Returns the Base64-encoded PDF report of the candidate analysis for a specific interview.

Overview

This endpoint provides the analysis PDF as a Base64-encoded string, separated from the main interview resource to keep the GET /interviews/:id response lightweight. Use this endpoint when you need the formatted PDF report for download, forwarding, or archival.

Use Cases

  • Download PDF Report: Retrieve the formatted analysis report for a candidate
  • Forward to Stakeholders: Get the PDF to email or share with hiring managers
  • Archival: Store the PDF report alongside your internal records

Prerequisites

The interview must have a completed analysis for the PDF to be available. If the interview is still in progress or has no analysis, the endpoint returns a 404 error.

Response

{
  "analysisPdfBase64": "JVBERi0xLjQKMSAwIG9iai..."
}
The analysisPdfBase64 field contains the full PDF document encoded as a Base64 string. To reconstruct the PDF file, decode the Base64 string into binary data.

Example Usage

async function downloadAnalysisPdf(interviewId) {
  const response = await fetch(
    `https://api.instaview.sk/interviews/${interviewId}/analysis-pdf`,
    { headers: { Authorization: `Bearer ${apiKey}` } },
  );

  const { data } = await response.json();

  // Decode Base64 to binary
  const binaryString = atob(data.analysisPdfBase64);
  const bytes = new Uint8Array(binaryString.length);
  for (let i = 0; i < binaryString.length; i++) {
    bytes[i] = binaryString.charCodeAt(i);
  }

  // Create downloadable file
  const blob = new Blob([bytes], { type: "application/pdf" });
  const url = URL.createObjectURL(blob);
  // Use `url` to trigger download or embed in an iframe
}

Error Scenarios

  • 404 Not Found: Interview doesn’t exist, has been deleted, or analysis is not yet available
  • 403 Forbidden: Interview belongs to a different company
The analysis PDF is also included in the analysis.completed webhook payload as the analysisPdfBase64 field, so you may not need this endpoint if you are already consuming webhooks.

Get Interview

Get full interview details including analysis data

Webhooks Guide

Receive analysis PDF automatically via webhooks

Authorizations

Authorization
string
header
required

API key for authentication using Bearer scheme

Path Parameters

id
string<uuid>
required

Query Parameters

companyId
string

Required for ATS API keys to specify which company to access. Ignored for standard company API keys.

Response

200 - application/json
analysisPdfBase64
string
required

Base64-encoded PDF report of the candidate analysis

Example:

"JVBERi0xLjQKMSAwIG9iai..."