Issue Assessment
curl --request POST \
--url https://api.ropes.ai/api/public/assessments/new \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"candidateIdentifier": "<string>",
"problemId": "<string>",
"submitterEmail": "jsmith@example.com",
"shouldSendEmail": true,
"bypassIDCheck": false,
"isSelfServe": true,
"inviteEmailLocale": "en"
}
'import requests
url = "https://api.ropes.ai/api/public/assessments/new"
payload = {
"candidateIdentifier": "<string>",
"problemId": "<string>",
"submitterEmail": "jsmith@example.com",
"shouldSendEmail": True,
"bypassIDCheck": False,
"isSelfServe": True,
"inviteEmailLocale": "en"
}
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({
candidateIdentifier: '<string>',
problemId: '<string>',
submitterEmail: 'jsmith@example.com',
shouldSendEmail: true,
bypassIDCheck: false,
isSelfServe: true,
inviteEmailLocale: 'en'
})
};
fetch('https://api.ropes.ai/api/public/assessments/new', 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://api.ropes.ai/api/public/assessments/new",
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([
'candidateIdentifier' => '<string>',
'problemId' => '<string>',
'submitterEmail' => 'jsmith@example.com',
'shouldSendEmail' => true,
'bypassIDCheck' => false,
'isSelfServe' => true,
'inviteEmailLocale' => 'en'
]),
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://api.ropes.ai/api/public/assessments/new"
payload := strings.NewReader("{\n \"candidateIdentifier\": \"<string>\",\n \"problemId\": \"<string>\",\n \"submitterEmail\": \"jsmith@example.com\",\n \"shouldSendEmail\": true,\n \"bypassIDCheck\": false,\n \"isSelfServe\": true,\n \"inviteEmailLocale\": \"en\"\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://api.ropes.ai/api/public/assessments/new")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"candidateIdentifier\": \"<string>\",\n \"problemId\": \"<string>\",\n \"submitterEmail\": \"jsmith@example.com\",\n \"shouldSendEmail\": true,\n \"bypassIDCheck\": false,\n \"isSelfServe\": true,\n \"inviteEmailLocale\": \"en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ropes.ai/api/public/assessments/new")
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 \"candidateIdentifier\": \"<string>\",\n \"problemId\": \"<string>\",\n \"submitterEmail\": \"jsmith@example.com\",\n \"shouldSendEmail\": true,\n \"bypassIDCheck\": false,\n \"isSelfServe\": true,\n \"inviteEmailLocale\": \"en\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"identifier": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"success": false,
"errorCode": "INTERVIEW_ALREADY_EXISTS",
"message": "<string>",
"identifier": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Assessments
Issue Assessment
Issue a technical assessment or video screening for a candidate. The problem type is inferred from problemId.
POST
/
api
/
public
/
assessments
/
new
Issue Assessment
curl --request POST \
--url https://api.ropes.ai/api/public/assessments/new \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"candidateIdentifier": "<string>",
"problemId": "<string>",
"submitterEmail": "jsmith@example.com",
"shouldSendEmail": true,
"bypassIDCheck": false,
"isSelfServe": true,
"inviteEmailLocale": "en"
}
'import requests
url = "https://api.ropes.ai/api/public/assessments/new"
payload = {
"candidateIdentifier": "<string>",
"problemId": "<string>",
"submitterEmail": "jsmith@example.com",
"shouldSendEmail": True,
"bypassIDCheck": False,
"isSelfServe": True,
"inviteEmailLocale": "en"
}
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({
candidateIdentifier: '<string>',
problemId: '<string>',
submitterEmail: 'jsmith@example.com',
shouldSendEmail: true,
bypassIDCheck: false,
isSelfServe: true,
inviteEmailLocale: 'en'
})
};
fetch('https://api.ropes.ai/api/public/assessments/new', 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://api.ropes.ai/api/public/assessments/new",
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([
'candidateIdentifier' => '<string>',
'problemId' => '<string>',
'submitterEmail' => 'jsmith@example.com',
'shouldSendEmail' => true,
'bypassIDCheck' => false,
'isSelfServe' => true,
'inviteEmailLocale' => 'en'
]),
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://api.ropes.ai/api/public/assessments/new"
payload := strings.NewReader("{\n \"candidateIdentifier\": \"<string>\",\n \"problemId\": \"<string>\",\n \"submitterEmail\": \"jsmith@example.com\",\n \"shouldSendEmail\": true,\n \"bypassIDCheck\": false,\n \"isSelfServe\": true,\n \"inviteEmailLocale\": \"en\"\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://api.ropes.ai/api/public/assessments/new")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"candidateIdentifier\": \"<string>\",\n \"problemId\": \"<string>\",\n \"submitterEmail\": \"jsmith@example.com\",\n \"shouldSendEmail\": true,\n \"bypassIDCheck\": false,\n \"isSelfServe\": true,\n \"inviteEmailLocale\": \"en\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ropes.ai/api/public/assessments/new")
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 \"candidateIdentifier\": \"<string>\",\n \"problemId\": \"<string>\",\n \"submitterEmail\": \"jsmith@example.com\",\n \"shouldSendEmail\": true,\n \"bypassIDCheck\": false,\n \"isSelfServe\": true,\n \"inviteEmailLocale\": \"en\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"identifier": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"success": false,
"errorCode": "INTERVIEW_ALREADY_EXISTS",
"message": "<string>",
"identifier": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
Body
application/json
The identifier of the candidate
The identifier of the technical assessment or video screen to assign, as returned by the problems endpoints
Email address of the assessment submitter (optional)
Whether to send an email notification to the candidate
Whether to bypass ID verification checks
Whether this assessment was created via the self-serve flow
Language for the invite email. Only takes effect when the problem supports that spoken locale; otherwise English is used.
Available options:
en, fr ⌘I