GET /candidates with candidates.read. To narrow results to a job, usejob_id; a stage status filter requires job_id. Discover stage codesGET /jobs/{jobId}/candidate-stages (candidates.read).GET /candidates/{candidateId}. Read job associationsGET /candidates/{candidateId}/applications and the permission documentedGET /candidates/{candidateId} includes the original resume metadata:{
"data": {
"id": 501,
"resume": {
"fileName": "Asha_Sharma_Resume.pdf",
"downloadUrl": "https://api.cvviz.com/v1/candidates/501/resume/download"
}
}
}resume is null when no usable originaldownloadUrl with your API credential, which must haveresumes.download. The API checks access and redirects (302) to aGET /candidates/{candidateId}?include=resume_download_url with bothcandidates.read and resumes.download. The resume object then also containsdirectDownloadUrl and expiresAt. Never log or persist the temporary URL.