Skip to main content
The Proview SDK composed of the following modules:
  • root: the global module that exposes initialization, global configuration, and other cross-cutting or non‑module-specific features.
  • session: the module that manages proctored session lifecycle operations such as register, start, stop, and complete.

Global Module:

init

The Proview root module is added via a loader script or imported. Proview becomes usable only after initialization using Proview.session.init(initOptions). The options parameter is a configuration object . Function Type: Synchronous
Only when the Proview root module is initialized, other features and modules are accessible.

onError

Register a global error handler to receive notifications whenever the SDK encounters an error or warning. Proview supports only a single handler — registering a new handler replaces the previously registered one. Function Type: Asynchronous
Input: A function that receives an error object as parameter describing the problem and returns void. Any error in error handler will be logged in console but not be escalated.

getLanguages

Get all supported language codes. Language code in BCP‑47 format (examples: “en”, “en-US”, “fr”, “fr-CA”). The language subtag typically follows ISO 639-1 (e.g., “en”), and the optional region subtag follows ISO 3166-1 Alpha-2 (e.g., “US”). Function Type: Synchronous

setLanguage

Set the SDK’s language/locale used for localization (UI text, formatting hints, etc.). Accepts a language tag in BCP‑47 format (examples: “en”, “en-US”, “fr”, “fr-CA”). The language subtag typically follows ISO 639-1 (e.g., “en”), and the optional region subtag follows ISO 3166-1 Alpha-2 (e.g., “US”). Fallback rules
  • If the provided language tag is supported, the SDK applies it and returns the applied tag.
  • If the provided dialect/region is not supported but the base language is, the SDK falls back to an available variant for that language (for example, “en-GB” → “en”).
  • If the provided language is not supported at all, the SDK attempts to fall back to the browser default locale (if available).
  • If no suitable browser default is available, the SDK falls back to English (“en”).
  • The function updates the SDK’s language setting immediately and returns the effective language code.
Function Type: Synchronous
Input: language code

getAttendee

Retrieve current attendee attributes. Function Type: Synchronous

getWorkflow

Retrieve the current workflow attributes used by the SDK.
  • Call this after the Proview root module has been initialized and any workflow has been configured or loaded.
  • If no workflow is set, the function may return null or undefined — handle that case in your code.
Function Type: Synchronous

getLocale

Returns the SDK’s current locale as an object with language, timezone, and currency. The timezone and currency fields are used only for scheduling- and payment-related features which will be supported in furture. Function Type: Synchronous

getVersion

Return the SDK’s current version string. The SDK follows Semantic Versioning: Major,Minor,Patch. If you only need the version after initialization, call it after Proview.session.init. Function Type: Synchronous Output: string (Semantic Versioning, e.g. “1.2.3”).

Session Module

getState

Return the current state of the proctoring session. Function Type: Synchronous
Its of type enum which contains following values.
  • INITIALISED
  • ONBOARDING_IN_PROGRESS
  • MONITORING_IN_PROGRESS
  • PAUSED
  • SUSPENDED
  • STOPPED
  • COMPLETED
  • TERMINATED

register

Register attendee and workflow with the backend.You can optionally call register beforehand to optimize the workflow and improve overall process performance. Function Type: Asynchronous

start

Begin the proctoring session for the configured attendee and workflow. This starts whatever proctoring mode was requested (for example, recorded or live).
  • The Proview root module must be initialized.
  • Either an attendee (or attendee identifier) and workflow (or workflow identifier) must be set or the session must already be in registered state. If required identifiers are missing, the call will fail.
  • If register is not called beforehand, it will be executed as part of the start process.
Function Type: Asynchronous

stop

Stop the currently active proctoring session. If no session is active, the call will fail with an error.
  • Attempts to stop the active session on the server and update the SDK’s session state (“stopped”).
  • If no session is currently active, the call rejects or returns an error indicating that there is no session to stop.
  • Perform any necessary cleanup or finalization needed (stop recording, flush artifacts, etc.) as part of stopping the session.
Function Type: Asynchronous

complete

Mark the current proctoring session as completed. Completion is an end state — Session that are not in end state can be marked as completed, completed sessions cannot be restarted or resumed for proctoring
  • Transitions the session to the “completed” state on the server and updates the SDK state locally.
  • Once completed, the session is final and cannot be started or resumed.
    • If the session is scheduled then it will be auto completed at the session end time + buffer time
  • The call should be idempotent: repeated attempts to complete an already-completed session should either succeed silently.
  • Perform any finalization needed (e.g., flush pending artifacts, stop recordings) before calling complete to ensure all data is preserved and release device connection and access.
