Recruitment Processes

Processes (campaigns) bring together the candidates, jobs, and stages of a recruitment pipeline. Each stage can be an AI interview, a technical test, or a human review.

Required scope: campaigns:read for reading, campaigns:write for creation and management.

List processes

GET/api/campaigns

Returns the organization's list of recruitment processes, along with their stages and configuration.

Query Parameters

ParamètreTypeRequisDescription
pageintegerNonPage number (default: 1).
pageSizeintegerNonResults per page (default: 20).
jobIdstringNonFilter by job posting.
statusstringNonFilter by status: DRAFT | ACTIVE | PAUSED | COMPLETED | ARCHIVED.
Request
Response 200

Get a process

GET/api/campaigns/:id

Returns the details of a process with its stages, candidates, and recent interviews.

Path Parameters

ParamètreTypeRequisDescription
idstringOuiUnique identifier of the process.
Request
Response 200

Create a process

POST/api/campaigns

Creates a new recruitment process linked to a job posting.

Body Parameters

ParamètreTypeRequisDescription
namestringOuiName of the process.
jobIdstringOuiIdentifier of the linked job posting.
descriptionstringNonDescription of the process.
statusstringNonInitial status: DRAFT (default) | ACTIVE.
startDatestring (ISO 8601)NonStart date of the process.
endDatestring (ISO 8601)NonPlanned end date.
targetCountintegerNonTarget number of candidates to recruit.
interviewConfigIdstringNonDefault interview configuration (InterviewConfig.id). Shared by the campaign's AI_INTERVIEW stages unless overridden at the stage level.
Request
Response 201

Pipeline: stage management

Each process is structured into ordered stages (PipelineStage). A stage can be an AI voice interview (AI_INTERVIEW), a technical test (TEST), a pre-qualification (AI_PREQUALIFICATION) or a human review (HUMAN_REVIEW).

GET/api/campaigns/:id/pipeline

Returns the pipeline stages with each candidate's progress, scores, and associated interviews.

Request
Response 200

Add a stage to the pipeline

POST/api/campaigns/:id/pipeline

Adds a new stage at the end of the pipeline. The order is assigned automatically.

Body Parameters

ParamètreTypeRequisDescription
namestringOuiDisplay name of the stage.
typestringOuiType: AI_INTERVIEW | AI_PREQUALIFICATION | TEST | HUMAN_REVIEW.
descriptionstringNonDescription of the stage.
orderintegerNonPosition in the pipeline (auto if omitted).
isRequiredbooleanNonStage required to advance (default: true).
configobjectNonInitial configuration (see the Configure a stage section).
Request
Response 201

Configure a stage

A stage's configuration is a JSON object that defines its behavior. Its contents vary depending on the stage's type type.

PUT/api/stages/:stageId/config

Updates a pipeline stage's configuration. For TEST stages, it also updates the testTemplateId relation.

Common fields (all types)

ParamètreTypeRequisDescription
evaluatorTypestringNonAI (default) | HUMAN.
minimumScoreintegerNonMinimum score (0-100) required to move to the next stage.
autoAdvancebooleanNonAutomatically advance to the next stage if score ≥ minimumScore.
notifyRecruiterAfterbooleanNonNotify the recruiter on each completion.
generateReportbooleanNonGenerate an AI report after completion.

AI_INTERVIEW / AI_PREQUALIFICATION fields

ParamètreTypeRequisDescription
agentIdstringNonAI agent to use. Overrides the InterviewConfig agent.
durationintegerNonInterview duration in minutes (5-180).
interviewTypestringNononline | inperson.
agentTonestringNonprofessional | friendly | formal | casual | empathetic.
agentLanguagestringNonLanguage: fr | en | es | de | it.
agentInstructionsstringNonAdditional instructions for the AI agent.
topicsToAvoidstringNonTopics to avoid.
suspicionLevelintegerNonAnti-cheating vigilance level: 0 (disabled) to 3 (maximum).
evaluationCriteriaobject[]NonEvaluation criteria: [{ id, name, weight, enabled }].
scoringThresholdsobjectNonThresholds: { exceptional, excellent, good, average }.
showLiveTranscriptionbooleanNonShow the live transcription to the candidate.

TEST fields

ParamètreTypeRequisDescription
technicalTestIdstringNonID of the TestTemplate to assign (null to unassign).
testTimeLimitintegerNonTime limit in minutes (overrides the test's duration).
testShuffleQuestionsbooleanNonShuffle the question order.
testAllowBackNavigationbooleanNonAllow backward navigation between questions.

HUMAN_REVIEW fields

ParamètreTypeRequisDescription
recruiterIdstringNonIdentifier of the recruiter assigned to this stage.
recruiterInstructionsstringNonScorecard instructions for the recruiter.
Configure an AI interview
Configure a technical test
Response 200
For an AI_INTERVIEW, stage, you can either provide an agentId in the stage's config , or link an interviewConfigId to the campaign (campaign-level field). The stage config takes priority over the campaign config.

Reorder stages

PUT/api/stages/reorder

Reorders all the stages of a pipeline. Not possible while the campaign has the ACTIVE status.

Body Parameters

ParamètreTypeRequisDescription
campaignIdstringOuiIdentifier of the campaign.
stageIdsstring[]OuiArray of stage IDs in the new order.
Request
Reordering is blocked when the campaign has the ACTIVE status and candidates have already progressed. First switch the campaign to PAUSED.
Evalyo · Agentic platform for AI interviews and assessments