Interview100x
Partners · DevelopersOpenAPIBecome a partner
Menu
On this page
  1. Interview100x — https://mcp.interview100x.com/mcp

Interview100x partner API v1

MCP — the Interview100x app

People can also practice from AI apps through the Interview100x MCP server; it is separate from the partner API.

The Interview100x app lets a person prepare an interview plan and run text mock interviews from an AI app. Voice practice and purchases happen on interview100x.com. The tool reference below is generated from the server's own definitions.

Interview100x — https://mcp.interview100x.com/mcp

Server interview100x v1.0.0. Scopes:

  • interview:read — See your interview plans, practice history, feedback and readiness
  • interview:prepare — Create interview plans (research on the company and the role)
  • interview:practice — Run mock interviews and score answers — uses your Interview100x pass (can spend)

Tools (14)

answer_mock_interview — Answer in a mock interview

Send the person's answer (their own words, verbatim) in a text mock interview. Returns the interviewer's next line exactly as it should be shown, and whether the interview has ended. Show interviewer_line to the person as is; do not answer for them. Optional idempotency_key: a retry with the same key returns the same reply.

v1 · writes · scopes: `interview:practice` · no meter — Part of a practice session: the session is metered when it starts (interview.session) and answers are capped per session. · idempotency key optional

InputTypeRequiredNotes
session_idstring (uuid)yes
answerstring (1–2000 chars)yes
idempotency_keystring (8–100 chars)no

Returns: interviewer_line, phase, ended, answers_so_far.

end_mock_interview — End a mock interview

End a mock interview now and queue its feedback (partial feedback when it ends early). Then call get_mock_interview_feedback.

v1 · writes, destructive, idempotent · scopes: `interview:practice` · no meter — Ends a session that was metered when it started; its evaluation belongs to that session.

InputTypeRequiredNotes
session_idstring (uuid)yes

Returns: session_id, feedback_queued, partial, already_ended, discarded, poll_after_s.

evaluate_answer — Score one answer

Score one answer to one interview question against one criterion — from a round of the person's plan (round_id + criterion_key) or from the Interview100x criteria library (round_type + criterion_key). Returns the level (not_ready, borderline, ready, strong), whether the bar is met, and a signed credential marked as caller-supplied. Uses the person's pass. Requires an idempotency_key.

v1 · writes · scopes: `interview:practice` · meter: `interview.answereval` · idempotency key required_

InputTypeRequiredNotes
questionstring (1–1000 chars)yes
answerstring (1–2000 chars)yes
round_idstring (uuid)no
round_typestring (0–40 chars)no
criterion_keystring (1–80 chars)yes
idempotency_keystring (8–100 chars)yes

Returns: criterion, level, met, evidence_quote, evidence, evidence_error.

export_readiness_evidence — Export readiness evidence

A bundle for one plan: per round the signed readiness credential and the latest feedback credential, each with a status URL a third party can check. Verify any credential at https://www.interview100x.com/api/evidence/verify. When the bundle is too large to send at once, jws_included is false: read each credential from its resource_uri.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Signs results already computed; no model call.

InputTypeRequiredNotes
loop_idstring (uuid)yes

Returns: loop_id, verify_url, jwks_url, jws_included, rounds.

fetch — Fetch

