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 provided questions

POST
/job-interview-create-from-array
This endpoint create new interview and create questions specified in the questions json object
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://cool.jobmojito.com/functions/v1/job-interview-create-from-array' \
--header 'Content-Type: application/json' \
--data-raw '{
    "code": "my code",
    "name": "my position name",
    "description": "short interview description",
    "cover_image_url": "https://",
    "visibility": "merchant_public",
    "location": "my location",
    "type": "interview",
    "candidate_expectations": "my expectations",
    "interview_template_id": "681a489c-0f5d-4c19-8b1c-6ceadaad3793",
    "knowledge_base_store_id": "8267200c-3a48-49f3-9559-b0178ddb8a5c",
    "status": "active",
    "mojito_language_code": "sk",
    "interview_tone": "professional",
    "questions": [
        {
            "id": "1234",
            "question": "Have you been in Paris?",
            "duration": 23,
            "is_conditional": true,
            "mojito_language_code": "en",
            "question_alternatives": [
                "Have you been in London?",
                "Have you been in Brussels?"
            ]
        },
        {
            "id": "5678",
            "question": "Tell me the capital city of that country?",
            "duration": 40,
            "conditional_question_main_id": "1234"
        }
    ]
}'
Response Response Example
200 - Example 1
{
    "interview_def_set_id": "8267200c-3a48-49f3-9559-b0178ddb8a5c"
}

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Body Params application/json
code
string 
optional
External code of the interview (put your ID here)
name
string 
required
Name of the position
description
string 
required
Short description of position
description_long
string 
optional
Long description of position (expected MD formating)
candidate_expectations
string 
optional
Instructions for AI describing ideal candidate.
If not specified, AI will automatically generate interview expectations for you.
interview_type
enum<string> 
optional
Type of interview that would be generated
Allowed values:
pre-screeningpre-screening-with-test-questionssecond-interviewremote-freelancer-verification
location
string 
required
Provide location of the position, if it is remote, provide text "remote"
interview_attempts
integer 
optional
Maximum number of attempts
>= 1<= 10
cover_image_url
string 
optional
URL of the cover image
interview_template_id
string 
required
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.
knowledge_base_store_id
string 
optional
ID of the knowledge base with additional context for the avatar. ID is from table knowledge_base
status
enum<string> 
required
When value 'active' is provided, generated interview is automatically published
Allowed values:
draftactive
visibility
enum<string> 
required
Visibility of the interview
Allowed values:
merchant_publicmerchant_invitemerchant_unlisted
type
enum<string> 
required
If the record is interview or coaching session
Allowed values:
interviewcoaching
mojito_language_code
string 
required
Language code of the interview
recording
enum<string> 
optional
Type of candidate recording. If field is not provided, recording is not enabled
Allowed values:
audio_first_5_answersaudio_allvideo_allvideo_first_5_answers
questions
array [object {7}] 
required
id
string 
required
External ID for referencing questions between themselves
question
string 
required
Text of the question
duration
integer 
optional
Expected duration in seconds
is_conditional
boolean 
required
Is this main conditional question
mojito_language_code
string 
optional
Language code of the question. Only provide if this question is in different language compared to main interview
question_alternatives
array[string]
optional
Array of alternative questions. System will choose at random, which question to ask
conditional_question_main_id
string 
optional
ID of the main conditional question. Provide only if you want this question to be asked conditionally
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
interview_def_set_id
string 
required
ID of the generated interview
🟠422Invalid input
🔴500Server error
Modified at 2025-06-06 16:25:57
Previous
Create interview, using position data & candidate pre-screening
Next
Candidate request another interview attempt
Built with