Skip to main content

API reference

Every /v1 operation, generated from the OpenAPI spec.

Expert Hire developer workflow for API reference
Build against the same evidence trail the product uses.

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

OperationEndpointAuth
Liveness probeGET /v1/healthNone
Session signing keysGET /v1/.well-known/jwks.jsonNone
This documentGET /v1/openapi.yamlNone
Credits, modules and limitsGET /v1/usageSecret key
List the round types you can bookGET /v1/round-typesSecret key
List companies available to your organisationGET /v1/companiesSecret key
List job descriptions available to your organisationGET /v1/jobsSecret key
List languages the execution sandbox runsGET /v1/coding-languagesSecret key

Sessions

Written up in sessions.

OperationEndpointAuth
Mint a browser sessionPOST /v1/sessionsSecret key
Refresh a sessionPOST /v1/sessions/refreshSession JWT
Read the subject this session is scoped toGET /v1/sessionSession JWT
List allowlisted originsGET /v1/domainsSecret key
Allowlist an originPOST /v1/domainsSecret key
Remove an allowlisted originDELETE /v1/domains/{id}Secret key
Resolve the embed allowlist and brandingGET /v1/embed-configPublishable key
Revoke a sessionDELETE /v1/sessions/{jti}Secret key
Redeem a candidate launch linkPOST /v1/launch/exchangeLaunch token

Candidates

OperationEndpointAuth
List candidatesGET /v1/candidatesSecret key
Create a candidatePOST /v1/candidatesSecret key
Retrieve a candidateGET /v1/candidates/{id}Secret key
Correct a candidate's email or namePATCH /v1/candidates/{id}Secret key
Erase a candidateDELETE /v1/candidates/{id}Secret key

Resumes

Written up in resumes.

OperationEndpointAuth
Get a resume upload URLPOST /v1/resumes/upload-urlSecret key
List resumesGET /v1/resumesSecret key
Register an uploaded resumePOST /v1/resumesSecret key
Retrieve a resumeGET /v1/resumes/{id}Secret key
Delete a resumeDELETE /v1/resumes/{id}Secret key
Download the original fileGET /v1/resumes/{id}/fileSecret key
Score a resumePOST /v1/resumes/{id}/scoreSecret key

Interviews

Written up in interviews.

OperationEndpointAuth
List interviewsGET /v1/interviewsSecret key
Create an interviewPOST /v1/interviewsSecret key
List bookable slotsGET /v1/interviews/slotsSecret key
Retrieve an interviewGET /v1/interviews/{id}Secret key
Retrieve the reportGET /v1/interviews/{id}/reportSecret key
Retrieve the transcriptGET /v1/interviews/{id}/transcriptSecret key
Get a fresh recording linkGET /v1/interviews/{id}/recording-urlSecret key
Cancel an interviewPOST /v1/interviews/{id}/cancelSecret key
Create a candidate launch linkPOST /v1/interviews/{id}/launch-linkSecret key
Join the interview roomPOST /v1/interviews/{id}/joinSession JWT
End the interviewPOST /v1/interviews/{id}/endSession JWT
Read the remaining timeGET /v1/interviews/{id}/timerSession JWT
Save the candidate's codePOST /v1/interviews/{id}/codeSession JWT
Presign an upload for the whiteboard imagePOST /v1/interviews/{id}/board-upload-urlSession JWT
Record proctoring eventsPOST /v1/interviews/{id}/eventsSession JWT

Coding tests

Written up in coding tests.

OperationEndpointAuth
List the coding test catalogueGET /v1/coding-testsSecret key
Retrieve a coding testGET /v1/coding-tests/{id}Secret key
List coding sessionsGET /v1/coding-sessionsSecret key
Assign a coding test to a candidatePOST /v1/coding-sessionsSecret key
Retrieve a coding sessionGET /v1/coding-sessions/{id}Secret key
Cancel a coding sessionPOST /v1/coding-sessions/{id}/cancelSecret key
Create a candidate launch link for a coding sessionPOST /v1/coding-sessions/{id}/launch-linkSecret key
Retrieve a coding session reportGET /v1/coding-sessions/{id}/reportSecret key
Start the coding sessionPOST /v1/coding-sessions/{id}/startSession JWT
Read the remaining timeGET /v1/coding-sessions/{id}/timerSession JWT
Run code against the sample casesPOST /v1/coding-sessions/{id}/runSession JWT
List attempts for one problemGET /v1/coding-sessions/{id}/submissionsSession JWT
Submit a solutionPOST /v1/coding-sessions/{id}/submissionsSession JWT
Poll one submissionGET /v1/coding-sessions/{id}/submissions/{sid}Session JWT
Record proctoring eventsPOST /v1/coding-sessions/{id}/eventsSession JWT
End the test and score itPOST /v1/coding-sessions/{id}/finalizeSession JWT

