API reference
Every /v1 operation, generated from the OpenAPI spec.

102 operations. This page is generated from the spec the API is built from, so it cannot describe an endpoint that does not exist, or miss one that does.
Download it as prep-v1.yaml, or read it off the
running API at GET /v1/openapi.yaml. Generate your client from either.
Base URL is https://prep-api.experthire.cloud, or
https://staging-prep-api.experthire.cloud for staging. See
environments.
Meta
| Operation | Endpoint | Auth |
|---|---|---|
| Liveness probe | GET /v1/health | None |
| Session signing keys | GET /v1/.well-known/jwks.json | None |
| This document | GET /v1/openapi.yaml | None |
| Credits, modules and limits | GET /v1/usage | Secret key |
| List the round types you can book | GET /v1/round-types | Secret key |
| List companies available to your organisation | GET /v1/companies | Secret key |
| List job descriptions available to your organisation | GET /v1/jobs | Secret key |
| List languages the execution sandbox runs | GET /v1/coding-languages | Secret key |
Sessions
Written up in sessions.
| Operation | Endpoint | Auth |
|---|---|---|
| Mint a browser session | POST /v1/sessions | Secret key |
| Refresh a session | POST /v1/sessions/refresh | Session JWT |
| Read the subject this session is scoped to | GET /v1/session | Session JWT |
| List allowlisted origins | GET /v1/domains | Secret key |
| Allowlist an origin | POST /v1/domains | Secret key |
| Remove an allowlisted origin | DELETE /v1/domains/{id} | Secret key |
| Resolve the embed allowlist and branding | GET /v1/embed-config | Publishable key |
| Revoke a session | DELETE /v1/sessions/{jti} | Secret key |
| Redeem a candidate launch link | POST /v1/launch/exchange | Launch token |
Candidates
| Operation | Endpoint | Auth |
|---|---|---|
| List candidates | GET /v1/candidates | Secret key |
| Create a candidate | POST /v1/candidates | Secret key |
| Retrieve a candidate | GET /v1/candidates/{id} | Secret key |
| Correct a candidate's email or name | PATCH /v1/candidates/{id} | Secret key |
| Erase a candidate | DELETE /v1/candidates/{id} | Secret key |
Resumes
Written up in resumes.
| Operation | Endpoint | Auth |
|---|---|---|
| Get a resume upload URL | POST /v1/resumes/upload-url | Secret key |
| List resumes | GET /v1/resumes | Secret key |
| Register an uploaded resume | POST /v1/resumes | Secret key |
| Retrieve a resume | GET /v1/resumes/{id} | Secret key |
| Delete a resume | DELETE /v1/resumes/{id} | Secret key |
| Download the original file | GET /v1/resumes/{id}/file | Secret key |
| Score a resume | POST /v1/resumes/{id}/score | Secret key |
Interviews
Written up in interviews.
| Operation | Endpoint | Auth |
|---|---|---|
| List interviews | GET /v1/interviews | Secret key |
| Create an interview | POST /v1/interviews | Secret key |
| List bookable slots | GET /v1/interviews/slots | Secret key |
| Retrieve an interview | GET /v1/interviews/{id} | Secret key |
| Retrieve the report | GET /v1/interviews/{id}/report | Secret key |
| Retrieve the transcript | GET /v1/interviews/{id}/transcript | Secret key |
| Get a fresh recording link | GET /v1/interviews/{id}/recording-url | Secret key |
| Cancel an interview | POST /v1/interviews/{id}/cancel | Secret key |
| Create a candidate launch link | POST /v1/interviews/{id}/launch-link | Secret key |
| Join the interview room | POST /v1/interviews/{id}/join | Session JWT |
| End the interview | POST /v1/interviews/{id}/end | Session JWT |
| Read the remaining time | GET /v1/interviews/{id}/timer | Session JWT |
| Save the candidate's code | POST /v1/interviews/{id}/code | Session JWT |
| Presign an upload for the whiteboard image | POST /v1/interviews/{id}/board-upload-url | Session JWT |
| Record proctoring events | POST /v1/interviews/{id}/events | Session JWT |
Coding tests
Written up in coding tests.
| Operation | Endpoint | Auth |
|---|---|---|
| List the coding test catalogue | GET /v1/coding-tests | Secret key |
| Retrieve a coding test | GET /v1/coding-tests/{id} | Secret key |
| List coding sessions | GET /v1/coding-sessions | Secret key |
| Assign a coding test to a candidate | POST /v1/coding-sessions | Secret key |
| Retrieve a coding session | GET /v1/coding-sessions/{id} | Secret key |
| Cancel a coding session | POST /v1/coding-sessions/{id}/cancel | Secret key |
| Create a candidate launch link for a coding session | POST /v1/coding-sessions/{id}/launch-link | Secret key |
| Retrieve a coding session report | GET /v1/coding-sessions/{id}/report | Secret key |
| Start the coding session | POST /v1/coding-sessions/{id}/start | Session JWT |
| Read the remaining time | GET /v1/coding-sessions/{id}/timer | Session JWT |
| Run code against the sample cases | POST /v1/coding-sessions/{id}/run | Session JWT |
| List attempts for one problem | GET /v1/coding-sessions/{id}/submissions | Session JWT |
| Submit a solution | POST /v1/coding-sessions/{id}/submissions | Session JWT |
| Poll one submission | GET /v1/coding-sessions/{id}/submissions/{sid} | Session JWT |
| Record proctoring events | POST /v1/coding-sessions/{id}/events | Session JWT |
| End the test and score it | POST /v1/coding-sessions/{id}/finalize | Session JWT |
Prompt Engineering
Written up in prompt engineering.
| Operation | Endpoint | Auth |
|---|---|---|
| List the Prompt Engineering assessment catalogue | GET /v1/prompt-engineering-assessments | Secret key |
| Retrieve a Prompt Engineering assessment | GET /v1/prompt-engineering-assessments/{id} | Secret key |
| List Prompt Engineering sessions | GET /v1/prompt-engineering-sessions | Secret key |
| Assign a Prompt Engineering assessment to a candidate | POST /v1/prompt-engineering-sessions | Secret key |
| Retrieve a Prompt Engineering session | GET /v1/prompt-engineering-sessions/{id} | Secret key |
| Cancel a Prompt Engineering session | POST /v1/prompt-engineering-sessions/{id}/cancel | Secret key |
| Create a candidate launch link for a Prompt Engineering session | POST /v1/prompt-engineering-sessions/{id}/launch-link | Secret key |
| Retrieve a Prompt Engineering session report | GET /v1/prompt-engineering-sessions/{id}/report | Secret key |
| Start the Prompt Engineering session | POST /v1/prompt-engineering-sessions/{id}/start | Session JWT |
| Read the remaining time | GET /v1/prompt-engineering-sessions/{id}/timer | Session JWT |
| List attempts for one task | GET /v1/prompt-engineering-sessions/{id}/attempts | Session JWT |
| Submit a prompt | POST /v1/prompt-engineering-sessions/{id}/attempts | Session JWT |
| Poll one attempt | GET /v1/prompt-engineering-sessions/{id}/attempts/{aid} | Session JWT |
| Record proctoring events | POST /v1/prompt-engineering-sessions/{id}/events | Session JWT |
| End the assessment and score it | POST /v1/prompt-engineering-sessions/{id}/finalize | Session JWT |
Psychometric Test
Written up in psychometric test.
| Operation | Endpoint | Auth |
|---|---|---|
| List the psychometric instruments | GET /v1/psychometric-tests | Secret key |
| Retrieve a psychometric instrument | GET /v1/psychometric-tests/{id} | Secret key |
| List psychometric sessions | GET /v1/psychometric-sessions | Secret key |
| Assign a psychometric test to a candidate | POST /v1/psychometric-sessions | Secret key |
| Retrieve the instrument and the answers saved so far | GET /v1/psychometric-sessions/{id} | Session JWT |
| Cancel a psychometric session | POST /v1/psychometric-sessions/{id}/cancel | Secret key |
| Create a candidate launch link for a psychometric session | POST /v1/psychometric-sessions/{id}/launch-link | Secret key |
| Start the psychometric session | POST /v1/psychometric-sessions/{id}/start | Session JWT |
| Save answers | POST /v1/psychometric-sessions/{id}/progress | Session JWT |
| Submit the instrument and score it | POST /v1/psychometric-sessions/{id}/submit | Session JWT |
| Retrieve a psychometric report | GET /v1/psychometric-sessions/{id}/report | Secret key |
Question bank
Written up in question bank.
| Operation | Endpoint | Auth |
|---|---|---|
| List companies with questions | GET /v1/question-bank/companies | Secret key |
| List categories | GET /v1/question-bank/categories | Secret key |
| List topics | GET /v1/question-bank/topics | Secret key |
| Search questions | GET /v1/question-bank/questions | Secret key |
| Read one question | GET /v1/question-bank/questions/{id} | Secret key |
Webhooks
Written up in webhooks.
| Operation | Endpoint | Auth |
|---|---|---|
| Retrieve a webhook endpoint | GET /v1/webhook-endpoints/{id} | Secret key |
| Change an endpoint's URL, filter or state | PATCH /v1/webhook-endpoints/{id} | Secret key |
| Delete a webhook endpoint | DELETE /v1/webhook-endpoints/{id} | Secret key |
| Fire a test event at an endpoint | POST /v1/webhook-endpoints/{id}/test | Secret key |
| Read an endpoint's attempt history | GET /v1/webhook-endpoints/{id}/deliveries | Secret key |
| List events queued for your endpoints | GET /v1/events | Secret key |
| Retrieve one event | GET /v1/events/{id} | Secret key |
| Replay a failed event | POST /v1/events/{id}/redeliver | Secret key |
| List webhook endpoints | GET /v1/webhook-endpoints | Secret key |
| Register a webhook endpoint | POST /v1/webhook-endpoints | Secret key |
| Rotate the signing secret | POST /v1/webhook-endpoints/{id}/rotate-secret | Secret key |