Function Type: Asynchronous

pause

This will allow application to pause running proctored session. Function Type: Asynchronous Input: reason a string value, Void function that takes Session State, uuid (Proview session unique ID) and Error as parameter.
Session State is of type enum which contains following values.
  • INITIALISED
  • ONBOARDING_IN_PROGRESS
  • MONITORING_IN_PROGRESS
  • PAUSED
  • SUSPENDED
  • STOPPED
  • COMPLETED
  • TERMINATED

resume

This will allow application to resume a paused proctored session. Function Type: Asynchronous Input: reason a string value, Void function that takes Session State Output, uuid (Proview session unique ID) and Error as parameter.
Session State is of type enum which contains following values.
  • INITIALISED
  • ONBOARDING_IN_PROGRESS
  • MONITORING_IN_PROGRESS
  • PAUSED
  • SUSPENDED
  • STOPPED
  • COMPLETED
  • TERMINATED
Client Usage (Function):

Session Hooks

Session hooks allow you to register event listeners that get triggered when specific session state changes occur. Use the simple Proview.session.on() syntax to listen for events.

Pause

Triggered when a proctoring session is paused.
Session State enum values:
  • INITIALISED - Session initialized
  • ONBOARDING_IN_PROGRESS - Onboarding in progress
  • MONITORING_IN_PROGRESS - Monitoring in progress
  • PAUSED - Session paused
  • SUSPENDED - Session suspended
  • STOPPED - Session stopped
  • COMPLETED - Session completed
  • TERMINATED - Session terminated

Resume

Triggered when a paused proctoring session is resumed.
Session State enum values:
  • INITIALISED - Session initialized
  • ONBOARDING_IN_PROGRESS - Onboarding in progress
  • MONITORING_IN_PROGRESS - Monitoring in progress
  • PAUSED - Session paused
  • SUSPENDED - Session suspended
  • STOPPED - Session stopped
  • COMPLETED - Session completed
  • TERMINATED - Session terminated

Suspend

Triggered when a proctoring session is suspended due to violations or technical issues.
Session State enum values:
  • INITIALISED - Session initialized
  • ONBOARDING_IN_PROGRESS - Onboarding in progress
  • MONITORING_IN_PROGRESS - Monitoring in progress
  • PAUSED - Session paused
  • SUSPENDED - Session suspended
  • STOPPED - Session stopped
  • COMPLETED - Session completed
  • TERMINATED - Session terminated

Terminate

Triggered when a proctoring session is terminated.
Session State enum values:
  • INITIALISED - Session initialized
  • ONBOARDING_IN_PROGRESS - Onboarding in progress
  • MONITORING_IN_PROGRESS - Monitoring in progress
  • PAUSED - Session paused
  • SUSPENDED - Session suspended
  • STOPPED - Session stopped
  • COMPLETED - Session completed
  • TERMINATED - Session terminated

StateChange

Triggered whenever the session state changes.
Session State enum values:
  • INITIALISED - Session initialized
  • ONBOARDING_IN_PROGRESS - Onboarding in progress
  • MONITORING_IN_PROGRESS - Monitoring in progress
  • PAUSED - Session paused
  • SUSPENDED - Session suspended
  • STOPPED - Session stopped
  • COMPLETED - Session completed
  • TERMINATED - Session terminated

NetworkStatusChanged

Use this hook to react whenever the candidate’s device goes offline or comes back online. The payload includes the normalized network status, so you can surface diagnostics or pause downstream uploads.
  • Emitted on every browser online/offline transition detected by Proview.
  • Invalid or missing payloads automatically normalize to { status: 'offline' }.

StreamingStatusChanged

Listen for changes in the underlying media streaming connection (different from coarse session states). This hook fires as the media pipeline connects, reconnects, or disconnects so that you can show precise UI copy or log telemetry.
  • Events are emitted from the live room lifecycle (connected, disconnected, reconnecting, reconnected).
  • Payloads missing a status field normalize to { status: 'disconnected' }.

Removing Event Listeners

Use the off method to remove event listeners:
Session State enum values:
  • INITIALISED - Session initialized
  • ONBOARDING_IN_PROGRESS - Onboarding in progress
  • MONITORING_IN_PROGRESS - Monitoring in progress
  • PAUSED - Session paused
  • SUSPENDED - Session suspended
  • STOPPED - Session stopped
  • COMPLETED - Session completed
  • TERMINATED - Session terminated