Prompt Engineering

Written up in prompt engineering.

OperationEndpointAuth
List the Prompt Engineering assessment catalogueGET /v1/prompt-engineering-assessmentsSecret key
Retrieve a Prompt Engineering assessmentGET /v1/prompt-engineering-assessments/{id}Secret key
List Prompt Engineering sessionsGET /v1/prompt-engineering-sessionsSecret key
Assign a Prompt Engineering assessment to a candidatePOST /v1/prompt-engineering-sessionsSecret key
Retrieve a Prompt Engineering sessionGET /v1/prompt-engineering-sessions/{id}Secret key
Cancel a Prompt Engineering sessionPOST /v1/prompt-engineering-sessions/{id}/cancelSecret key
Create a candidate launch link for a Prompt Engineering sessionPOST /v1/prompt-engineering-sessions/{id}/launch-linkSecret key
Retrieve a Prompt Engineering session reportGET /v1/prompt-engineering-sessions/{id}/reportSecret key
Start the Prompt Engineering sessionPOST /v1/prompt-engineering-sessions/{id}/startSession JWT
Read the remaining timeGET /v1/prompt-engineering-sessions/{id}/timerSession JWT
List attempts for one taskGET /v1/prompt-engineering-sessions/{id}/attemptsSession JWT
Submit a promptPOST /v1/prompt-engineering-sessions/{id}/attemptsSession JWT
Poll one attemptGET /v1/prompt-engineering-sessions/{id}/attempts/{aid}Session JWT
Record proctoring eventsPOST /v1/prompt-engineering-sessions/{id}/eventsSession JWT
End the assessment and score itPOST /v1/prompt-engineering-sessions/{id}/finalizeSession JWT

Psychometric Test

Written up in psychometric test.

OperationEndpointAuth
List the psychometric instrumentsGET /v1/psychometric-testsSecret key
Retrieve a psychometric instrumentGET /v1/psychometric-tests/{id}Secret key
List psychometric sessionsGET /v1/psychometric-sessionsSecret key
Assign a psychometric test to a candidatePOST /v1/psychometric-sessionsSecret key
Retrieve the instrument and the answers saved so farGET /v1/psychometric-sessions/{id}Session JWT
Cancel a psychometric sessionPOST /v1/psychometric-sessions/{id}/cancelSecret key
Create a candidate launch link for a psychometric sessionPOST /v1/psychometric-sessions/{id}/launch-linkSecret key
Start the psychometric sessionPOST /v1/psychometric-sessions/{id}/startSession JWT
Save answersPOST /v1/psychometric-sessions/{id}/progressSession JWT
Submit the instrument and score itPOST /v1/psychometric-sessions/{id}/submitSession JWT
Retrieve a psychometric reportGET /v1/psychometric-sessions/{id}/reportSecret key

Question bank

Written up in question bank.

OperationEndpointAuth
List companies with questionsGET /v1/question-bank/companiesSecret key
List categoriesGET /v1/question-bank/categoriesSecret key
List topicsGET /v1/question-bank/topicsSecret key
Search questionsGET /v1/question-bank/questionsSecret key
Read one questionGET /v1/question-bank/questions/{id}Secret key

Webhooks

Written up in webhooks.

OperationEndpointAuth
Retrieve a webhook endpointGET /v1/webhook-endpoints/{id}Secret key
Change an endpoint's URL, filter or statePATCH /v1/webhook-endpoints/{id}Secret key
Delete a webhook endpointDELETE /v1/webhook-endpoints/{id}Secret key
Fire a test event at an endpointPOST /v1/webhook-endpoints/{id}/testSecret key
Read an endpoint's attempt historyGET /v1/webhook-endpoints/{id}/deliveriesSecret key
List events queued for your endpointsGET /v1/eventsSecret key
Retrieve one eventGET /v1/events/{id}Secret key
Replay a failed eventPOST /v1/events/{id}/redeliverSecret key
List webhook endpointsGET /v1/webhook-endpointsSecret key
Register a webhook endpointPOST /v1/webhook-endpointsSecret key
Rotate the signing secretPOST /v1/webhook-endpoints/{id}/rotate-secretSecret key