List job candidates
Candidates of one job with their stage, the date they entered it and the last activity.
MCP tool recruiterflow_read → list_job_candidates
read
Lists the candidates on one job, one page at a time, oldest in stage first. stage takes a stage name from get_job. status active is the default, disqualified returns candidates removed from the job with their reason. stage_since is when the candidate entered the current stage. last_activity is the newest entry in the Activity Log.
Parameters
| Name | Type | Description |
|---|---|---|
| job_id string required | string | Job id from list_jobs. |
| stage string | string | Stage name as get_job shows it. |
| status enum | enum | active (default) or disqualified. |
| limit integer | integer | 1 to 50. Default: 25. |
| cursor string | string | Next page cursor from the previous call. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "recruiterflow_read",
"arguments": {
"operation": "list_job_candidates",
"arguments": {
"job_id": "job_8c41d2"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"candidates": [
{
"candidate_id": "771204",
"name": "Priya Nair",
"stage": "Phone Screen",
"stage_since": "2026-09-02",
"last_activity": {
"type": "email",
"direction": "outgoing",
"at": "2026-09-04T10:30:00Z"
}
},
{
"candidate_id": "771390",
"name": "Marcus Lee",
"stage": "Phone Screen",
"stage_since": "2026-10-14",
"last_activity": {
"type": "email",
"direction": "incoming",
"at": "2026-10-21T08:05:00Z"
}
}
],
"next_cursor": null
},
"isError": false
}