Interview
Create a new interview (custom questions)
This endpoint creates a new interview with only custom questions, returns a unique interview ID and a corresponding interview URL. You can send this URL to candidates, add it to a job post or alternatively, use the invite candidate endpoint to send invitations for the interview.
POST
/
custom
/
interview
Create a new interview (custom questions)
curl --request POST \
--url https://public.api.micro1.ai/custom/interview \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"interview_name": "Candidate Screening Interview",
"custom_question_list": [
{
"question": "What are your strengths and weaknesses?",
"time": 2,
"type": "audio"
}
],
"interview_language": "en",
"can_change_interview_language": false,
"is_proctoring_required": true
}
'import requests
url = "https://public.api.micro1.ai/custom/interview"
payload = {
"interview_name": "Candidate Screening Interview",
"custom_question_list": [
{
"question": "What are your strengths and weaknesses?",
"time": 2,
"type": "audio"
}
],
"interview_language": "en",
"can_change_interview_language": False,
"is_proctoring_required": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
interview_name: 'Candidate Screening Interview',
custom_question_list: [{question: 'What are your strengths and weaknesses?', time: 2, type: 'audio'}],
interview_language: 'en',
can_change_interview_language: false,
is_proctoring_required: true
})
};
fetch('https://public.api.micro1.ai/custom/interview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://public.api.micro1.ai/custom/interview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'interview_name' => 'Candidate Screening Interview',
'custom_question_list' => [
[
'question' => 'What are your strengths and weaknesses?',
'time' => 2,
'type' => 'audio'
]
],
'interview_language' => 'en',
'can_change_interview_language' => false,
'is_proctoring_required' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://public.api.micro1.ai/custom/interview"
payload := strings.NewReader("{\n \"interview_name\": \"Candidate Screening Interview\",\n \"custom_question_list\": [\n {\n \"question\": \"What are your strengths and weaknesses?\",\n \"time\": 2,\n \"type\": \"audio\"\n }\n ],\n \"interview_language\": \"en\",\n \"can_change_interview_language\": false,\n \"is_proctoring_required\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://public.api.micro1.ai/custom/interview")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"interview_name\": \"Candidate Screening Interview\",\n \"custom_question_list\": [\n {\n \"question\": \"What are your strengths and weaknesses?\",\n \"time\": 2,\n \"type\": \"audio\"\n }\n ],\n \"interview_language\": \"en\",\n \"can_change_interview_language\": false,\n \"is_proctoring_required\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.micro1.ai/custom/interview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"interview_name\": \"Candidate Screening Interview\",\n \"custom_question_list\": [\n {\n \"question\": \"What are your strengths and weaknesses?\",\n \"time\": 2,\n \"type\": \"audio\"\n }\n ],\n \"interview_language\": \"en\",\n \"can_change_interview_language\": false,\n \"is_proctoring_required\": true\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Interview created successfully",
"data": {
"interview_id": "123e4567-e89b-12d3-a456-426614174000",
"invite_url": "https://interview.micro1.ai/intro/micro1?uid=123e4567-e89b-12d3-a456-426614174000"
}
}{
"status": false,
"message": "Invalid request"
}{
"status": false
}Authorizations
API key to access the API
Body
application/json
Request body to create an interview
Request to create an interview with only custom questions
Name of the interview
Example:
"Candidate Screening Interview"
Custom questions for the interview (max 20)
Show child attributes
Show child attributes
Example:
[
{
"question": "What are your strengths and weaknesses?",
"time": 2,
"type": "audio"
}
]
The language in which the AI interview will be conducted
Available options:
en, fr, de, he, hi, pt, es, es-la, tr, ja, sv, ar, pl, dk, kr, it, nl, cz, ua, ur, id, en-GB, es-MX, cn, zh-CN, zh-TW, zh-HK, ru, bn, ms, pt-BR, vi, tl, th, afb, pt-PT Example:
"en"
Whether the candidate can change the language
Whether the proctoring is required
⌘I
Create a new interview (custom questions)
curl --request POST \
--url https://public.api.micro1.ai/custom/interview \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"interview_name": "Candidate Screening Interview",
"custom_question_list": [
{
"question": "What are your strengths and weaknesses?",
"time": 2,
"type": "audio"
}
],
"interview_language": "en",
"can_change_interview_language": false,
"is_proctoring_required": true
}
'import requests
url = "https://public.api.micro1.ai/custom/interview"
payload = {
"interview_name": "Candidate Screening Interview",
"custom_question_list": [
{
"question": "What are your strengths and weaknesses?",
"time": 2,
"type": "audio"
}
],
"interview_language": "en",
"can_change_interview_language": False,
"is_proctoring_required": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
interview_name: 'Candidate Screening Interview',
custom_question_list: [{question: 'What are your strengths and weaknesses?', time: 2, type: 'audio'}],
interview_language: 'en',
can_change_interview_language: false,
is_proctoring_required: true
})
};
fetch('https://public.api.micro1.ai/custom/interview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://public.api.micro1.ai/custom/interview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'interview_name' => 'Candidate Screening Interview',
'custom_question_list' => [
[
'question' => 'What are your strengths and weaknesses?',
'time' => 2,
'type' => 'audio'
]
],
'interview_language' => 'en',
'can_change_interview_language' => false,
'is_proctoring_required' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://public.api.micro1.ai/custom/interview"
payload := strings.NewReader("{\n \"interview_name\": \"Candidate Screening Interview\",\n \"custom_question_list\": [\n {\n \"question\": \"What are your strengths and weaknesses?\",\n \"time\": 2,\n \"type\": \"audio\"\n }\n ],\n \"interview_language\": \"en\",\n \"can_change_interview_language\": false,\n \"is_proctoring_required\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://public.api.micro1.ai/custom/interview")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"interview_name\": \"Candidate Screening Interview\",\n \"custom_question_list\": [\n {\n \"question\": \"What are your strengths and weaknesses?\",\n \"time\": 2,\n \"type\": \"audio\"\n }\n ],\n \"interview_language\": \"en\",\n \"can_change_interview_language\": false,\n \"is_proctoring_required\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.micro1.ai/custom/interview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"interview_name\": \"Candidate Screening Interview\",\n \"custom_question_list\": [\n {\n \"question\": \"What are your strengths and weaknesses?\",\n \"time\": 2,\n \"type\": \"audio\"\n }\n ],\n \"interview_language\": \"en\",\n \"can_change_interview_language\": false,\n \"is_proctoring_required\": true\n}"
response = http.request(request)
puts response.read_body{
"status": true,
"message": "Interview created successfully",
"data": {
"interview_id": "123e4567-e89b-12d3-a456-426614174000",
"invite_url": "https://interview.micro1.ai/intro/micro1?uid=123e4567-e89b-12d3-a456-426614174000"
}
}{
"status": false,
"message": "Invalid request"
}{
"status": false
}