@trueyy-sdk/node

Interviews

Create interviews and rounds, list, fetch, add rounds, and cancel.

An interview is the parent process; it owns one or more ordered rounds (different interviewers or days). The round_id is the handle you pass to tokens.mint and reports.get.

interviews.create(input)

Creates an interview and its first round in one call.

const { id, round_id } = await trueyy.interviews.create({
  role: string,
  description?: string | null,
  candidate_email: string,
  candidate_first_name: string,
  candidate_last_name: string,
  first_round: {
    round_name: string,
    interviewer_user_id: string,   // must pre-exist (team.invite → team.members)
    scheduled_start_at: string,    // ISO 8601
    scheduled_end_at: string,      // ISO 8601
    timezone: string,
    meeting_link: string,          // required (Zoom / Meet / Teams)
  },
});
// → { id: string, round_id: string }

Persist both ids

Store id (the interview) and round_id (the first round) in your database. round_id is what you use to mint tokens and pull reports.

interviews.list(query?)

const page = await trueyy.interviews.list({
  limit?: number,
  offset?: number,
  search?: string,
});
// → { items: Interview[], total: number }

interviews.get(id)

Returns the interview with its rounds[].

const interview = await trueyy.interviews.get(id);
// interview.rounds → RoundSummary[]
//   each: { id, round_name, round_order, status, interviewer, analysis }

interviews.addRound(id, round)

Add another round (different interviewer or day) to an existing interview. The returned round_id is what you pass to tokens.mint and reports.get.

const { round_id, round_order } = await trueyy.interviews.addRound(id, {
  round_name: "System Design",
  interviewer_user_id: anotherInterviewer.id,
  scheduled_start_at: "2026-06-06T10:00:00Z",
  scheduled_end_at:   "2026-06-06T11:00:00Z",
  timezone: "UTC",
  meeting_link: "https://zoom.us/j/987654321",
});
// → { round_id: string, round_order: number }

interviews.cancel(id)

await trueyy.interviews.cancel(id);

On this page

Ask ChatGPT