List candidates for an interviewer
Changed onRetrieve a paginated list of candidates for a specific interviewer. Each candidate includes workflow progress, scores, and agent summaries.
To sync only what changed, pass updated_after, then pass each response's pagination.next_cursor as cursor until it is null. Results then come oldest change first, and total_count is null.
Request
- Base URLhttps://api.heymilo.ai
- URLhttps://api.heymilo.ai/api/v2/postings/{posting_id}/candidates
- AuthAPI key in header X-API-KEY
Path parameters
Query parameters
Maximum number of candidates to return (1–100).
Cursor for pagination. Pass the interview_id of the last candidate from the previous page.
Only return candidates invited to this interviewer at or after this bound (inclusive). Accepts an ISO-8601 datetime such as 2026-03-13T00:00:00Z or 2026-03-13T00:00:00+00:00, or Unix epoch seconds matching the created_at field in the response. Naive ISO values (no offset) are interpreted as UTC. Combine with created_before to query a closed interval.
Only return candidates invited to this interviewer at or before this bound (inclusive). Accepts an ISO-8601 datetime such as 2026-03-14T23:59:59Z, or Unix epoch seconds matching the created_at field in the response. Naive ISO values (no offset) are interpreted as UTC.
Only return candidates whose interview data changed at or after this time (inclusive), oldest change first. Accepts an ISO-8601 datetime or Unix epoch seconds matching the updated_at field. Follow pagination.next_cursor with cursor for further pages. Cannot be combined with cursor or starting_after.
The pagination.next_cursor from the previous response, passed unchanged, to continue an updated_after sync. Cannot be combined with updated_after or starting_after.
Headers
Response
Successful Response
Example response
{
"data": [
{
"interview_id": "D536A69A4090E13F",
"candidate_id": "cand_def456",
"posting_id": "13D77095",
"name": "Jane Smith",
"email": "jane.smith@example.com",
"score": 78.5,
"status": "completed",
"interview_url": "https://candidates.heymilo.io/acme/i/D536A69A4090E13F",
"workflow": {
"steps": [
{
"step_id": "agent_vi_001",
"order": 1,
"status": "completed",
"started": true,
"completed": true,
"last_updated_at": 1739713800
}
],
"last_activity_at": 1739715600
},
"agent_summary": {
"resume": {
"resume_score": 3.8,
"resume_link": "https://cdn.heymilo.io/resumes/abc123.pdf"
},
"web_interview": {
"score": 82
},
"sms": {
"messages_sent": 8
},
"form": {
"questions_answered": 5,
"total_questions": 7
}
},
"metadata": {
"ats_stage": "phone_screen",
"external_id": "candidate_xyz"
},
"interviewed_at": 1739713800,
"created_at": 1739612400,
"updated_at": 1739714569.48
}
]
}Changes
- info
added the new optional
queryrequest parametercursor - info
added the new optional
queryrequest parameterupdated_after - info
added the optional property
//to the response with the status - info
added the optional property
/to the response with the status
- info