User verification webhooks
Stay informed by tracking key events within User Verification.
User verification webhooks are used during verification of your applicants.
The flowchart below outlines the general procedure of applicant verification with webhooks being sent at certain verification steps.
NoteThe order and existence of the steps may vary depending on the verification level settings.
This diagram shows the standard verification flow. If your verification level uses a workflow, additional events apply and behavior differs:
applicantReviewedis deferred until the workflow completes — it is not sent immediately after the moderator's decision.- Additional events can be sent:
applicantAwaitingUser,applicantAwaitingService,applicantWorkflowCompleted,applicantWorkflowFailed.

|
Webhook |
Description |
|---|---|
|
New applicant record is created. This webhook is triggered when an applicant is created by any of the following methods:
|
|
|
Applicant's review status changes to This webhook is triggered in any of the following cases:
The webhook is triggered only when the applicant's review status changes to |
|
|
Applicant receives a final verification result. This webhook is triggered by any of the following:
When the applicant is enrolled in a workflow, the per-level |
|
|
Applicant's review status changes to This webhook is triggered by any of the following:
Unlike most review status changes, repeated transitions to |
|
|
Applicant action's review status changes to This webhook is triggered when the action enters
The webhook is triggered only when the action's review status actually changes to |
|
|
Applicant action receives a verification result. This webhook is triggered when the result is recorded by any of the following methods:
When the action is part of an active applicant workflow, the per-action webhook is not triggered immediately. Instead, it is sent after the workflow completes, ensuring that each terminal review produces exactly one |
|
|
Applicant action's review status changes to This webhook is triggered when the action enters
The webhook is triggered only when the action's review status actually changes to |
|
|
Applicant action is moved to a new verification level. This webhook is triggered when an applicant action level change node moves the action to the verification level configured on the node. This webhook is triggered only during a workflow execution. Direct API or Dashboard level changes do not trigger it. It is also triggered only when the action actually moves to a new verification level. |
|
|
Applicant's personal information is updated. This webhook is triggered when any of the following information changes:
The webhook is triggered only when the update results in an actual change. It is not triggered if no changes are detected or, for document- and company structure-related updates, if the applicant has not yet reached one of the required review statuses. |
|
|
Applicant's tags are updated. This webhook is triggered when the applicant's tags change by any of the following methods:
The webhook is triggered only when the resulting tag set changes. It is not triggered if no tags are added or removed, if the updated tag set matches the existing one, or if a workflow computes the same tag set. |
|
|
Previously deactivated applicant is reactivated. This webhook is triggered when an applicant is reactivated by any of the following methods:
The webhook is triggered only when the applicant transitions from |
|
|
Applicant is deactivated. Deactivation is a recoverable soft-delete, and the applicant can later be reactivated. This webhook is triggered by any of the following methods:
Deactivating an applicant requires the deactivateApplicants permission and is not allowed while the applicant's review is in progress. The webhook is triggered once when the applicant's status changes from |
|
|
Applicant record is permanently deleted from the system. The applicant is removed from both the database and the search index, and their presence status changes to This webhook is triggered by any of the following methods:
For KYB verifications, the webhook is triggered per applicant, not per company structure. Deleting a company applicant unlinks its beneficiaries but does not delete them. Each beneficiary must be deleted separately to trigger its own The webhook is not triggered if the applicant has already been deleted from the database. |
|
|
Applicant is fully reset. All checks, documents, and the Video identification state are cleared, and the applicant's review status changes to This webhook is triggered by any of the following methods:
A full applicant reset is blocked if the applicant's review is already in progress, except for Video identification applicants. If the reset is blocked, the webhook is not triggered. |
|
|
Applicant's review status changes to This is an intermediate state used when the auto-check cannot make a final decision and must wait for one or more verification checks to complete. This webhook is triggered in any of the following cases:
After all blocking checks are completed, the applicant transitions to |
|
|
Applicant moves from one verification level to another. This webhook is triggered by any of the following methods:
The webhook is triggered only when the applicant is actually moved to another verification level. It is not triggered if, for example, the target level is the same as the current level, or the change is blocked because the applicant's review is already in progress. |
|
|
Applicant's workflow run is completed. This webhook is triggered when the workflow engine reaches the end of the workflow, and the workflow run transitions to the This webhook is also not triggered for applicant action workflow runs (verification of a single applicant action). Instead, those workflows trigger the applicantActionReviewed webhook. |
|
|
Applicant's workflow run fails. This webhook is triggered in any of the following cases:
This webhook is not triggered for applicant action workflow runs. Instead, those workflows trigger the applicantActionReviewed webhook after the final review. The webhook is triggered only when the workflow run transitions from the |
|
|
Review status of a Video identification session changes. The video call media is typically available shortly after this webhook is triggered, although processing time may vary. This webhook is triggered in any of the following cases:
The webhook is triggered only when the session's reviewStatus changes. For example, resetting a session that is already in the init status or confirming SDK readiness when the session is not in the |
|
|
Video identification call recording is composed and attached to the applicant's profile. This webhook is triggered in any of the following cases:
For self-hosted calls with audio transcription enabled, the webhook is triggered only after transcription (and optional subtitles) is completed. In this case, the payload includes the A single video call can produce multiple recordings (one for each room within the same call), and each recording triggers its own webhook. The webhook is not triggered for recordings that have already been synchronized with the inspection. Re-running synchronization for the same room does not trigger the webhook again. |
|
|
Applicant's review status changes to
This webhook is triggered when the auto-check reaches a node configured to wait for a service result. It applies to any applicant, including a KYB beneficiary applicant whose verification level includes a background check —
the beneficiary remains in The webhook is triggered only when the applicant's review status changes to |
|
|
Applicant's review status changes to This webhook is triggered in any of the following cases:
This webhook is separate from the Documents requested and Resubmission requested applicant statuses, which trigger their own webhook events. The webhook is triggered only when the applicant's review status changes to |
|
|
One or more applicant verification steps are reset without performing a full applicant reset. This webhook is triggered in any of the following cases:
This webhook is not triggered when the step reset results in a full applicant reset. For example, if a rejected verification step remains after the targeted reset and full reset on step reset is enabled, the applicantReset webhook is triggered instead. The webhook is also not triggered if no verification step, KYB sub-step, or Video identification step is actually reset. |
|
|
Applicant's personal data or stored document images are permanently erased. This webhook is triggered in the following case:
The webhook is triggered when the cleanup process permanently removes the applicant's data, not when the applicant's review status changes. Each successful cleanup operation triggers the webhook once. This webhook is not triggered when an applicant is fully deleted. In that case, the applicantDeleted webhook is triggered instead. |
|
|
List of beneficiaries for a company applicant changes. This webhook is triggered in any of the following cases:
This webhook applies only to company applicants. Each beneficiary change triggers the webhook once. Consecutive add, remove, or unlink operations each produce a separate webhook. |
|
|
Applicant opens a verification link or initializes the SDK for the first time. This webhook is triggered in any of the following cases:
The webhook is not triggered for requests made by web crawlers. Repeated openings of the same verification configuration are deduplicated within a one-minute window. Reopening the same configuration during that period does not trigger the webhook again. |
|
|
Applicant share token has been consumed and applicant data has been successfully reused. This webhook supports applicant share tokens only and is not sent for Sumsub ID share tokens. |
|
|
Applicant share token reuse failed. This webhook supports applicant share tokens only and is not sent for Sumsub ID share tokens. |
NotePersonal applicant information is not available in the webhook payload. To get this information, use this API method.
TipIf you are not receiving webhooks, try to check your endpoints using SSL Labs or Docker.
applicantCreated
{
"applicantId": "5c9e177b0a975a6eeccf5960",
"inspectionId": "5c9e177b0a975a6eeccf5961",
"applicantType": "individual",
"correlationId": "req-63f92830-4d68-4eee-98d5-875d53a12258",
"levelName": "id-and-liveness",
"externalUserId": "12672",
"type": "applicantCreated",
"sandboxMode": false,
"reviewStatus": "init",
"createdAtMs": "2020-02-21 13:23:19.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `reuseScope` | String |
**Optional** field that indicates that the applicant status was applied through a data reuse process, where the data source is either a Sumsub ID profile or a previous applicant verification. This field is included only in the webhook triggered by the initial status change. It is not included in subsequent webhooks generated after the copy process is complete, such as those related to checks or later status updates. Possible values indicate the way the applicant's initial status was obtained: - `reusableKycSdk` — WebSDK Reusable KYC via email/phone. - `reusableKycSdkViaSumsubNetwork` — WebSDK Reusable KYC via Sumsub Network. - `reusableKycSdkShareToken` — WebSDK Reusable KYC via share token. - `reusableKycApiShareToken` — API Reusable KYC via share token. - `reusableKycApiSnsIdShareToken` — API Reusable KYC via Sumsub ID share token. - `importApiShareToken` — Copy Applicant via share token. - `snsIdConnect` — Sumsub ID Connect. - `snsId` — Sumsub ID. |
| `type` | String | Webhook type. In this context, it is `applicantCreated`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example, `2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantPending
{
"applicantId": "5c7791f80a975a1df426b9e9",
"inspectionId": "5c7791f80a975a1df426b9ea",
"applicantType": "individual",
"correlationId": "req-4af54c06-6a50-4cb9-a7dc-b94b2f5b07eb",
"levelName": "liveness-level",
"externalUserId": "12672",
"type": "applicantPending",
"sandboxMode": false,
"reviewStatus": "pending",
"createdAtMs": "2020-02-21 13:23:19.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `reuseScope` | String |
**Optional** field that indicates that the applicant status was applied through a data reuse process, where the data source is either a Sumsub ID profile or a previous applicant verification. This field is included only in the webhook triggered by the initial status change. It is not included in subsequent webhooks generated after the copy process is complete, such as those related to checks or later status updates. Possible values indicate the way the applicant's initial status was obtained: - `reusableKycSdk` — WebSDK Reusable KYC via email/phone. - `reusableKycSdkViaSumsubNetwork` — WebSDK Reusable KYC via Sumsub Network. - `reusableKycSdkShareToken` — WebSDK Reusable KYC via share token. - `reusableKycApiShareToken` — API Reusable KYC via share token. - `reusableKycApiSnsIdShareToken` — API Reusable KYC via Sumsub ID share token. - `importApiShareToken` — Copy Applicant via share token. - `snsIdConnect` — Sumsub ID Connect. - `snsId` — Sumsub ID. |
| `type` | String | Webhook type. In this context, it is `applicantPending`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `reviewMode` | String |
**Optional** field that may be present if Ongoing Monitoring is enabled for your project. Available values: - `ongoingAml` — applicant review is currently in progress due to Ongoing AML monitoring, which has placed the review in the `pending` status. - `ongoingDocExpired` — applicant review is currently in progress due to Ongoing document monitoring, which has placed the review in the `pending` status. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantReviewed
{
"applicantId": "69e5d579e37291e569b75ce5",
"inspectionId": "69e5d579e37291e569b75ce5",
"applicantType": "individual",
"correlationId": "ffdf14510f0bdde909a2e5f9988f92ec",
"levelName": "1doc",
"sandboxMode": false,
"externalUserId": "dash-6ccde837-640a-49b9-a2f9-f096f561744c",
"type": "applicantReviewed",
"reviewResult": {
"reviewAnswer": "RED",
"rejectLabels": [
"BAD_PROOF_OF_IDENTITY"
],
"reviewRejectType": "RETRY",
"buttonIds": [
"badDocument_suspiciousDocument",
"badDocument"
]
},
"reviewStatus": "completed",
"createdAtMs": "2026-04-30 08:04:23.379",
"clientId": "coolClientId"
}{
"applicantId": "69e5d579e37291e569b75ce5",
"inspectionId": "69e5d579e37291e569b75ce5",
"applicantType": "individual",
"correlationId": "ffdf14510f0bdde909a2e5f9988f92ec",
"levelName": "1doc",
"sandboxMode": false,
"externalUserId": "dash-6ccde837-640a-49b9-a2f9-f096f561744c",
"type": "applicantReviewed",
"reviewResult": {
"moderationComment": "We couldn't verify your profile. If you have any questions, please contact the support email of the company you are verifying for [email protected]",
"clientComment": "User identity is compromised:\n- PEP\n- Sanction lists",
"reviewAnswer": "RED",
"rejectLabels": [
"COMPROMISED_PERSONS",
"PEP",
"SANCTIONS"
],
"reviewRejectType": "FINAL",
"buttonIds": [
"compromisedPersons_sanctionList",
"compromisedPersons_pep",
"compromisedPersons"
]
},
"reviewStatus": "completed",
"createdAtMs": "2026-04-30 08:04:23.379",
"clientId": "coolClientId"
}{
"applicantId": "5cb56e8e0a975a35f333cb83",
"inspectionId": "5cb56e8e0a975a35f333cb84",
"applicantType": "individual",
"correlationId": "req-a260b669-4f14-4bb5-a4c5-ac0218acb9a4",
"externalUserId": "externalUserId",
"levelName": "id-and-liveness",
"type": "applicantReviewed",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"createdAtMs": "2020-02-21 13:23:19.321",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `reuseScope` | String |
**Optional** field that indicates that the applicant status was applied through a data reuse process, where the data source is either a Sumsub ID profile or a previous applicant verification. This field is included only in the webhook triggered by the initial status change. It is not included in subsequent webhooks generated after the copy process is complete, such as those related to checks or later status updates. Possible values indicate the way the applicant's initial status was obtained: - `reusableKycSdk` — WebSDK Reusable KYC via email/phone. - `reusableKycSdkViaSumsubNetwork` — WebSDK Reusable KYC via Sumsub Network. - `reusableKycSdkShareToken` — WebSDK Reusable KYC via share token. - `reusableKycApiShareToken` — API Reusable KYC via share token. - `reusableKycApiSnsIdShareToken` — API Reusable KYC via Sumsub ID share token. - `importApiShareToken` — Copy Applicant via share token. - `snsIdConnect` — Sumsub ID Connect. - `snsId` — Sumsub ID. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `type` | String | Webhook type. In this context, it is `applicantReviewed`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from Sandbox. |
| `reviewResult` | Object | Contains the applicant verification results data. For more information, refer to [this article](doc:receive-and-interpret-results-via-api). To find out about `buttonIds` and `rejectLabels`, refer to [Resubmission requested](ref:resubmission-requested) and [Rejected](ref:rejected). |
| `reviewResult.clientComment` | String |
Human-readable comment that should not be shown to your applicants. This field will contain applicant top-level comments and—if `reviewRejectType` is `FINAL`—it may also contain some private information which should not be shared with anyone except administrative personnel on the client side. |
| `reviewResult.moderationComment` | String | Human-readable comment that explains the reasons for rejection in detail, and that can be shown to the applicant. |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `reviewMode` | String |
**Optional** field that may be present if Ongoing Monitoring is enabled for your project. Available values: - `ongoingAml` — applicant review is currently in progress due to Ongoing AML monitoring, which has placed the review in the `pending` status. - `ongoingDocExpired` — applicant review is currently in progress due to Ongoing document monitoring, which has placed the review in the `pending` status. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantOnHold
{
"applicantId": "5c7791f80a975a1df426b9e9",
"inspectionId": "5c7791f80a975a1df426b9ea",
"applicantType": "individual",
"correlationId": "req-4af54c06-6a50-4cb9-a7dc-b94b2f5b07eb",
"levelName": "liveness-level",
"externalUserId": "12672",
"type": "applicantOnHold",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "onHold",
"createdAtMs": "2020-02-21 13:23:19.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantOnHold`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, see [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `reviewMode` | String |
**Optional** field that may be present if Ongoing Monitoring is enabled for your project. Available values: - `ongoingAml` — applicant review is currently in progress due to Ongoing AML monitoring, which has placed the review in the `pending` status. - `ongoingDocExpired` — applicant review is currently in progress due to Ongoing document monitoring, which has placed the review in the `pending` status. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example, `2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantActionPending
{
"applicantId": "5dc158b109494c3cbf431e28",
"applicantActionId": "5dc2d80ce3cc9b1c1e389c4c",
"externalApplicantActionId": "id122424234-random-r7otyykndi",
"inspectionId": "5dc158b109494c3cbf431e29",
"applicantType": "individual",
"correlationId": "req-8fbf5a81-339f-43b6-a9a7-290080e9039c",
"levelName": "basic-action-level",
"externalUserId": "pid122424235",
"type": "applicantActionPending",
"sandboxMode": false,
"reviewStatus": "completed",
"createdAtMs": "2020-02-21 13:23:16.001",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `applicantActionId` | String | Unique identifier of the applicant action in the Sumsub system. |
| `externalApplicantActionId` | String | Identifier of the applicant action on your side. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantActionPending`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from Sandbox. |
| `reviewStatus` | String | [Current status](ref:action-statuses) of the applicant action. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example, `2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantActionReviewed
{
"applicantId": "5dc158b109494c3cbf431e28",
"applicantActionId": "5dc2d80ce3cc9b1c1e389c4c",
"externalApplicantActionId": "id122424234-random-r7otyykndi",
"inspectionId": "5dc158b109494c3cbf431e29",
"applicantType": "individual",
"correlationId": "req-c9041677-e8dc-446b-ab8f-50b438a40aa8",
"levelName": "basic-action-level",
"externalUserId": "id122424234",
"type": "applicantActionReviewed",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"createdAtMs": "2020-02-21 13:23:19.001",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `applicantActionId` | String | Unique identifier of the applicant action in the Sumsub system. |
| `externalApplicantActionId` | String | Identifier of the applicant action on your side. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantActionReviewed`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from Sandbox. |
| `reviewResult` | [Object](ref:get-action-information#reviewresult-attributes) | Contains information about the verification results. For more information, refer to [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | [Current status](ref:action-statuses) of the applicant action. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantActionOnHold
{
"applicantId": "5ea867a9772e27d66728c64b",
"applicantActionId": "5ea867c2772e27d66728c64f",
"externalApplicantActionId": "random-4gguvx1oha-action-v1_5",
"inspectionId": "5ea867a9772e27d66728c64c",
"applicantType": "individual",
"correlationId": "req-2c3cce19-c723-4fd0-a2f2-527789f95bcc",
"levelName": "basic-action-level",
"externalUserId": "random-4gguvx1oha",
"type": "applicantActionOnHold",
"sandboxMode": false,
"reviewStatus": "init",
"createdAtMs": "2020-04-28 18:16:09.001",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `applicantActionId` | String | Unique identifier of the applicant action in the Sumsub system. |
| `externalApplicantActionId` | String | Identifier of the applicant action on your side. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantActionOnHold`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from Sandbox. |
| `reviewStatus` | String | [Current status](ref:action-statuses) of the applicant action. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantActionLevelChanged
{
"applicantId": "696929a8b27d2a0277812936",
"applicantActionId": "69a5440cdbd0ab0c1aac97f3",
"externalApplicantActionId": "preview-action-random-LFXu9-v1_5",
"inspectionId": "696929a8b27d2a0277812936",
"applicantType": "individual",
"correlationId": "req-d34c974c-5935-41b8-a0a9-cedd2407eads",
"levelName": "actionLevelActualName",
"sandboxMode": false,
"externalUserId": "level-19a01a4c-5552-4552-ae24-8a4ed9e3b43e",
"type": "applicantActionLevelChanged",
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"createdAtMs": "2026-03-30 16:37:52.266",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `applicantActionId` | String | Unique identifier of the applicant action in the Sumsub system. |
| `externalApplicantActionId` | String | Identifier of the applicant action on your side. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantActionLevelChanged`. |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, refer to [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | [Current status](ref:action-statuses) of the applicant action. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantPersonalInfoChanged
{
"applicantId": "5ede51230a975a19a19ba5c1",
"inspectionId": "5ede51230a975a19a19ba5c2",
"applicantType": "individual",
"correlationId": "req-60103dee-79f1-43f4-bdcc-eb2554556afa",
"levelName": "id+liveness",
"externalUserId": "12672",
"type": "applicantPersonalInfoChanged",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"createdAtMs": "2020-06-08 19:39:29.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantPersonalInfoChanged`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, refer to [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example, `2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantTagsChanged
{
"applicantId": "5ede51230a975a19a19ba5c1",
"inspectionId": "5ede51230a975a19a19ba5c2",
"applicantType": "individual",
"correlationId": "req-60103dee-79f1-43f4-bdcc-eb2654556afa",
"levelName": "id-and-liveness",
"externalUserId": "12672",
"type": "applicantTagsChanged",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"createdAtMs": "2023-06-08 19:39:29.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantTagsChanged`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, see [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantActivated
{
"applicantId": "5f194e74040c3f316bda271c",
"inspectionId": "5f194e74040c3f316bda271d",
"applicantType": "individual",
"correlationId": "req-d34c974c-5935-41b8-a0a9-cedd2407eada",
"levelName": "phone-level",
"externalUserId": "12672",
"type": "applicantActivated",
"sandboxMode": false,
"reviewStatus": "init",
"createdAtMs": "2020-07-23 11:18:33.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantActivated`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example, `2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantDeactivated
{
"applicantId": "5f194e74040c3f316bda271c",
"inspectionId": "5f194e74040c3f316bda271d",
"applicantType": "individual",
"correlationId": "req-d34c974c-5935-41b8-a0a9-cedd2407eada",
"levelName": "phone-level",
"externalUserId": "12672",
"type": "applicantDeactivated",
"sandboxMode": false,
"reviewStatus": "init",
"createdAtMs": "2020-07-23 11:18:33.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantDeactivated`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`,for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantDeleted
{
"applicantId": "5f194e74040c3f316bda271c",
"inspectionId": "5f194e74040c3f316bda271d",
"applicantType": "individual",
"correlationId": "req-d34c974c-5935-41b8-a0a9-cedd2407eada",
"levelName": "phone-level",
"externalUserId": "12672",
"type": "applicantDeleted",
"sandboxMode": false,
"reviewStatus": "init",
"createdAtMs": "2020-07-23 11:18:33.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantDeleted`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantReset
{
"applicantId": "5f194e74040c3f316bda271c",
"inspectionId": "5f194e74040c3f316bda271d",
"applicantType": "individual",
"correlationId": "req-57fed49a-07b8-4413-bdaa-a1be903769e9",
"levelName": "id-and-liveness",
"externalUserId": "12672",
"type": "applicantReset",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "init",
"createdAtMs": "2021-03-01 11:34:51.104",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantReset`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, see [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example, `2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantPrechecked
{
"applicantId": "5d1f2914c2d75a1c14130bd2",
"inspectionId": "5d1f2914c2d75a1c14130bd3",
"applicantType" : "individual",
"correlationId": "req-e9d77142-59e6-4713-9b07-9b342cc51dda",
"levelName": "kyc",
"externalUserId": "12672",
"type": "applicantPrechecked",
"sandboxMode": false,
"reviewStatus": "queued",
"createdAtMs": "2020-02-21 13:23:19.002",
"clientId": "SumsubClient"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantReset`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `reviewMode` | String |
**Optional** field that may be present if Ongoing Monitoring is enabled for your project. Available values: - `ongoingAml` — applicant review is currently in progress due to Ongoing AML monitoring, which has placed the review in the `pending` status. - `ongoingDocExpired` — applicant review is currently in progress due to Ongoing document monitoring, which has placed the review in the `pending` status. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantLevelChanged
{
"applicantId": "5f194e74040c3f316bda271c",
"inspectionId": "5f194e74040c3f316bda271d",
"applicantType": "individual",
"correlationId": "req-d34c974c-5935-41b8-a0a9-cedd2407eadd",
"levelName": "id-and-liveness",
"externalUserId": "12672",
"type": "applicantLevelChanged",
"sandboxMode": false,
"reviewStatus": "init",
"createdAtMs": "2020-07-23 11:19:33.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
applicantId | String | Unique identifier of the applicant in the Sumsub system. |
inspectionId | String | A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created.<br /> ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
applicantType | String | Defines the applicant entity type.
|
correlationId | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation. |
levelName | String | Name of the verification level the applicant has to go through. |
externalUserId | String | Unique applicant identifier as registered on your side. When creating an applicant, you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
type | String | Webhook type. In this context, it is applicantReset. |
sandboxMode | Boolean | Set to true if the webhook was sent from Sandbox. |
reviewStatus | String | Current applicant review status. |
createdAtMs | Date | Date and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, for example,2021-05-14 16:00:25.032) in UTC. |
clientId | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. clientId is automatically added to the applicant profile when it is created. |
applicantWorkflowCompleted
{
"applicantId": "64106d6b7d5a2d5159e6b01a",
"inspectionId": "64106d6b7d5a2d5159e6b01b",
"applicantType": "individual",
"correlationId": "req-57fed49a-07b8-4413-bdaa-a1be903769e9",
"levelName": "id-and-liveness",
"sandboxMode": false,
"externalUserId": "12672",
"type": "applicantWorkflowCompleted",
"reviewResult": {
"reviewAnswer": "RED",
"rejectLabels": [
"AGE_REQUIREMENT_MISMATCH"
],
"reviewRejectType": "FINAL",
"buttonIds": []
},
"reviewStatus": "completed",
"workflowRevision": 8,
"createdAtMs": "2023-03-14 12:50:27.238",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantReset`. |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, see [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `workflowRevision` | Integer | Published revision number of the applicant workflow that ran for this applicant. Optional — omitted when the revision is unknown. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantWorkflowFailed
{
"applicantId": "64106d6b7d5a2d5159e6b01a",
"inspectionId": "64106d6b7d5a2d5159e6b01b",
"applicantType": "individual",
"correlationId": "req-57fed49a-07b8-4413-bdaa-a1be903769e9",
"levelName": "id-and-liveness",
"sandboxMode": false,
"externalUserId": "12672",
"type": "applicantWorkflowFailed",
"reviewResult": {
"reviewAnswer": "RED",
"rejectLabels": [
"AGE_REQUIREMENT_MISMATCH"
],
"reviewRejectType": "FINAL",
"buttonIds": []
},
"reviewStatus": "completed",
"workflowRevision": 8,
"createdAtMs": "2023-03-14 12:50:27.238",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantReset`. |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, see [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `workflowRevision` | Integer | Published revision number of the applicant workflow that ran for this applicant. Optional — omitted when the revision is unknown. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
videoIdentStatusChanged
{
"applicantId": "596928690a975a137c5b207e",
"inspectionId": "596928690a975a137c5b207a",
"applicantType": "individual",
"correlationId": "req-a7812631-2c40-4f13-8407-fd42a516f0b0",
"levelName": "id-and-liveness",
"externalUserId": "12672",
"type": "videoIdentStatusChanged",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"videoIdentReviewStatus": "pending",
"createdAtMs": "2020-10-16 12:34:25.003",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantReset`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewResult` | Object | Contains information about the verification results. For more information, see this article. |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `videoIdentReviewStatus` | String | Status of the [VideoIdent](doc:video-identification) call. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
videoIdentCompositionCompleted
{
"applicantId": "596928690a975a137c5b207e",
"inspectionId": "596928690a975a137c5b207a",
"applicantType": "individual",
"correlationId": "req-a7812631-2c40-4f13-8407-fd42a516f0b0",
"levelName": "id-and-liveness",
"externalUserId": "12672",
"type": "videoIdentCompositionCompleted",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"videoIdentCompositionMediaId": "596928690a975a137",
"createdAtMs": "2020-10-16 12:34:25.003",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantReset`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, see [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `videoIdentCompositionMediaId` | String | Unique identifier of the Video Call record. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantAwaitingService
{
"applicantId": "5c7791f80a975a1df426b9e9",
"inspectionId": "5c7791f80a975a1df426b9ea",
"applicantType": "individual",
"correlationId": "req-4af54c06-6a50-4cb9-a7dc-b94b2f5b07eb",
"levelName": "basic-kyc-level",
"externalUserId": "12672",
"type": "applicantAwaitingService",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "awaitingService",
"createdAtMs": "2025-02-21 13:23:19.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantAwaitingService`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, see [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantAwaitingUser
{
"applicantId": "5c7791f80a975a1df426b9e9",
"inspectionId": "5c7791f80a975a1df426b9ea",
"applicantType": "individual",
"correlationId": "req-4af54c06-6a50-4cb9-a7dc-b94b2f5b07eb",
"levelName": "basic-kyc-level",
"externalUserId": "12672",
"type": "applicantAwaitingUser",
"sandboxMode": false,
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "awaitingUser",
"createdAtMs": "2025-02-21 13:23:19.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantAwaitingUser`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewResult` | [Object](ref:get-applicant-review-status#reviewresult-attributes) | Contains information about the verification results. For more information, see [this article](doc:receive-and-interpret-results-via-api). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantStepsReset
{
"applicantId": "5f194e74040c3f316bda271c",
"inspectionId": "5f194e74040c3f316bda271d",
"applicantType": "individual",
"correlationId": "req-d34c974c-5935-41b8-a0a9-cedd2407eadd",
"levelName": "id-and-liveness",
"externalUserId": "12672",
"type": "applicantStepsReset",
"sandboxMode": false,
"reviewStatus": "init",
"createdAtMs": "2020-07-23 11:19:33.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantAwaitingUser`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantPersonalDataDeleted
{
"applicantId": "5ede51230a975a19a19ba5c1",
"inspectionId": "5ede51230a975a19a19ba5c2",
"applicantType": "individual",
"correlationId": "req-60103dee-79f1-43f4-bdcc-eb2554556afa",
"levelName": "id+liveness",
"externalUserId": "12672",
"type": "applicantPersonalDataDeleted",
"sandboxMode": false,
"reviewStatus": "completed",
"createdAtMs": "2020-06-08 19:39:29.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantAwaitingUser`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
companyStructureChanged
{
"applicantId": "5ede51230a975a19a19ba5c1",
"inspectionId": "5ede51230a975a19a19ba5c2",
"applicantType": "individual",
"correlationId": "req-60103dee-79f1-43f4-becc-eb2554556afa",
"levelName": "basic-kyb-level",
"externalUserId": "12672",
"type": "companyStructureChanged",
"sandboxMode": false,
"reviewStatus": "pending",
"createdAtMs": "2025-01-09 19:39:29.002",
"clientId": "coolClientId"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `type` | String | Webhook type. In this context, it is `applicantAwaitingUser`. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from [Sandbox](doc:sandbox-mode). |
| `reviewStatus` | String | Current [applicant review status](ref:get-applicant-review-status#review-statuses). |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example,`2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
applicantVerificationLinkOpened
{
"applicantId": "5c9e177b0a975a6eeccf5960",
"applicantType": "individual",
"correlationId": "da9564f4437c9fcd059f99e0b94fa04d",
"levelName": "basic-kyc-level",
"externalUserId": "12672",
"type": "applicantVerificationLinkOpened",
"sandboxMode": false,
"createdAtMs": "2026-04-24 13:23:19.002"
}| Field | Type | Description |
|---|---|---|
applicantId | String | Unique identifier of the applicant in the Sumsub system. |
applicantType | String | Defines the applicant entity type.
|
correlationId | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same correlationId when triggered by the same operation. |
levelName | String | Name of the verification level the applicant has to go through. |
externalUserId | String | Unique applicant identifier as registered on your side. When creating an applicant, you can generate and add the externalUserId manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
type | String | Webhook type. In this context, it is applicantVerificationLinkOpened. |
sandboxMode | Boolean | Set to true if the webhook was sent from Sandbox. |
createdAtMs | Date | Date and time when the webhook was created, considering milliseconds (format yyyy-MM-dd HH:mm:ss.fff, for example,2021-05-14 16:00:25.032) in UTC. |
applicantShareTokenConsumed
{
"applicantId": "69e73745a8d18f533e008b4f",
"inspectionId": "69e73745a8d18f533e008b4f",
"applicantType": "individual",
"correlationId": "984fc12a5727f636e70658f023c28615",
"levelName": "R312Test",
"sandboxMode": false,
"externalUserId": "level-1a03d5c4-b700-4e3f-ace1-ac0f64816cd1",
"reuseScope": "reusableKycApiShareToken",
"type": "applicantShareTokenConsumed",
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"createdAtMs": "2026-04-28 11:04:03.763",
"clientId": "cross",
"shareTokenForClientId": "cross"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from Sandbox. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `reuseScope` | String |
**I**ndicates that the applicant status was applied through a data reuse process, where the data source is either a Sumsub ID profile or a previous applicant verification. This field is included only in the webhook triggered by the initial status change. It is not included in subsequent webhooks generated after the copy process is complete, such as those related to checks or later status updates. Possible values indicate the way the applicant's initial status was obtained: - `reusableKycSdk` — WebSDK Reusable KYC via email/phone. - `reusableKycSdkViaSumsubNetwork` — WebSDK Reusable KYC via Sumsub Network. - `reusableKycSdkShareToken` — WebSDK Reusable KYC via share token. - `reusableKycApiShareToken` — API Reusable KYC via share token. - `reusableKycApiSnsIdShareToken` — API Reusable KYC via Sumsub ID share token. - `importApiShareToken` — Copy Applicant via share token. - `snsIdConnect` — Sumsub ID Connect. - `snsId` — Sumsub ID. |
| `type` | String | Webhook type. In this context, it is `applicantShareTokenConsumed`. |
| `reviewResult` | Object | Contains the applicant verification results data. For more information, refer to this article. To find out about `buttonIds` and `rejectLabels`, refer to Resubmission requested and Rejected. |
| `reviewStatus` | String | [Current status](ref:action-statuses) of the applicant action. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example, `2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
| `shareTokenForClientId` | String | Client ID for which the applicant share token was generated. |
applicantShareTokenFailed
{
"applicantId": "69e63528ce75608127ca084e",
"inspectionId": "69e63528ce75608127ca084e",
"applicantType": "individual",
"correlationId": "5db743f5d65ea41a38c7fb8f8ce7fd5f",
"levelName": "PoaLiveness",
"sandboxMode": false,
"externalUserId": "level-06072dc2-8579-4e60-8d6b-9cd16e38d18e",
"reuseScope": "reusableKycApiShareToken",
"type": "applicantShareTokenFailed",
"reviewResult": {
"reviewAnswer": "GREEN"
},
"reviewStatus": "completed",
"createdAt": "2026-04-28 11:14:08+0000",
"createdAtMs": "2026-04-28 11:14:08.614",
"clientId": "cross",
"shareTokenForClientId": "oso",
"shareTokenErrorName": "reusable-kyc-not-req-doc-overlap"
}| Field | Type | Description |
|---|---|---|
| `applicantId` | String | Unique identifier of the applicant in the Sumsub system. |
| `inspectionId` | String |
A unique combination of digits and characters previously used to identify all actions related to the applicant's ID documents. Added automatically when the applicant is created. ⚠️ As of now, `inspectionId` is deprecated but still returned in the webhook. |
| `applicantType` | String |
Defines the applicant entity type..
|
| `correlationId` | String | A shared identifier assigned to the originating request and propagated across all related events. Multiple events may share the same `correlationId` when triggered by the same operation. |
| `levelName` | String | Name of the [verification level](doc:verification-levels) the applicant has to go through. |
| `sandboxMode` | Boolean | Set to `true` if the webhook was sent from Sandbox. |
| `externalUserId` | String | Unique applicant identifier as registered on your side. When [creating an applicant](ref:create-applicants), you can generate and add the `externalUserId` manually, or it will be automatically generated and added to the applicant profile by Sumsub. |
| `reuseScope` | String |
**I**ndicates that the applicant status was applied through a data reuse process, where the data source is either a Sumsub ID profile or a previous applicant verification. This field is included only in the webhook triggered by the initial status change. It is not included in subsequent webhooks generated after the copy process is complete, such as those related to checks or later status updates. Possible values indicate the way the applicant's initial status was obtained: - `reusableKycSdk` — WebSDK Reusable KYC via email/phone. - `reusableKycSdkViaSumsubNetwork` — WebSDK Reusable KYC via Sumsub Network. - `reusableKycSdkShareToken` — WebSDK Reusable KYC via share token. - `reusableKycApiShareToken` — API Reusable KYC via share token. - `reusableKycApiSnsIdShareToken` — API Reusable KYC via Sumsub ID share token. - `importApiShareToken` — Copy Applicant via share token. - `snsIdConnect` — Sumsub ID Connect. - `snsId` — Sumsub ID. |
| `type` | String | Webhook type. In this context, it is `applicantShareTokenFailed`. |
| `reviewResult` | Object | Contains the applicant verification results data. For more information, refer to this article. To find out about `buttonIds` and `rejectLabels`, refer to Resubmission requested and Rejected. |
| `reviewStatus` | String | [Current status](ref:action-statuses) of the applicant action. |
| `createdAtMs` | Date | Date and time when the webhook was created, considering milliseconds (format `yyyy-MM-dd HH:mm:ss.fff`, for example, `2021-05-14 16:00:25.032`) in UTC. |
| `clientId` | String | Unique identifier of you as our client in the Sumsub system. This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created. |
| `shareTokenForClientId` | String | Client ID for which the applicant share token was generated. |
| `shareTokenErrorName` | String |
Error name explaining why the applicant share token could not be consumed. For the full list of error codes with descriptions, refer to this article. |
Updated 1 day ago