Candidate Status in API Results
Last updated: February 23, 2026
When you retrieve candidate data using the HackerRank API, the JSON response includes two integer fields:
statusats_state
Status
The status field represents the state of the candidate’s test attempt.
Stable values
The table below lists the stable values and their descriptions.
Value | Description |
| Candidate invited |
| Candidate session in progress |
| Candidate completed the test; reports not ready |
| Reports ready for consumption |
Note: You can build downstream logic only on the stable values.
Transient values
The API may return values such as 2–6 or other negative numbers.
These values represent intermediate processing stages, such as:
Evaluation
Integrity checks
Report generation
Transient values are not part of the API contract and may change without notice. Do not build downstream logic that depends on them.
ATS state
The ats_state field represents the candidate’s stage in the recruitment workflow.
After a candidate completes a test:
The system updates the state automatically if you configure a cut-off score.
A recruiter can manually update the state to move the candidate forward in the hiring process.
ATS state values
The table below lists the ats_state values and their corresponding recruitment stages:
Value | ATS State |
| ATS state not set |
| Test Completed – Evaluation Required |
| Test Completed – Qualified |
| Test Completed – Failed |
| Phone Interview – I |
| Phone Interview – II |
| Phone Interview – III |
| Offer Sent |
| Offer Negotiation |
| Offer Accepted |
| Offer Declined |
| On Hold |
| Phone Interview – Cleared |
| Phone Interview – Failed |
| Technical Interview – Cleared |
| Technical Interview – Failed |
| HR Interview – Cleared |
| HR Interview – Failed |
| Phone Interview |
| Technical Interview |
| HR Interview |
| Hired |
| Rejected |