JobMojito
HomePublic pageAdmin app
HomePublic pageAdmin app
  1. Actions API
  • Welcome
  • API keys creation
  • API usage and libraries
  • Vibe coding
  • Platform
    • Interview workflow
    • Interview credits
    • Scoring
    • Scoring verification: using Psychometric assessment
    • Risk assessment
    • Data privacy model
    • Custom web domain
    • Multi language support
    • Avatars
  • Actions API
    • Client URL for new user
      POST
    • Client URL for existing user
      POST
    • Invite user
      POST
    • Interview result, details with transcript
      POST
    • Interview result, generate html/PDF report
      POST
    • Create interview, using position data
      POST
    • Create interview, using position data & candidate pre-screening
      POST
    • Create interview, using provided questions
      POST
    • Candidate request another interview attempt
      POST
  • Tables API
    • interview_def_set
      • /interview_def_set
      • /interview_def_set
      • /interview_def_set
      • /interview_def_set
    • interview_def_pre_screening
      • /interview_def_pre_screening
      • /interview_def_pre_screening
      • /interview_def_pre_screening
      • /interview_def_pre_screening
    • interview_def_question
      • /interview_def_question
      • /interview_def_question
      • /interview_def_question
      • /interview_def_question
    • interview_def_response
      • /interview_def_response
      • /interview_def_response
      • /interview_def_response
      • /interview_def_response
    • interview_file
      • /interview_file
      • /interview_file
      • /interview_file
      • /interview_file
    • interview_file_page
      • /interview_file_page
      • /interview_file_page
      • /interview_file_page
      • /interview_file_page
    • interview_result
      • /interview_result
      • /interview_result
      • /interview_result
      • /interview_result
    • interview_templates
      • /interview_templates
      • /interview_templates
      • /interview_templates
      • /interview_templates
    • interview_result_question
      • /interview_result_question
      • /interview_result_question
      • /interview_result_question
      • /interview_result_question
    • interview_result_pre_screening
      • /interview_result_pre_screening
      • /interview_result_pre_screening
      • /interview_result_pre_screening
      • /interview_result_pre_screening
    • knowledge_base
      • /knowledge_base
      • /knowledge_base
      • /knowledge_base
      • /knowledge_base
    • knowledge_base_store
      • /knowledge_base_store
      • /knowledge_base_store
      • /knowledge_base_store
      • /knowledge_base_store
    • knowledge_base_chunks
      • /knowledge_base_chunks
      • /knowledge_base_chunks
      • /knowledge_base_chunks
      • /knowledge_base_chunks
    • position_def_set
      • /position_def_set
      • /position_def_set
      • /position_def_set
      • /position_def_set
    • position_def_step
      • /position_def_step
      • /position_def_step
      • /position_def_step
      • /position_def_step
    • position_result
      • /position_result
      • /position_result
      • /position_result
      • /position_result
    • position_result_step
      • /position_result_step
      • /position_result_step
      • /position_result_step
      • /position_result_step
    • profile
      • /profile
      • /profile
      • /profile
      • /profile
    • profile_interview
      • /profile_interview
      • /profile_interview
      • /profile_interview
      • /profile_interview
  • Webhooks
    • Creating webhooks
    • Webhook: Interview submitted
  1. Actions API

Create interview, using position data & candidate pre-screening

