/v1/partner/assessment-flowsAuthentication:
Authorization: Bearer YOUR_API_KEY
Related: single assessments are managed under Assessments. Workspace users and teams are under Users and Teams.
List flows
GET /assessment-flows
Returns all non-deleted flows for the API key’s workspace, including steps and candidate counts where available.
Example request
Example response
Create flow
POST /assessment-flows
Body (JSON):
| Field | Type | Required | Description |
|---|---|---|---|
flowName | string | Yes | Name of the flow |
description | string | No | Optional description |
steps | array | Yes | At least one step |
| Field | Type | Required | Description |
|---|---|---|---|
assessmentId | string | Yes | Existing assessment (test) id |
passThreshold | number | Yes | 0–100 |
assessmentType / type | string | No | If omitted, resolved from the assessment record |
name, instructions, passAction | string | No | Optional step metadata |
Example request
Example response
Update flow
PATCH /assessment-flows/:id
Updates name, description, status, and steps. The underlying service restricts changing or removing existing stages; you may adjust thresholds and append new stages (same rules as the in-app flow editor).
Body: Same shape as create (flowName, optional description, optional status, steps).
Get flow details
GET /assessment-flows/:id
Returns the flow with steps, including assessmentName and assessmentDuration enriched from assessment records.
Path parameters
| Parameter | Description |
|---|---|
id | Flow id |
List flow candidates
GET /assessment-flows/:id/candidates
Paginated list of candidates assigned to the flow, with attempts and submission metadata when available.
Query parameters
| Parameter | Type | Description |
|---|---|---|
page | integer | Page number (default 1) |
pageSize or perPage | integer | Page size (default 10, max 100) |
search | string | Substring match on candidate name or email |
status | string | One of: NOT_STARTED, IN_PROGRESS, COMPLETED, FAILED |
Example response
Assign candidate
POST /assessment-flows/:id/assign
Creates a flow assignment and sends the first step assessment invite email (same behavior as the client app). Either provide email (and optional firstName / lastName) or jobCandidateId so the server can resolve the candidate.
Body (JSON):
| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes* | Candidate email (*unless jobCandidateId is provided) |
firstName, lastName | string | No | Used when inviting by email |
jobCandidateId | number/string | No | Job candidate id |
jobId | number/string | No | Optional job context |
talentId | number/string | No | Optional |
Example response
Errors
Validation errors return 400 withcode: "INVALID_REQUEST". Missing or cross-workspace flows return 404 with code: "NOT_FOUND". Other failures may return 403 or 500 with an error object; see API Reference Overview.
Related
- Assessments — Create and invite for individual assessments
- API Reference Overview — Base URL and authentication
.png?fit=max&auto=format&n=lKy84_BssSCy2hcz&q=85&s=ac7c949427cc2893306f6036415f087e)