WebSDK messages
Interpret event messages from Sumsub WebSDK.
After you configure an on handler function, the WebSDK sends event messages for key moments in the verification flow — status changes, applicant actions, and more. This page describes each message type and its payload.
Note
- All message types are prefixed with
idCheck.- You can use the Test WebSDK tab inside a level to view WebSDK messages in real time, before going live.
onReady
onReadyWebSDK resources have been loaded. Empty payload.
onInitialized
onInitializedFirst screen is rendered. Empty payload.
onStepInitiated
onStepInitiatedScreen that corresponds to $idDocSetType was shown.
{
"idDocSetType": "$idDocSetType",
"types": ["$idDocType1", "$idDocType2"]
}onLivenessCompleted
onLivenessCompletedApplicant completed a Liveness attempt (the applicant may pass several attempts depending on the settings).
Applies to WebSDK 2.0 only.
{
"answer": "$answer",
"allowContinuing": true | false
}stepCompleted / onStepCompleted
stepCompleted / onStepCompletedStep $idDocSetType has been completed.
In WebSDK, the event is named
stepCompletedoronStepCompleted. In WebSDK 2.0, it is namedonStepCompleted.
In WebSDK:
{
"step": "$idDocSetType"
}In WebSDK and WebSDK 2.0:
{
"idDocSetType": "$idDocSetType"
}onApplicantLoaded
onApplicantLoadedApplicant with ID $id has been loaded.
{
"applicantId": "$id"
}onApplicantSubmitted
onApplicantSubmittedDocuments were submitted for verification. Empty payload.
onError
onErrorVerification error occurred. The reason field is optional and supported only for the camera-error code.
{
"code": "invalid-origin" | "initialization-error" | "invalid-token" | "camera-error" | "invalid-config",
"error": "Error message",
"reason": "permissionsDenied"
}applicantStatus / onApplicantStatusChanged
applicantStatus / onApplicantStatusChangedApplicant status has been changed.
In WebSDK, the event is named
applicantStatus. In WebSDK 2.0, it is namedonApplicantStatusChanged.
{
"reprocessing": false,
"levelName": "$levelName",
"createDate": "$createDate",
"expireDate": "$expireDate",
"reviewStatus": "$reviewStatus",
"reviewResult": "$reviewResult",
"autoChecked": false
}onApplicantResubmitted
onApplicantResubmittedDocuments re-submitted for verification. Empty payload.
onApplicantActionLoaded
onApplicantActionLoadedApplicant action with ID $id has been loaded.
{
"applicantActionId": "$id"
}onApplicantActionStatusChanged
onApplicantActionStatusChangedApplicant action status has been changed.
{
"reprocessing": true | false,
"levelName": "$levelName",
"creationDate": "$creationDate",
"expireDate": "$expireDate",
"reviewStatus": "$reviewStatus",
"autoChecked": true | false
}onApplicantActionSubmitted
onApplicantActionSubmittedApplicant action was submitted. Empty payload.
onApplicantActionCompleted
onApplicantActionCompletedApplicant action $id was completed.
{
"action": "$actionType",
"applicantActionId": "$id",
"answer": "$answer"
}moduleResultPresented
moduleResultPresentedResult of the standalone module has been presented to the user. Valid only for the module customization type. Happens either when the user has just completed the check or when the user reopened the module for a previously completed check.
Possible answers:
- GREEN — check was successful.
- YELLOW — user is allowed to proceed; final check result will be determined later.
- RED — user has been decisively rejected and is not allowed to proceed.
Not shown if the rejection is not final.
{
"answer": "GREEN"
}onResize
onResizeWebSDK frame has been resized.
{
"height": 159
}onVideoIdentCallStarted
onVideoIdentCallStartedVideo call was started by the user. Empty payload.
onVideoIdentModeratorJoined
onVideoIdentModeratorJoinedVideo call was answered by operator. Empty payload.
onVideoIdentCompleted
onVideoIdentCompletedVideo call was completed by operator. Empty payload.
onUploadError
onUploadErrorUploaded document was rejected.
{
"code": "$error",
"msg": "Error message"
}onUploadWarning
onUploadWarningWarnings about the uploaded document.
{
"code": "$warning",
"msg": "Warning message"
}onNavigationUiControlsStateChanged
onNavigationUiControlsStateChangedState of the navigation controls in the SDK. Pass controlledNavigationBack: true in the config to enable this event.
{
"previousScreenButton": "normal" | "disabled" | null,
"closeModalButton": "normal" | null
}onApplicantLevelChanged
onApplicantLevelChangedApplicant level has been changed.
Possible causes for the level change:
- Verification logic in Workflow Builder.
- Use of the Manage level functionality.
- Reverting to the previous verification level via SDK.
{
"levelName": "newLevelName"
}onApplicantVerificationCompleted
onApplicantVerificationCompletedApplicant verification is fully completed and a final review result is available.
This message will not be shown if the applicant level changes as part of a workflow step.
{
"reprocessing": true | false,
"levelName": "$levelName",
"createDate": "$createDate",
"reviewStatus": "$reviewStatus",
"reviewResult": "$reviewResult",
"autoChecked": false
}onDocumentAdded
onDocumentAddedAn applicant successfully uploads a document image. imageId is always present; idDocSetType, idDocType, idDocSubType, and country are included when known.
{
"imageId": 123456,
"idDocSetType": "$idDocSetType",
"idDocType": "$idDocType",
"idDocSubType": "$idDocSubType",
"country": "$country"
}onImageRemoved
onImageRemovedA document image is removed.
{
"imageId": 123456
}Updated 8 days ago