Launchpad
https://us1.proctorapi.comBody
The Proctor request to create a Proctor Launchpad URL.
^[a-zA-Z0-9-]*$.Roster endpoint URL. Http Method: GET. The response should be a JSON stringified array. For example: '[["id1","name1"],["id2","name2"]]'
The "id" value should correspond to the "userId" parameter, be unique to the Candidate, and non-repeatable within the roster.
The roster endpoint is validated by Proctorio, so that means that if an invalid endpoint is provided or if "userId" doesn't match any "id" value inside the array, the attempts will be marked as "Unmatched" in the Review Center.
The roster_url is only fetched by the end user accessing the Review Center or the Exam Agreement page, client-side, not by Proctorio directly. That means that it can be secured with the session for that particular user. This is intentional, and as such there is no need for the PII to be passed to Proctorio at any point, whether that be a Candidate Launch request or a Reviewer Launch request.
1, Maximum value is 3600.Responses200application/jsonIndicates success and returns a Proctor Launchpad URL.
400application/jsonIndicates bad request.
401application/jsonIndicates unauthorized response.
2154 - Account not active.
2155 - Incorrect region.
2655 - Invalid api_key.
Indicates success and returns a Proctor Launchpad URL.
Indicates bad request.
Indicates unauthorized response.
2154 - Account not active.
2155 - Incorrect region.
2655 - Invalid api_key.
curl --request POST \
--url https://us1.proctorapi.com/v2/live/launchpad \
--header 'Content-Type: application/json' \
--header 'api_key: $API_KEY' \
--data '{"user_id":"example-id-123","exam_roster":"https://example.com/exam"}' import requests
url = "https://us1.proctorapi.com/v2/live/launchpad"
payload = {
"user_id": "example-id-123",
"exam_roster": "https://example.com/exam"
}
headers = {
"api_key": "$API_KEY",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json()) const fetch = require('node-fetch');
const url = 'https://us1.proctorapi.com/v2/live/launchpad';
const options = {
method: 'POST',
headers: {api_key: '$API_KEY', 'Content-Type': 'application/json'},
body: '{"user_id":"example-id-123","exam_roster":"https://example.com/exam"}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
} using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://us1.proctorapi.com/v2/live/launchpad"),
Headers =
{
{ "api_key", "$API_KEY" },
},
Content = new StringContent("{\"user_id\":\"example-id-123\",\"exam_roster\":\"https://example.com/exam\"}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
} {
"user_id": "example-id-123",
"exam_roster": "https://example.com/exam"
}