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

WebSDK resources have been loaded. Empty payload.


onInitialized

First screen is rendered. Empty payload.


onStepInitiated

Screen that corresponds to $idDocSetType was shown.

{
  "idDocSetType": "$idDocSetType",
  "types": ["$idDocType1", "$idDocType2"]
}

onLivenessCompleted

Applicant 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

Step $idDocSetType has been completed.

In WebSDK, the event is named stepCompleted or onStepCompleted. In WebSDK 2.0, it is named onStepCompleted.

In WebSDK:

{
  "step": "$idDocSetType"
}

In WebSDK and WebSDK 2.0:

{
  "idDocSetType": "$idDocSetType"
}

onApplicantLoaded

Applicant with ID $id has been loaded.

{
  "applicantId": "$id"
}

onApplicantSubmitted

Documents were submitted for verification. Empty payload.


onError

Verification 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

Applicant status has been changed.

In WebSDK, the event is named applicantStatus. In WebSDK 2.0, it is named onApplicantStatusChanged.

{
  "reprocessing": false,
  "levelName": "$levelName",
  "createDate": "$createDate",
  "expireDate": "$expireDate",
  "reviewStatus": "$reviewStatus",
  "reviewResult": "$reviewResult",
  "autoChecked": false
}

onApplicantResubmitted

Documents re-submitted for verification. Empty payload.


onApplicantActionLoaded

Applicant action with ID $id has been loaded.

{
  "applicantActionId": "$id"
}

onApplicantActionStatusChanged

Applicant action status has been changed.

{
  "reprocessing": true | false,
  "levelName": "$levelName",
  "creationDate": "$creationDate",
  "expireDate": "$expireDate",
  "reviewStatus": "$reviewStatus",
  "autoChecked": true | false
}

onApplicantActionSubmitted

Applicant action was submitted. Empty payload.


onApplicantActionCompleted

Applicant action $id was completed.

{
  "action": "$actionType",
  "applicantActionId": "$id",
  "answer": "$answer"
}

moduleResultPresented

Result 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

WebSDK frame has been resized.

{
  "height": 159
}

onVideoIdentCallStarted

Video call was started by the user. Empty payload.


onVideoIdentModeratorJoined

Video call was answered by operator. Empty payload.


onVideoIdentCompleted

Video call was completed by operator. Empty payload.


onUploadError

Uploaded document was rejected.

{
  "code": "$error",
  "msg": "Error message"
}

onUploadWarning

Warnings about the uploaded document.

{
  "code": "$warning",
  "msg": "Warning message"
}

onNavigationUiControlsStateChanged

State 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

Applicant level has been changed.

Possible causes for the level change:

{
  "levelName": "newLevelName"
}

onApplicantVerificationCompleted

Applicant 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

An 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

A document image is removed.

{
  "imageId": 123456
}

Did this page help you?