Bulk change status
Move a group of candidates of one job to a stage or closing status in one pass.
POST https://cotlet.dev/api/v1/jazzhr/jobs/{job_id}/change-status/bulk
Does what the Bulk Actions button does with Change Status on: the same new status for every candidate listed. A candidate who is not on the job is reported and left out. Workflow helpers on the target stage can email the group, so check the stage first. The call returns how many were moved and which were not. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| job_id string required | string | Job ID from list_jobs. |
| status string required | string | Stage or closing status name from list_workflow_stages. |
| candidate_ids array required | array | Candidate IDs from list_candidates, all on this job. |
Request
curl -X POST https://cotlet.dev/api/v1/jazzhr/jobs/job_20261012_8f3a/change-status/bulk \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"status":"Not Hired","candidate_ids":["prospect_20261001_c41d","prospect_20261003_72be","prospect_20261004_9a10"]}' result = client.call("jazzhr", "bulk_change_status", {"job_id":"job_20261012_8f3a","status":"Not Hired","candidate_ids":["prospect_20261001_c41d","prospect_20261003_72be","prospect_20261004_9a10"]}) const result = await cotlet.call('jazzhr', 'bulk_change_status', {"job_id":"job_20261012_8f3a","status":"Not Hired","candidate_ids":["prospect_20261001_c41d","prospect_20261003_72be","prospect_20261004_9a10"]}); cotlet call jazzhr bulk_change_status --data '{"job_id":"job_20261012_8f3a","status":"Not Hired","candidate_ids":["prospect_20261001_c41d","prospect_20261003_72be","prospect_20261004_9a10"]}' Example response
{
"job_id": "job_20261012_8f3a",
"status": "Not Hired",
"moved": 3,
"skipped": []
}