Skip to main content
POST
/
job-interview-pdf
Generate an interview report
curl --request POST \
  --url https://cool.jobmojito.com/functions/v1/job-interview-pdf \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "interview_result_id": "93c98d21-e04d-4a84-9afa-ed154cf73636",
  "interview_result_ids": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ],
  "export_features_result": {
    "mojito_language_code": "en",
    "contact_details": true,
    "ai_recruiter_assessment": true,
    "ai_scoring_rubric": false,
    "analytics": true,
    "transcript": true,
    "files": true,
    "answer_recording": false,
    "session_recording": false,
    "group_by_question": false
  },
  "store_file": true
}
'
{
  "pdf_export_url": "<string>",
  "pdf_export_valid_until": "2026-09-01T12:00:00.000Z"
}

Authorizations

Authorization
string
header
required

Supabase JWT access token, passed as Authorization: Bearer <token>.

Body

application/json
export_type
enum<string>
required
Available options:
pdf,
html,
json
interview_result_id
string<uuid>
Example:

"93c98d21-e04d-4a84-9afa-ed154cf73636"

interview_result_ids
string<uuid>[]

Generate a single combined report for multiple results.

export_features_result
object
store_file
boolean

When true (pdf only), persist the file to storage and return a signed URL.

Response

The generated report. The body is one of three shapes, selected by the request export_type: pdf{ pdf_export_url, pdf_export_valid_until }; html{ html_export }; json{ json_export }.

The generated report. Exactly one of the three shapes below is returned, selected by the request export_type: pdf{ pdf_export_url, pdf_export_valid_until }; html{ html_export }; json{ json_export }.

pdf_export_url
string<uri>
required

Signed URL of the generated PDF.

pdf_export_valid_until
string
required

ISO timestamp until which the signed URL is valid.

Example:

"2026-09-01T12:00:00.000Z"