Skip to main content
GET
Get interview result details with transcript

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_other
any | null

Session-level AI analyses keyed by analysis name (jsonb). strengths_concerns: { strengths: string[], concerns: string[] } (0-4 items each, recruiter-facing; called hiring_reasons with reasons_to_hire / reasons_not_to_hire inside before 2026-09-15, and rows written before then may still carry that shape). takeaways: { what_went_well: string[], next_steps: { text, priority: impact | quick | longterm, guidance: { kind: say | structure | length | exercise | perspective, text }, proof? }[], fixed?: string[] } (coaching / persona sessions, learner-facing; proof entries are { kind: quote | ai_summary | transcript_ref | document, text, ref?: { result_question_id } }; fixed lists the steps from the previous attempt that the learner did this time). multi_department: the multi-department-selection analysis. score_rationale: the rubric bracket of the session score and evidenced counts. key_statement: { quote, result_question_id }, the one verbatim quotation a recruiter would remember the candidate by (interview / persona_interview, absent when nothing distinctive was said). Further keys may be added.

ai_analysis_recruiter_why_hire
any | null
deprecated

Reasons to hire (list). Deprecated: a copy of ai_analysis_other.strengths_concerns.strengths, kept for existing integrations.

ai_analysis_recruiter_why_not_hire
any | null
deprecated

Reasons not to hire (list). Deprecated: a copy of ai_analysis_other.strengths_concerns.concerns, kept for existing integrations.

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