Skip to main content
The Assessments API lets you create voice-based interviews, add or generate questions, invite candidates, and view submission results. All requests use the base path /v1/partner/assessment. When candidates take assessments, you can receive webhooks for interview lifecycle events (start, scoring completed, end, and errors)—see Assessment and interview events in Webhooks.

List Assessments

Get a paginated list of AI interview assessments (voice and video) for your company.

GET /assessment

Authentication

Requires API key via Authorization: Bearer YOUR_API_KEY header.

Query Parameters

Example Request

Example Response

Error Responses

Invalid perPage (400):

Create Assessment (Voice Interview)

Create a new voice-based interview assessment. You can optionally link it to a job. Your account must have sufficient credits to create an assessment.

POST /assessment/audio-interviews

Request Body

Request Body Example

Example Request

Example Response

Returns 201 Created on success.

Error Responses

  • 404 – Company or job (if provided) not found. code: NOT_FOUND.
  • 402 – Insufficient credits. code: INSUFFICIENT_CREDITS, errorMessage: “Insufficient credits to create assessment”.
  • 400 – Validation error (e.g. maxResumeCount missing when resumeAllowed is true). code: INVALID_REQUEST.

Get Assessment

Retrieve a single assessment and its user-added questions. The response includes full assessment metadata (resumeAllowed, maxResumeCount, buckets, and other settings) plus question objects as stored in the system. assessmentType is returned as AI_AUDIO_INTERVIEW for voice interviews or AI_VIDEO_INTERVIEW for video interviews.

GET /assessment/:assessmentId

Path Parameters

Example Request

Example Response

Question objects use contextForAI for the evaluation instructions you pass as systemInstruction when adding or updating a question.

Error Responses

  • 404 – Assessment not found. code: NOT_FOUND.
  • 403 – Not allowed to access this assessment. code: ACCESS_DENIED.

Update Assessment

Update an assessment’s title, duration, language, skills, or purpose. At least one field must be provided.

PUT /assessment/:assessmentId

Path Parameters

Request Body (all optional; at least one required)

Example Request

Example Response

Error Responses

  • 400 – No fields provided or validation error. code: INVALID_REQUEST.
  • 404 – Assessment not found. code: NOT_FOUND.
  • 403 – Not allowed to modify this assessment. code: ACCESS_DENIED.

Add Question

Add a single question to an assessment.

POST /assessment/:assessmentId/questions

Path Parameters

Request Body

Request Body Example

Example Request

Example Response

Error Responses

  • 400 – Validation error (e.g. question too short). code: INVALID_REQUEST.
  • 404 – Assessment not found. code: NOT_FOUND.
  • 403 – Not allowed to modify this assessment. code: ACCESS_DENIED.

Update Question

Update an existing question on an assessment.

PUT /assessment/:assessmentId/questions/:questionId

Path Parameters

Request Body

Example Request

Example Response

Error Responses

  • 404 – Assessment or question not found, or question not in this assessment. code: NOT_FOUND.
  • 403 – Not allowed to modify this assessment. code: ACCESS_DENIED.

Delete Question

Remove a question from an assessment.

DELETE /assessment/:assessmentId/questions/:questionId

Path Parameters

Example Request

Example Response

Error Responses

  • 404 – Question not found in this assessment. code: NOT_FOUND.
  • 403 – Not allowed to modify this assessment. code: ACCESS_DENIED.

Auto-Generate Assessment

Create an assessment and have questions generated automatically from a job or from role/purpose. You can choose voice-based (audio) or video-based interview. You receive an assessment ID immediately; questions are generated asynchronously. A webhook is sent when questions are ready (see Assessment events). Your account must have sufficient credits.

POST /assessment/auto-generate

Request Body

You must provide either jobId or purpose. *At least one of jobId or purpose is required.

Request Body Example (from job)

Request Body Example (from role and purpose)

Example Request (from job)

Example Request (from role and purpose)

Example Response

Error Responses

  • 400 – Neither jobId nor purpose provided. code: INVALID_REQUEST.
  • 404 – Job not found (when jobId is provided). code: NOT_FOUND.
  • 402 – Insufficient credits. code: INSUFFICIENT_CREDITS.

Generate Questions for an Assessment

Generate questions for an existing assessment based on job description and skills. Your account must have sufficient credits. A webhook is sent when generation completes (see Assessment events).

POST /assessment/:assessmentId/generate-questions

Path Parameters

Request Body

Request Body Example

Example Request

Example Response

Error Responses

  • 402 – Insufficient credits. code: INSUFFICIENT_CREDITS, errorMessage: “Insufficient credits to generate questions”.
  • 403 – Assessment not found or access denied. code: ACCESS_DENIED.
  • 500 – Question generation failed or returned no questions. code: AI_GENERATION_FAILED or AI_GENERATION_EMPTY.

Invite Candidate to Assessment

Send an assessment invitation to a candidate by email. You can provide candidate details directly or reference an existing job candidate by jobCandidateId; if you use jobCandidateId, name and email can be filled from the candidate record.

POST /assessment/:assessmentId/invite

Path Parameters

Request Body

*If jobCandidateId is omitted, firstName, lastName, and emailAddress are all required.

Request Body Example (by email and name)

Request Body Example (by job candidate)

Example Request (by email and name)

Example Request (by job candidate)

Example Response

Error Responses

  • 400 – Missing email/name (when not using jobCandidateId), or invalid/dummy email. code: INVALID_REQUEST.
  • 400 – Candidate or reviewer already invited. code: DUPLICATE_INVITE, errorMessage: “Candidate is already invited!” or “Reviewer is already invited!”.
  • 404 – Assessment or candidate (when jobCandidateId used) not found. code: NOT_FOUND.
  • 403 – Not allowed to invite for this assessment. code: ACCESS_DENIED.

List Assessment Candidates

Get a paginated list of candidates who have taken the assessment (submitted or timed out), with scores and response details.

GET /assessment/:assessmentId/candidates

Path Parameters

Query Parameters

Example Request

Example Response

Error Responses

  • 403 – Assessment not found or access denied. code: ACCESS_DENIED.

Notes

Interview resume behavior

Configure interview resume with resumeAllowed and maxResumeCount when creating or updating an assessment, or when using auto-generate.

Interview closure due to network issues, tab closure, or accidental navigation

  • If interview resume is enabled (resumeAllowed: true), the candidate can resume the interview from the point where they left off.
  • A candidate can resume only up to the maximum resume count configured in the assessment settings (maxResumeCount, 1–5 attempts).
  • If interview resume is disabled (resumeAllowed: false), scoring is processed immediately once the interview is closed, regardless of the reason.
  • If interview resume is enabled and the candidate loses network connectivity or closes the tab, scoring is not processed until the candidate either resumes and submits the interview or exhausts the allowed resume attempts.
When resume is enabled, interview.scoring_completed and interview.ended webhooks are deferred until scoring runs (after the candidate finishes or uses all resume attempts).

Webhooks

To receive real-time notifications for assessments, configure a webhook URL in your partner settings. Once configured, TapTalent will send POST requests to your endpoint for the following events: Each webhook payload includes event, timestamp, companyId, and a data object with event-specific fields (e.g. assessmentId, submissionId, interviewStatus). Respond with a 2xx status so TapTalent does not retry the delivery. For payload details, headers, and retry behavior, see Webhook events.