POST
/job-interview-create-for-candidate-with-token
This endpoint will receive candidate data, position information, will generate the interview. These are the steps taken by the endpoint
1.
Generate interview for specific position
2.
Register candidate
3.
Generate token for the candidate to take the interview
Some or all fields below could be provided (that would make the interview questions more relevant) or if they are not provided, we will generate them using our LLM.
description
description_long
candidate_expectations
Note: Interviews are only created if one with the same position_name does not already exist. If an interview already exists, the candidate will receive a link to the existing interview.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://cool.jobmojito.com/functions/v1/job-interview-create-for-candidate-with-token' \
--header 'Content-Type: application/json' \
--data-raw '{
    "position_name": "executive senior project manager",
    "position_location": "remote",
    "candidate_name": "John 2",
    "candidate_email": "john@email.com",
    "mojito_language_code": "en",
    "location": "remote",
    "candidate_resume": "I was working as a cleaner in multiple establishments like hotels, restaurants",
    "position_country_code": "sk",
    "candidate_country_code": "sk"
}'
Response Response Example
200 - Example 1
{
    "status": "ai_accept",
    "position_def_set_id": "40fc74dd-db38-47cb-9c6b-d2c631a697f8",
    "interview_def_set_id": "44c18c93-d7fe-4bb0-9f50-e4958179f2e9",
    "profile_interview_id": "8267200c-3a48-49f3-9559-b0178ddb8a5c",
    "interview_url": "https://..."
}

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params application/json
position_external_id
string 
optional
External code of the interview (put your ID here)
interview_template_id
string 
optional
Avatar ID from the interview_templates table. To obtain the ID, use the admin interface or query the interview_templates table directly.
Learn more about Avatar IDs on the Platform -> Avatars page.
position_location
string 
required
Provide location of the position, if it is remote, provide text "remote"
position_name
string 
required
Name of the position
position_country_code
string 
required
Country code of the position
position_description
string 
optional
Short description of the position
position_description_long
string 
optional
Long description of position (expected MD formating)
mojito_language_code
string 
required
Language code of the interview
merchant_id
string 
optional
Your merchant_id
candidate_external_id
string 
optional
External code of the candidate (put your ID here)
candidate_country_code
string 
required
Location code of the candidate's residency
candidate_name
string 
required
Candidate name
candidate_email
string 
required
Candidate email
candidate_linkedin_url
string 
optional
Candidate linkedin url
candidate_resume
string 
required
Candidate resume as plaintext
interview_attempts
number 
optional
Maximum number of interview attempts
Default value: 1
>= 1<= 10
custom_scoring
object 
optional
Customize the default values of the scoring algorithm
max_score
number 
optional
Disable retry when user reach a score.
Default value: 7.5
To prevent candidates from repeatedly attempting the same interview, once a candidate reaches this score or higher, the platform will not allow a retry. The candidate must select one result and submit it.
max_retries
number 
optional
Maximum number of attempts
Default value: 3
When candidates reach this number of successful attempts, the platform will disable further interview retries. Failed or abandoned interviews are not counted.
speech_cadence
number 
optional
Speech cadence
Default value: 1
The Speech Cadence evaluates the rhythm and flow of your spoken words, providing insightful feedback to enhance your communication skills. It assesses your pacing, allowing you to maintain engaging and effective interactions.
ai_pronunciation
number 
optional
Speech pronounciation
Default value: 1
This score compiles speech accuracy, fluency, and recognition confidence into one comprehensive metric.
sentiment_analysis
number 
optional
Speech sentiment
Default value: 1
Sentiment analysis evaluates the tone, emotions, and attitudes reflected in your responses.
ai_assessment_answer
number 
optional
AI analysis of individual answers
Default value: 3
The AI response assessment evaluates your answers, measuring their relevance, clarity, and coherence against predefined expectations. It assesses each question and answer individually.
ai_assessment_resume
number 
optional
AI resume analysis
Default value: 0
ai_assessment_session
number 
optional
AI analysis of full conversation
Default value: 7
This comprehensive evaluation reviews your performance throughout the entire session.
early_stop
boolean 
optional
Enable early stop of the interview (If the AI determines midway that the candidate isn't a fit, the interview ends early - saving you time and costs)
Default value: false
Examples

Responses

🟢200Success
application/json
Body
status
enum<string> 
required
Allowed values:
ai_acceptrecruiter_acceptrecruiter_actionai_rejectrecruiter_rejectalready-applied
position_def_set_id
string 
required
Position ID
interview_def_set_id
string 
required
Interview ID
profile_interview_id
string 
required
Candidate profile ID
interview_url
string 
optional
Frontend URL to which Candidate should be redirected to
reason
string 
required
Reason text for the candidate when status is ai_reject, recruiter_reject or already-applied
🟠422Invalid input
🔴500Server error
Modified at 2025-06-02 15:28:52
Previous
Create interview, using position data
Next
Create interview, using provided questions
Built with