Getting Started
This guide walks through integrating Proctorio into your learning platform from scratch.
Prerequisites
- A Proctorio API key (contact your account manager)
- An LMS or exam platform with URL-addressable exam pages
- HTTPS-enabled exam URLs (required for proctoring)
Integration Flow
The integration follows a simple pattern:
- Your platform sends a POST request to the Proctorio API with exam configuration
- Proctorio API returns a secure URL
- Your platform redirects the student to that URL
- Proctorio handles pre-checks, monitoring, and recording
- The exam ends when the student reaches the
exam_endURL pattern
URL Pattern Matching
Proctorio uses regex patterns to understand the exam lifecycle:
exam_start— Where the exam begins (the launch page)exam_take— Pages that are part of the exam (questions, navigation)exam_end— Where the exam has been submitted
Important: The
launch_urlvalue must match theexam_startpattern. All redirects between exam pages must match theexam_takepattern.
Single-Page Applications
For SPAs where the URL doesn't change between exam states, use the postMessage API:
// Transition to exam-taking state
window.top.postMessage(
["exam_state_change", "exam_take"],
"https://getproctorio.com"
);
// Exam completed
window.top.postMessage(
["exam_state_change", "exam_end"],
"https://getproctorio.com"
); When using postMessage, set the corresponding parameter value to "post_message_notification".
Exam Settings Quick Reference
| Setting | Purpose | Dependencies |
|---|---|---|
record_video | Record webcam | None |
record_audio | Record microphone | None |
record_screen | Record full desktop | None |
verify_video | Validate webcam | record_video |
verify_id | ID verification | record_video, verify_video (for level 2) |
full_screen | Force fullscreen | close_tabs, one_screen, tabs: 1 |
live_proctor | Real-time monitoring | record_video, verify_video |
Error Handling
All API errors return structured JSON. See the Error Handling guide for details.