Fetch one item returned by search (a plan, a practice session's feedback, or a credential) as a document.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Reads stored data; no model call.

InputTypeRequiredNotes
idstring (0–80 chars)yes

Returns: id, title, text, url, metadata.

get_account_status — Get account status

The person's Interview100x pass, today's practice sessions and the daily limit, and where to see plans. Purchases happen on interview100x.com only.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Reads stored data; no model call.

No inputs.

Returns: pass, trial_available, sessions_today, daily_session_limit, plans_url.

get_interview_plan — Get an interview plan

Build status, rounds (name, type, length, whether each is ready to practise) and the recommended next step of an interview plan. While status is building, call again after poll_after_s seconds. Interview questions are not shown here — they appear during practice.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Reads stored data; no model call.

InputTypeRequiredNotes
loop_idstring (uuid)yes

Returns: loop_id, status, company, role, level, interview_dates, research, rounds, next_step, poll_after_s, open_url.

get_mock_interview_feedback — Get mock interview feedback

Feedback on a finished mock interview: per criterion the level reached with the person's verbatim quotes, the verdict, rewrites and the next assignment, plus a signed credential anyone can verify. While status is pending, call again after poll_after_s seconds.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Reads the evaluation of a session metered when it started; no new model call.

InputTypeRequiredNotes
session_idstring (uuid)yes

Returns: session_id, status, poll_after_s, verdict, criteria, rewrites, next_assignment, partial, evidence, evidence_error, open_url.

get_readiness — Get readiness

Readiness per round of a plan (not_ready, borderline, ready, strong) with the rule applied, what blocks it, the trend per criterion, and a signed readiness credential. verified_readiness is false when any answer in the window was relayed by an AI app.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Reads stored data; no model call.

InputTypeRequiredNotes
loop_idstring (uuid)yes
round_idstring (uuid)no

Returns: loop_id, rounds.

list_interview_loops — List interview plans

The person's interview plans, newest first. Pass next_cursor back as cursor for more.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Reads stored data; no model call. · trimmed to the output budget with `truncated` + `nextcursor`_

InputTypeRequiredNotes
cursorstring (0–200 chars)no
limitinteger (1–50)no

Returns: items, next_cursor.

list_practice_history — List practice history

The person's mock interviews, newest first (optionally one plan), with whether feedback is ready. Pass next_cursor back as cursor for more.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Reads stored data; no model call. · trimmed to the output budget with `truncated` + `nextcursor`_

InputTypeRequiredNotes
loop_idstring (uuid)no
cursorstring (0–300 chars)no
limitinteger (1–50)no

Returns: items, next_cursor.

prepare_for_interview — Prepare for an interview

Create an interview plan for a job: company, role, the job posting (URL or pasted text, optional) and interview date(s). Uses the résumé the person has on Interview100x, or resume_text. Research and the plan take a few minutes: call get_interview_plan with the returned loop_id after poll_after_s seconds. Requires an idempotency_key; retrying with the same key returns the same plan.

v1 · writes, idempotent, open world · scopes: `interview:prepare` · meter: `interview.loop` · idempotency key required

InputTypeRequiredNotes
companystring (1–120 chars)yes
rolestring (1–160 chars)yes
posting_urlstring (uri, 0–2000 chars)no
posting_textstring (0–30000 chars)no
interview_datesarray of stringno
levelentry \| early_career \| mid \| senior \| lead \| manager \| directoryesThe career stage of the role
resume_textstring (0–30000 chars)no
idempotency_keystring (8–100 chars)yes

Returns: loop_id, created, status, job_posting_used, poll_after_s, open_url.

Search the person's interview plans and practice sessions. Returns ids to pass to fetch.

v1 · read-only, idempotent · scopes: `interview:read` · no meter — Reads stored data; no model call.

InputTypeRequiredNotes
querystring (0–100 chars)yes

Returns: results.

start_mock_interview — Start a mock interview

Start a practice interview for a ready round of a plan (default: the first ready round). mode: coach (hints, gentler) or realistic. channel: text runs here — the reply has the interviewer's opening line; send the person's answers with answer_mock_interview. channel voice (when available) returns a join_url to open on interview100x.com. Uses the person's Interview100x pass. Requires an idempotency_key; starting again for the same round returns the session already open.

v1 · writes, idempotent · scopes: `interview:practice` · meter: `interview.session` · idempotency key required

InputTypeRequiredNotes
loop_idstring (uuid)yes
round_idstring (uuid)no
modecoach \| realisticno
channeltext \| voiceno
idempotency_keystring (8–100 chars)yes

Returns: session_id, round_id, channel, mode, resumed, interviewer_line, join_url, sponsored_by_organisation.

Resources (4)

NameURI templateScopesDescription
evidenceinterview100x://evidence/{evidence_id}interview:readOne of the person's signed Interview100x credentials: the compact JWS and its decoded payload.
interview_planinterview100x://loops/{loop_id}/planinterview:readAn interview plan: build status, rounds and the next step (no practice questions).
session_transcriptinterview100x://sessions/{session_id}/transcriptinterview:readThe transcript of one of the person's mock interviews (interviewer lines and the person's answers, in order). A long transcript comes in pages: read next_uri for the rest.
session_transcript_pageinterview100x://sessions/{session_id}/transcript/from/{from}interview:readThe rest of a long mock interview transcript, from turn from on (follow next_uri).

Prompts (3)

NameTitleDescription
am_i_readyAm I ready?Check readiness for every round of a plan and what to practise next.
practice_roundPractise a roundRun a text mock interview for one round of a plan.
prepare_for_my_interviewPrepare for my interviewMake an interview plan for a role and get ready for it.

Meters

MeterOne unit isTools
interview.loopinterview planprepare_for_interview
interview.sessionpractice sessionstart_mock_interview
interview.answer_evalscored answerevaluate_answer

MCP App

ui://interview100x/app.html (text/html;profile=mcp-app), linked from: get_interview_plan, prepare_for_interview, start_mock_interview, answer_mock_interview, get_mock_interview_feedback, get_readiness.

View as Markdown · OpenAPI · llms.txt · Partner terms