Skip to content
OpenTrain AIOpenTrain AIOpenTrain AIDocs

Ask OpenTrain

Answers from the documentation, with sources.

What would you like to do with OpenTrain?

AI answers can be mistaken. Check the linked sources. Don’t include private account information.

Open app

DEVELOPER DOCUMENTATION

Get Interview Transcript

Read the full sanitized AI-interview transcript for a proposal, message by message.

GET/api/public/v1/proposals/{proposalId}/interview

Returns the complete AI-interview transcript for a proposal — every exchange between the AI interviewer and the candidate, oldest first — plus the score and summary. Check aiInterview.transcriptAvailable on GET /proposals/{proposalId} first; this endpoint returns 404 when no interview is recorded.

Transcripts are sanitized before they leave the platform: contact details and other personal identifiers are scrubbed — see privacy.

Requirements: proposals:read scope. The proposal must be on a job you own (403 otherwise). Works pre-claim.

proposalIdstringpathrequired

The proposal ID.

interviewobject
interview
proposalIdstring

The proposal this interview belongs to.

interviewIdstring

The interview record’s ID.

scorenumber | null

Normalized interview score (same value as aiInterview.score on the proposal detail).

summarystring | null

AI-written summary of the interview.

messagesobject[]

Transcript entries ordered oldest first.

message entry
idstring

Message ID.

rolestring

interviewer (the AI) or candidate.

contentstring

Sanitized message text.

sentAtstring

ISO timestamp.

StatuscodeMeaning
400BAD_REQUESTMissing proposalId
401UNAUTHORIZEDMissing or invalid token
403FORBIDDENMissing proposals:read scope, or the proposal is on another account’s job
404NOT_FOUNDNo such proposal, or no AI interview is recorded for this proposal (details.proposalId)