| Step | Endpoint | MCP tool |
|---|---|---|
| Create/update a pre-screening position | POST /pre-screening-create | upsert_pre_screening |
| Screen a candidate (plain text résumé) | POST /job-interview-pre-screening-api-resume-text | pre_screen_resume_text |
| Screen a candidate (uploaded file) | POST /job-interview-pre-screening-api-resume-binary | pre_screen_resume_binary |
1. Create the pre-screening position
position_name, position_location, position_country_code, and mojito_language_code are required. type is resume, form, or resume_with_form. To update an existing position, pass update_position_def_set_id instead and only the fields you want to change.
The response returns position_def_set_id (use it to screen candidates) and interview_pre_screening_id.
2. Screen a candidate
Submit the candidate against theposition_id (the position_def_set_id from step 1). Required: position_id, candidate_name, candidate_email, candidate_country_code, candidate_resume.
job-interview-pre-screening-api-resume-binary with the same identity fields and the file payload instead of candidate_resume.
Reading the result
A completed screen returns:If the candidate isn’t in a screenable state, you’ll still get HTTP 200 with a short
{ "decision_status": …, "message": … } payload instead of a full result.Shortcut: pre-screen + interview in one call
To screen a candidate and get a ready interview link back in a single request, usePOST /job-interview-create-for-candidate-with-token (create_interview_for_candidate). It resolves the position, runs pre-screening, and returns a tokenised interview_url plus a status like ai_accept or recruiter_action.
Next steps
Invite candidates
Invite the candidates who passed screening.
Review results
Filter results by the
pre-screening step to see screening outcomes.