The parameters transmitted on starting a proctored exam are described in the table below.
Mandatory parameters are marked with *.
| Parameter group | Field | Type | Max. length | Description |
|---|---|---|---|---|
| User parameters | userId* | string | 255 | User ID in the client’s system (it can be an employee number or GUID). It must be unique for every user. |
| string | — | User email address in the client system. | ||
| lastName | string | 255 | User last name. | |
| firstName | string | 255 | User first name. | |
| thirdName | string | 255 | User middle name or patronymic. | |
| language | string (enum) | 2 | 2-character language code from ISO 639-1. Ask your integration manager at Constructor to specify the available languages and activate the ones you are planning to use. | |
| Organization / company parameters | accountId* | string | 255 | Company ID in the client’s system. Different accountIds are necessary if the LMS is used by several organizations or departments that you need to distinguish and restrict access between. |
| accountName* | string | 255 | Company name in the client’s system. | |
| Exam parameters | courseName | string | 450 | Course name, if the exam belongs to this course. |
| examId* | string | 255 | Exam ID (test ID in the system, preferably GUID). | |
| examName* | string | 500 | Exam name. | |
| userAgreementUrl | string (URL) | 200 | A link to a document containing the exam regulations that will be displayed right before the exam starts. | |
| duration* | int | — | Exam duration in minutes. | |
| schedule* | boolean | — | Parameter specifying whether the user needs to sign up for the exam in the calendar. | |
| proctoring* | string (enum) | — | Proctoring mode: • online — real-time proctor • offline — post-review mode • auto — automatic AI conclusion | |
| startDate* | string (datetime) | — | Date and time marking the start of the test (ISO 8601). Must explicitly include a time offset or use UTC format. If the exam is unscheduled, this parameter is set individually for each proctoring session. | |
| endDate* | string (datetime) | — | Date and time marking the end of the test (UTC, ISO 8601). If the exam is unscheduled, this parameter is set individually for each proctoring session. | |
| allowMultipleDisplays | boolean | — | Whether an additional monitor is allowed. Default: false. | |
| allowVirtualEnvironment | boolean | — | Whether a virtual environment is allowed. Default: false. | |
| auxiliaryCamera | boolean | — | Enable an additional smartphone camera during the exam. | |
| auxiliaryCameraMode | string (enum) | — | Mode of the second camera: • photo — takes a photo every 30 seconds • video — records continuous video | |
| allowMakingRoomScanSecondCamera | boolean | — | Whether the auxiliary camera can be used for room scan. Default: false. | |
| calculator | string (enum) | — | Calculator mode: • off — calculator disabled • simple — only basic arithmetic • scientific — advanced operations | |
| checkIdPhotoQuality | boolean | — | Whether automatic document quality check is required (true). Default: false. | |
| desktopAppForbiddenProcesses | JSON | — | A list of forbidden processes. An empty list means no blocked processes. Default: preset list. | |
| desktopAppAllowedProcesses | JSON | — | A list of allowed processes. An empty list means no allowed processes. Default: empty. | |
| identification | string (enum) | — | The identification mode: • passport • face • face_and_passport • skip | |
| proctorEmails | JSON | — | Assigns specific proctors to an exam (available only in Live review mode). | |
| rules | JSON parameters | — | Exam rules. | |
| scoreConfig | JSON | — | Score calculation parameters. | |
| trial | boolean | — | Indicates whether the exam is a trial. Trial exams are not listed in the archive. Default: false. | |
| visibleWarnings | JSON | — | Warning display options. | |
| webCameraMainView | string (enum) | — | Main webcam location: • front — front camera • side — side camera | |
| streamsPreset | string (enum) | — | Recording mode: • default — webcam + desktop + optional second camera • no_video — for Secure Browser (high security) • no_ai_detection — full recording, no AI processing | |
| sendManualWarningsToLearner | boolean | — | Whether warnings added by a live proctor are shown to the learner. Default: true. | |
| shortName | string | 255 | Course code or short name. | |
| Session parameters | sessionId* | string | 230 | Session ID (preferably GUID). Must be unique within the system. |
| sessionUrl* | string (URL) | 2550 | Link to the exam in the LMS. | |
| reviewUrl | string (URL) | 600 | The URL where the proctoring result will be sent. Overrides review_url for the session. | |
| sessionFinishUrl | string (URL) | 2550 | The URL of the page to redirect the test taker to after the exam. Can also be passed at the end of the session. | |
| special_accommodations_info | string | 500 | Indicates whether the learner requires special accommodations. | |
| Environment parameters | secureBrowser | boolean | — | Indicates whether to open the exam in a lockdown browser. The specific browser must be chosen in advance. |
| secureBrowserLevel | string (enum) | — | Secure Browser mode: • basic • medium • high | |
| preliminaryCheck | JSON | — | Preliminary check parameters used for examinee identification before the exam. |
It is possible to change the parameters of a user or an exam in Constructor Proctor after they have been created.
To do this, pass the same user, exam, and session ID as before, with updated parameter values.
For example, you can change the duration and rules of an exam, or the language of a user.
Constructor Proctor creates or updates a user, authorizes them, and creates a proctoring session.
After that, the test taker starts a proctoring session, passes identification and connection checks, and—if successful—is redirected to the test URL provided in sessionUrl.
If the user disconnects or experiences technical issues during the session, they can return to the exam using the same start link for 5–15 minutes, depending on the timeout set on the Constructor Proctor server.
If disconnected for too long, the session will close automatically, and the user will need a new link with a new sessionId.