Skip to main content
GET
/
job-interview-details
Get interview result details with transcript
curl --request GET \
  --url https://cool.jobmojito.com/functions/v1/job-interview-details \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://cool.jobmojito.com/functions/v1/job-interview-details"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://cool.jobmojito.com/functions/v1/job-interview-details', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://cool.jobmojito.com/functions/v1/job-interview-details",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://cool.jobmojito.com/functions/v1/job-interview-details"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://cool.jobmojito.com/functions/v1/job-interview-details")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://cool.jobmojito.com/functions/v1/job-interview-details")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "score": 123,
  "score_simulation": 123,
  "score_text": "<string>",
  "score_sentiment": 123,
  "score_words_per_minute": 123,
  "score_pronunciation": 123,
  "score_answer": 123,
  "status": "<string>",
  "start": "<string>",
  "end": "<string>",
  "duration": 123,
  "ai_interview_coverage_percentage": 123,
  "ai_completion_reason": "<string>",
  "ai_analysis": "<string>",
  "ai_analysis_recruiter": "<string>",
  "ai_analysis_recruiter_why_hire": "<unknown>",
  "ai_analysis_recruiter_why_not_hire": "<unknown>",
  "recruiter_risks": "<unknown>",
  "user_feedback_recruiter": "<string>",
  "recording_local_path": "<string>",
  "recording_is_video": true,
  "video_introduction_local_path": "<string>",
  "recording_url": "<string>",
  "video_introduction_url": "<string>",
  "transcript": [
    {
      "id": "<string>",
      "is_answer": true,
      "view": "<string>",
      "question_original_id": "<string>",
      "question_original": "<string>",
      "question_asked": "<string>",
      "answer": "<string>",
      "ai_analysis": "<string>",
      "ai_analysis_recruiter": "<string>",
      "score": 123,
      "score_simulation": 123,
      "score_answer_ai": 123,
      "score_answer_ai_simulation": 123,
      "duration": 123,
      "mojito_language_code": "<string>",
      "answer_assessment_raw_data": "<unknown>",
      "recording_local_path": "<string>",
      "recording_is_video": true,
      "external_data": "<unknown>",
      "external_id": "<string>",
      "recording_url": "<string>"
    }
  ]
}
{
"error": "Field is required.",
"name": "interview_result_id"
}
{
"error": "Field is required.",
"name": "interview_result_id"
}
{
"error": "Field is required.",
"name": "interview_result_id"
}
{
"error": "Field is required.",
"name": "interview_result_id"
}

Authorizations

Authorization
string
header
required

Supabase JWT — Authorization: Bearer <token>.

Query Parameters

interview_result_id
string<uuid>
required

The interview result to fetch the transcript and details for.

Minimum string length: 1
Example:

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

get_signed_recordings
enum<string>
default:false

When true, includes short-lived signed recording URLs for the session, the video introduction, and each transcript answer.

Available options:
true,
false
Example:

"false"

Response

The interview result and transcript.

The interview result with its transcript, produced by the interview_transcript RPC. Additional fields may be present (passthrough).

score
number | null

Overall interview score.

score_simulation
number | null

Overall simulated score.

score_text
string | null

Human-readable score summary.

score_sentiment
number | null

Sentiment sub-score.

score_words_per_minute
number | null

Speaking-pace (words per minute) sub-score.

score_pronunciation
number | null

Pronunciation sub-score.

score_answer
number | null

Aggregate answer sub-score.

status
string | null

Coach/interview status (coach_status), e.g. started, completed.

start
string | null

Interview start timestamp (training_start, ISO 8601).

end
string | null

Interview end timestamp (training_end, ISO 8601).

duration
number | null

Total duration in deciseconds (duration_ds).

ai_interview_coverage_percentage
number | null

Percentage of the intended interview the AI judged to be covered.

ai_completion_reason
string | null

Why the interview completed (ai_completed_reason).

ai_analysis
string | null

Candidate-facing AI analysis of the whole interview.

ai_analysis_recruiter
string | null

Recruiter-facing AI analysis of the whole interview.

ai_analysis_recruiter_why_hire
any | null

Reasons to hire (list/text).

ai_analysis_recruiter_why_not_hire
any | null

Reasons not to hire (list/text).

recruiter_risks
any | null

Detected recruiter risk flags (jsonb).

user_feedback_recruiter
string | null

Recruiter-entered feedback note.

recording_local_path
string | null

Storage path of the full session recording.

recording_is_video
boolean | null

Whether the session recording is video.

video_introduction_local_path
string | null

Storage path of the candidate video introduction.

recording_url
string | null

Signed session-recording URL; present only when get_signed_recordings=true.

video_introduction_url
string | null

Signed video-introduction URL; present only when get_signed_recordings=true.

transcript
object[]

Ordered interactions (questions + answers) of the interview.

{key}
unknown