Issue Screen
curl --request POST \
--url https://api.ropes.ai/api/public/assessments \
--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"
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', 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",
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"
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")
.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")
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>"
}{
"error": "<string>",
"message": "<string>"
}Screens
Issue Screen
Issue a technical screen or video screen for a candidate. The problem type is inferred from problemId.
POST
/
api
/
public
/
assessments
Issue Screen
curl --request POST \
--url https://api.ropes.ai/api/public/assessments \
--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"
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', 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",
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"
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")
.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")
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>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
Body
application/json
The identifier of the candidate
The identifier of the technical screen or video screen to assign, as returned by the problems endpoints
Email address of the screen submitter (optional)
Whether to send an email notification to the candidate
Whether to bypass ID verification checks
Whether this screen 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