Getting Started
Please note that webhooks will need to be set up via https://go.proctoru.com before being able to use them. Make sure to read the Terms & Conditions as well.
If you have any questions, please get in touch with our Engineering Team.
The Webhook system allows notification when certain events occur in the system.
- Every webhook notification contains an event data structure.
- Some webhook notifications always contain additional data.
- Additional information about the fulfillment or reservation can
be selected for some webhook notifications.
- cancellation
- exam
- reservation
- test_taker
- verification
Webhook data can be provided as:
- JSON data
- CSV Data
- Form Post
JSON Data
The JSON data is posted to the supplied endpoint with content_type = “application/json”
CSV Data
information as a CSV file is posted to the supplied endpoint with content_type = “text/csv”
Form Post
information as a CSV file is posted to the supplied endpoint with content_type = “application/x-www-form-urlencoded”
Authentication
Payload authentication
If an optional authentication secret is supplied with an webhook endpoint,
an X-ProctorU-Signature
header is supplied for validation.
This header is of the format:
X-ProctorU-Signature: sha1=f7000d3a2fd51f8f53d91e0085fae1423dfbab8e
Where the above hash is calculated by (OSX and Linux)
echo -n 'request body' | openssl dgst -sha1 -hmac "authentication secret"
The sha1=
prefix is always supplied.
This header can be used to detect malicious payloads sent to your endpoint.
Note: HTTP header names are case-insensitive, so the above header may
be presented to your application as x-proctoru-signature
, X-Proctoru-Signature
or some other capitalization.
Javascript
const CryptoJS = require("crypto-js");
const signature = req.headers['x-proctoru-signature'].split('=')[1];
const computed_signature = CryptoJS.HmacSHA1(JSON.parse(body), authentication_secret);
// expect signature == computed_signature
PHP
<?php
$signature = explode('=',$_SERVER['HTTP_X_PROCTORU_SIGNATURE'])[1];
$computed_signature = hash_hmac('sha1', body, authentication_secret);
# expect $signature == $computed_signature
Ruby
signature_key = request.headers.keys.grep(/x-proctoru-signature/i).first
signature = request.headers[signature_key].split('=').last
computed_signature = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha1'),
authentication_secret, body)
# expect signature == computed_signature
Examples
CSV with Event and TestTaker (with headers)
data_type, name, description, type,created_at,comment, links_show
"event", "String", "String", "fulfillment-created", "2017-05-25T17:27:46Z", "String", "URL"
data_type, first_name, last_name, email, username, student_id, links_show
"test_taker", "String", "String", "String", "String", "String", "URL"
CSV with Event and TestTaker (without headers)
"event", "String", "String", "fulfillment-created", "2017-05-25T17:27:46Z", "String", "URL"
"test_taker", "String", "String", "String", "String", "string", "URL"
JSON with Event and TestTaker
{
"content_type": "application/x-www-form-urlencoded",
"event": {
"name": String,
"description": String,
"type": "fulfillment-created",
"created_at": "2017-05-25T17:27:46Z",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Fulfillment Disconnected
Event Name: event-hard-disconnection
The Fulfillment Disconnected webhook is generated when the test-taker disconnects from their session for longer than 10 seconds or closes their recording tab.
{
"event": {
"name": String,
"description": String,
"type": "event-hard-disconnection",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Fulfillment Staled
Event Name: event-fulfillment-staled
The Fulfillment Staled webhook is generated when the test-taker does not pay for a session twenty-four hours after the session has been scheduled.
{
"event": {
"name": String,
"description": String,
"type": "event-fulfillment-staled",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Hard Disconnection
Event Name: event-hard-disconnection
The Hard Disconnection webhook is generated when the test-taker disconnects from their session for longer than 10 seconds or closes their recording tab.
{
"event": {
"name": String,
"description": String,
"type": "event-hard-disconnection",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Image
Event Name: event-image
The Image webhook is generated when the test-taker takes their picture during the identity verification pre-check.
{
"event": {
"name": String,
"description": String,
"type": "event-image",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Launch Exam Clicked
Event Name: event-launch-exam-clicked
The Launch Exam Clicked webhook is generated when the test-taker clicks the Launch Exam button.
{
"event": {
"name": String,
"description": String,
"type": "event-launch-exam-clicked",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Picked Up
Event Name: event-picked-up
The Picked Up webhook is generated when the test-taker has been picked up and connected to a proctor.
{
"event": {
"name": String,
"description": String,
"type": "event-picked-up",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Reservation Created
Event Name: event-reservation-created
The Reservation Created webhook is generated when a reservation is created for the test-taker. A reservation is not the appointment for the test-taker. It is the object that holds the appointments, called fulfillments, for the test-taker.
{
"event": {
"name": String,
"description": String,
"type": "event-reservation-created",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Room Scan
Event Name: event-room-scan
The Room Scan webhook is generated when the test-taker has performed their room scan for the proctor.
{
"event": {
"name": String,
"description": String,
"type": "event-room-scan",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Soft Disconnection Duration
Event Name: event-soft-disconnection-duration
The Soft Disconnection Duration webhook is generated everytime a user disconnects from their ProctorU session no matter the duration of time disconnected. Be warned this webhook can become very noisy if a test-taker’s connection causes multiple short session drops.
{
"event": {
"name": String,
"description": String,
"type": "event-soft-disconnection-duration",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
System Metrics Log
Event Name: event-system-metrics-log
The System Metrics Log webhook is generated when the test-taker’s system metrics are logged upon their connection, or reconnection, to the session.
{
"event": {
"name": String,
"description": String,
"type": "event-system-metrics-log",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Test-Taker Connected
Event Name: event-test-taker-connected
The Test-Taker Connected webhook is generated once the test-taker’s recorded session begins. A session begins after the test-taker agrees to ProctorU’s recorded session notice.
{
"event": {
"name": String,
"description": String,
"type": "event-test-taker-connected",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Admin Reservation Note
Event Name: event-admin-reservation-note
The Admin Reservation Note webhook is generated when a ProctorU Operations Manager leaves a note for the proctor specifically concerning the session or test-taker. An example is that an instructor allowed for the test-taker to have a specific accomodation like additional time.
{
"event": {
"name": String,
"description": String,
"type": "event-admin-reservation-note",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Browser Resized
Event Name: event-browser-resized
The Browser Resized webhook is generated when the test-taker’s browser is resized.
{
"event": {
"name": String,
"description": String,
"type": "event-browser-resized",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Browser Tabs Changed
Event Name: event-browser-tab
The Browser Tabs Changed webhook is generated when the tabs for the test-taker’s browser change.
{
"event": {
"name": String,
"description": String,
"type": "event-browser-tab",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Comment
Comment
Event Name: event-comment
The Comment webhook is generated when a proctor documents an event on the session.
{
"event": {
"name": String,
"description": String,
"type": "event-comment",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Copy Paste
Event Name: event-copy-paste
The Copy Paste webhook is generated when copy and/or paste by the test-taker is detected during the live stream.
{
"event": {
"name": String,
"description": String,
"type": "event-copy-paste",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Downloaded At
Downloaded At
Event Name: event-downloaded-at
The Downloaded At webhook is generated when the test-taker is attempting to connect to the proctor. The test-taker then clicks a link to download and run the LMI applet. We use this time to help calculate test-taker wait time.
{
"event": {
"name": String,
"description": String,
"type": "event-downloaded-at",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Escalated
Escalated
Event Name: event-escalated
The Escalated webhook is generated when the a proctor encounters an issue during the exam and the issue is something that will need outside assistance. For example, the assessment delivery system crashed mid-way and the assessment could not be started. The proctor would then escalate the session until the issue can be resolved and the test-taker may resume the assessment.
{
"event": {
"name": String,
"description": String,
"type": "event-escalated",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Escalation Case Opened
Escalation Case Opened
Event Name: event-escalation-case-opened
The Escalation Case Opened webhook is generated once an advocate starts to work on the escalated appointment.
{
"event": {
"name": String,
"description": String,
"type": "event-escalation-case-opened",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Escalation Needed Attention
Escalation Needed Attention
Event Name: event-escalation-needed-attention
The Escalation Needed Attention webhook is generated when an advocate reaches the end of their day and the case has not been closed. This flag lets other advocates know the case still needs work.
{
"event": {
"name": String,
"description": String,
"type": "event-escalation-needed-attention",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Escalation Rescheduled
Escalation Rescheduled
Event Name: event-escalation-rescheduled
The Escalation Rescheduled webhook is generated when an advocate reschedules an escalated appointment. The appointment is still considered escalated, and the advocate team will still watch the progress to ensure the test-taker completes the assessment without incident.
{
"event": {
"name": String,
"description": String,
"type": "event-escalation-rescheduled",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Escalation Resolved
Escalation Resolved
Event Name: event-escalation-resolved
The Escalation Resolved webhook is generated when the advocate determines the test-taker has been taken care of and no longer needs advocate assistance.
{
"event": {
"name": String,
"description": String,
"type": "event-escalation-resolved",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Flight Path
Flight Path
Event Name: event-flight-path
The Flight Path webhook is generated when a proctor completes assessment steps in the proctoring process (ie. The proctor reads specific instructions to the test-taker)
{
"event": {
"name": String,
"description": String,
"type": "event-flight-path",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Fulfillment Created
Fulfillment Created Webhook
Event Name: event-fulfillment-created
The Fulfillment Created webhook is generated when the test-taker creates their reservation.
{
"event": {
"name": String,
"description": String,
"type": "event-fulfillment-created",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Fulfillment Ended
Fulfillment Ended
Event Name: event-fulfillment-ended
The Fulfillment Ended webhook is generated when the proctor states the reservation has been completed.
{
"event": {
"name": String,
"description": String,
"type": "event-fulfillment-ended",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Fulfillment Rescheduled
Fulfillment Rescheduled
Event Name: event-fulfillment-rescheduled
The Fulfillment Rescheduled webhook is generated when the reservation is rescheduled for a different date and time.
{
"event": {
"name": String,
"description": String,
"type": "event-fulfillment-rescheduled",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Fulfillment Scheduled
Fulfillment Scheduled
Event Name: event-fulfillment-scheduled
The Fulfillment Scheduled webhook is generated when the test-taker or proctor schedules the reservation.
{
"event": {
"name": String,
"description": String,
"type": "event-fulfillment-scheduled",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Fulfillment Started
Fulfillment Started
Event Name: event-fulfillment-started
The Fulfillment Started webhook is generated when the proctor picks up the session and greets the test-taker.
{
"event": {
"name": String,
"description": String,
"type": "event-fulfillment-started",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
ID Confirmation
Id Confirmation
Event Name: event-id-confirmation
The ID Confirmation webhook is generated when the proctor verifies that the test-taker’s photo ID is valid.
{
"event": {
"name": String,
"description": String,
"type": "event-id-confirmation",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Incident
Incident
Event Name: event-incident
The Incident webhook is generated when the proctor observes and flags a session for aberrant behavior.
{
"event": {
"name": String,
"description": String,
"type": "event-incident",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Incident Report Processed
Event Name: event-incident-report-processed
The Incident Report Processed webhook is generated when the test-taker’s incident report has been processed by ProctorU.
{
"event": {
"name": String,
"description": String,
"type": "event-incident-report-processed",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Lost Focus
Event Name: event-lost-focus
The Lost Focus webhook is generated when the focus is lost from the test-taker’s browser.
{
"event": {
"name": String,
"description": String,
"type": "event-lost-focus",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Multiple Persons Identified
Event Name: event-multiple-persons-identified
The Multiple Persons Identified webhook is generated when multiple persons are identified in the live stream.
{
"event": {
"name": String,
"description": String,
"type": "event-multiple-persons-identified",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
No One In The Frame
Event Name: event-no-one-in-the-frame
The No One In The Frame webhook is generated when no person is recognized in the frame.
{
"event": {
"name": String,
"description": String,
"type": "event-no-one-in-the-frame",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Picture Confirmation
Picture Confirmation
Event Name: event-picture-confirmation
The Picture Confirmation webhook is generated when the proctor acknowledges that the test-taker photo is satisfactory.
{
"event": {
"name": String,
"description": String,
"type": "event-picture-confirmation",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Reservation Cancelled
Reservation Cancelled
Event Name: event-reservation-cancelled
The Reservation Cancelled webhook is generated when either the test-taker or the proctor cancels the reservation.
{
"event": {
"name": String,
"description": String,
"type": "event-reservation-cancelled",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"cancellation": {
"reason": "One of Cancellation Reasons",
"explanation": String,
"credit": "one of account, card, none, student or blank",
"created_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Reservation Confirmation
Reservation Confirmation
Event Name: event-reservation-confirmation
The Reservation Confirmation webhook is generated when the test-taker confirms their reservation after a ProctorU employee has scheduled it.
{
"event": {
"name": String,
"description": String,
"type": "event-reservation-confirmation",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Rules Confirmation
Rules Confirmation
Event Name: event-rules-confirmation
The Rules Confirmation webhook is generated when the proctor has delivered exam instructions the test-taker and test-taker has acknowledged that they recieved instructions.
{
"event": {
"name": String,
"description": String,
"type": "event-rules-confirmation",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
School Comment
School Comment
Event Name: event-school-comment
(Deprecated) The School Comment webhook is generated when an institutional user leaves a message on the appointment.
{
"event": {
"name": String,
"description": String,
"type": "event-school-comment",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
School Exam Note
School Exam Note
Event Name:
(Deprecated) The School Exam Note webhook is generated when an institutional level message is level on the assessment for the proctor to read.
{
"event": {
"name": String,
"description": String,
"type": "",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Screen
Screen
Event Name: event-screen
The Screen webhook is generated when the proctor takes a screenshot and posts it the the proctoring session for further review.
{
"event": {
"name": String,
"description": String,
"type": "event-screen",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Student Reservation Note
Student Reservation Note
Event Name: event-student-reservation-note
The Student Reservation Note webhook is generated when the test-taker leaves a message or asks the proctor a question.
{
"event": {
"name": String,
"description": String,
"type": "event-student-reservation-note",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Survey Completed
Event Name: event-survey-completed
The Survey Completed webhook is generated when a test taker completes a survey after a proctoring session
{
"event": {
"name": String,
"description": String,
"type": "event-survey-completed",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"survey_results": [
{
"question": "Were you satisfied with your experience with Proctor (1-5)",
"answer": "5"
},
{
"question": "Please Rate your proctor (1-5)",
"answer": "5"
},
{
"question": "What did you like about ProctorU?",
"answer": "The proctor was exceptionally kind and helpful"
},
{
"question": "What did you not like about ProctorU?",
"answer": ""
},
{
"question": "Additional comments?",
"answer": "My proctor, Kim, was great."
}
]
}
System Metrics Log
Event Name: event-system-metrics-log
The System Metrics Log webhook is generated when the test-taker’s system metrics are logged upon their connection, or reconnection, to the session.
{
"event": {
"name": String,
"description": String,
"type": "event-system-metrics-log",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
}
}
Touch Point
Touch Point
Event Name: event-touch-point
The Touch Point webhook is generated when the proctor engages the test-taker for any particular reason. For example, the proctor informed the test-taker that notes were not allowed during the assessment.
{
"event": {
"name": String,
"description": String,
"type": "event-touch-point",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"touch_point": {
"kind": "See Touch Point Kinds",
"links": {
"show": "URL"
}
}
}
Transfer
Transfer
Event Name: event-transfer
The Transfer webhook is generated when the proctor transfers the session to another proctor to watch.
{
"event": {
"name": String,
"description": String,
"type": "event-transfer",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Unlock Exam
Unlock Exam
Event Name: event-unlock-exam
The Unlock Exam webhook is generated when a proctor unlocks the exam from our test delivery providers. This webhook event is not generated with un-integrated test delivery providers.
{
"event": {
"name": String,
"description": String,
"type": "event-unlock-exam",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Verification Failed
Verification Failed
Event Name: event-verification-failed
The Verification Failed webhook is generated when a test-taker fails a verification (ie. keystroke, challenge questions, voice, etc).
{
"event": {
"name": String,
"description": String,
"type": "event-verification-failed",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"verification": {
"type": "One of Enrollment or Fulfillment",
"status": "One of failed, passed, pending, skipped, unavailable",
"max_attempts": Integer,
"attempts": Integer,
"score": Float,
"created_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Verification Passed
Verification Passed
Event Name: event-verification-passed
The Verification Passed webhook is generated when a test-taker passes a verification (ie. keystroke, challenge questions, voice, etc).
{
"event": {
"name": String,
"description": String,
"type": "event-verification-passed",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"verification": {
"type": "One of Enrollment or Fulfillment",
"status": "One of failed, passed, pending, skipped, unavailable",
"max_attempts": Integer,
"attempts": Integer,
"score": Float,
"created_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Verification Retried
Verification Retried
Event Name: event-verification-retried
The Verification Retried webhook is generated is generated when the proctor allows the test-taker to retry a verification type (ie. keystroke, challenge questions, etc).
{
"event": {
"name": String,
"description": String,
"type": "event-verification-retried",
"created_at": "iso8601 DateTime",
"event_specific_data": "String",
"comment": String,
"links": {
"show": "URL"
}
},
"test_taker": {
"first_name": String,
"last_name": String,
"email": String,
"username": String,
"student_id": String,
"links": {
"show": "URL"
}
},
"exam": {
"name": String,
"id": "exam-uuid",
"course_number": String,
"term": String,
"department": String,
"links": {
"show": "URL"
}
},
"reservation": {
"status": "String Fulfillment Statuses above",
"campus_name": String,
"id": "reservation-uuid",
"number": Integer,
"external_id": String,
"starts_at": "iso8601 DateTime",
"ends_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
},
"verification": {
"type": "One of Enrollment or Fulfillment",
"status": "One of failed, passed, pending, skipped, unavailable",
"max_attempts": Integer,
"attempts": Integer,
"score": Float,
"created_at": "iso8601 DateTime",
"links": {
"show": "URL"
}
}
}
Cancellation Reasons
Cancellation Reasons
- Cancellation through API or cancellation from legacy import.
- No Show
- Tech- Cam not working
- Tech- Other
- Student Unprepared
- Tech- internet connection prob
- LMS Malfunction
- LMS- password not working
- LMS- exam not showing
- LMS- kicked out of exam
- Tech- LMI won’t connect
- Duplicate Appointment
- Test/Demo Appointment
- Administrator Demo
- Mock Start
- Help Desk Review
- Training
- Tech- Audio not working
- Tech- CPU/RAM too slow
- Tech- Browser Issues
- Advance Cancellation
- Administration Override
Event Names
Event Names
- event-admin-reservation-note
- escalation-browser-tabs-changed
- event-comment
- event-copy-paste
- event-downloaded-at
- event-escalated
- event-escalation-case-opened
- event-escalation-needed-attention
- event-escalation-rescheduled
- event-escalation-resolved
- event-flight-path
- event-fulfillment-created
- event-fulfillment-ended
- event-fulfillment-rescheduled
- event-fulfillment-scheduled
- event-fulfillment-started
- event-id-confirmation
- event-incident
- event-incident-report-processed
- event-lost-focus
- event multiple-persons-identified
- event no-one-in-the-frame
- event-picture-confirmation
- event-reservation-cancelled
- event-reservation-confirmation
- event-room-scan
- event-rules-confirmation
- event-school-comment
- event-school-exam-note
- event-screen
- event-soft-disconnection-duration
- event-student-reservation-note
- event-system-metrics-log
- event-test-taker-connected
- event-touch-point
- event-transfer
- event-unlock-exam
- event-verification-failed
- event-verification-passed
- event-verification-retried
Fulfillment Statuses
Fulfillment Statuses
- pending
- fulfilled
- cancelled
- scheduled
- voided
- stale
- rescheduled