Skip to main content

Candidates API

Manage candidate applications, pipeline stages, emails, notes, and ratings.

Endpoints

MethodEndpointDescription
GET/api/candidate-job/indexList all candidates
POST/api/candidate-job/storeCreate candidate application
GET/api/candidate-job/show/{id}Get candidate details
POST/api/candidate-job/update-stage/{id}Move to pipeline stage
POST/api/candidate-job/update-stage-send-email/{id}/{stage_id}Move to stage + send email
POST/api/candidate-job/reject/{id}Reject candidate
POST/api/candidate-job/undo-reject/{id}Undo rejection
POST/api/candidate-job/send-email/{id}Send email to candidate
POST/api/candidate-job/assign-to-jobAssign candidate to job
POST/api/candidate-job/store-notes/{id}Add note on candidate
GET/api/candidate-job/email-templet/{stage_id}Get stage email template

List Candidates

GET /api/candidate-job/index?subdomain=acme

Query Parameters

ParameterTypeDescription
search-keystringSearch by name or email
pageintegerPage number
maxintegerResults per page (default: 10)

Create Candidate

POST /api/candidate-job/store?subdomain=acme
Content-Type: multipart/form-data
FieldTypeRequiredDescription
emailstringYesCandidate email
first_namestringYesFirst name
last_namestringYesLast name
phonestringNoPhone number
job_idstringYesJob hash_id
file_cvfileNoCV file (PDF, DOC)
cover_letterfileNoCover letter file

CV files are automatically parsed for skills, experience, and contact info.

Move Pipeline Stage

POST /api/candidate-job/update-stage/{id}?subdomain=acme
{
"stage_id": 2
}

To move and send the stage's email template:

POST /api/candidate-job/update-stage-send-email/{id}/{stage_id}?subdomain=acme

Send Email

POST /api/candidate-job/send-email/{id}?subdomain=acme
{
"subject": "Interview Invitation",
"body": "<p>Dear John, we'd like to invite you...</p>",
"name": "Interview Invitation"
}

Reject / Undo Reject

POST /api/candidate-job/reject/{id}?subdomain=acme
POST /api/candidate-job/undo-reject/{id}?subdomain=acme

Rejection sends the company's rejection email template automatically.

Add Note

POST /api/candidate-job/store-notes/{id}?subdomain=acme
{
"note": "Strong technical skills, good cultural fit. Recommend moving to next stage."
}