User verification webhooks

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.

Note that the order and existence of the steps may vary depending on the verification level settings.

WebhookDescription
applicantCreatedThe applicant is created.
applicantPendingAn applicant has uploaded the required documents and their status changed to pending.
applicantReviewedVerification is complete. Contains verification result .
applicantOnHoldFurther processing of the applicant profile is put on hold.
applicantActionPendingApplicant action status changed to pending.
applicantActionReviewedApplicant action verification has been completed.
applicantActionOnHoldApplicant action verification has been paused.
applicantPersonalInfoChangedApplicant personal information has been changed, or the applicant is in the completed status and information in the applicant documents has also been changed.
applicantTagsChangedApplicant tags have beed modified.
applicantActivatedApplicant profile has been set to active.
applicantDeactivatedApplicant profile has been deactivated.
applicantDeletedApplicant has been permanently deleted.
applicantResetApplicant has been reset — applicant status changed to init and all documents were set as inactive.
applicantPrecheckedPrimary data processing is complete.
applicantLevelChangedApplicant level has been changed.
applicantWorkflowCompletedWorkflow has been completed for an applicant.
videoIdentStatusChangedSent on Video Ident status change. Once you receive this webhook, you can get the video call media within the next 10-30 minutes.
videoIdentCompositionCompletedVideo ident call recording has been successfully uploaded to the Dashboard.

📘

Note

  • We do not send any personal data via webhooks. You can fetch all recognized data using this API method.
  • If you are not receiving webhooks, try to check your endpoints using SSL Labs or Docker.

applicantCreated

{
  "applicantId": "5c9e177b0a975a6eeccf5960",
  "inspectionId": "5c9e177b0a975a6eeccf5961",
  "correlationId": "req-63f92830-4d68-4eee-98d5-875d53a12258",
  "levelName": "basic-kyc-level",
  "externalUserId": "12672",
  "type": "applicantCreated",
  "sandboxMode": false,
  "reviewStatus": "init",
  "createdAtMs": "2020-02-21 13:23:19.002",
  "clientId": "coolClientId"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

applicantPending

{
  "applicantId": "5c7791f80a975a1df426b9e9",
  "inspectionId": "5c7791f80a975a1df426b9ea",
  "applicantType": "individual",
  "correlationId": "req-4af54c06-6a50-4cb9-a7dc-b94b2f5b07eb",
  "levelName": "individual",
  "sandboxMode": false,
  "externalUserId": "level-479d7fe2-65ec-48be-9900-0950e52eb944",
  "type": "applicantPending",
  "reviewStatus": "pending",
  "reviewMode": "ongoingAml",
  "createdAt": "2024-09-05 13:40:34+0000",
  "createdAtMs": "2024-09-05 13:40:34.589",
  "clientId": "coolClientId"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
reviewStatusStringThe current applicant status.
reviewModeStringIndicates ongoingAml or ongoingDocExpired.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

applicantReviewed

{
  "applicantId": "5cb744200a975a67ed1798a4",
  "inspectionId": "5cb744200a975a67ed1798a5",
  "correlationId": "req-fa94263f-0b23-42d7-9393-ab10b28ef42d",
  "externalUserId": "externalUserId",
  "levelName": "basic-kyc-level",
  "type": "applicantReviewed",
  "reviewResult": {
    "moderationComment": "We could not verify your profile. If you have any questions, please contact the Company where you try to verify your profile ${clientSupportEmail}",
    "clientComment": " Suspected fraudulent account.",
    "reviewAnswer": "RED",
    "rejectLabels": ["UNSATISFACTORY_PHOTOS", "GRAPHIC_EDITOR", "FORGERY"],
    "reviewRejectType": "FINAL"
  },
  "reviewStatus": "completed",
  "createdAtMs": "2020-02-21 13:23:19.001"
}
{
  "applicantId": "5cb56e8e0a975a35f333cb83",
  "inspectionId": "5cb56e8e0a975a35f333cb84",
  "correlationId": "req-a260b669-4f14-4bb5-a4c5-ac0218acb9a4",
  "externalUserId": "externalUserId",
  "levelName": "basic-kyc-level",
  "type": "applicantReviewed",
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "createdAtMs": "2020-02-21 13:23:19.321"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
correlationIdStringA unique identifier of the event.
externalUserIdStringA unique user identifier on your side.
levelNameStringThe verification level name.
typeStringThe webhook type.
reviewResultObjectContains information about the verification results. For more information, see this article.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.

applicantOnHold

{
  "applicantId": "5c7791f80a975a1df426b9e9",
  "inspectionId": "5c7791f80a975a1df426b9ea",
  "applicantType": "individual",
  "correlationId": "req-4af54c06-6a50-4cb9-a7dc-b94b2f5b07eb",
  "levelName": "liveness-level",
  "externalUserId": "12672",
  "type": "applicantOnHold",
  "sandboxMode": false,
  "reviewStatus": "pending",
  "createdAtMs": "2020-02-21 13:23:19.002",
  "clientId": "coolClientId"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

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",
  "reviewStatus": "completed",
  "createdAtMs": "2020-02-21 13:23:16.001"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
applicantActionIdStringA unique applicant action identifier.
externalApplicantActionIdStringA unique applicant action identifier on your side.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.

applicantActionReviewed

{
  "applicantId": "5dc158b109494c3cbf431e28",
  "applicantActionId": "5dc2d80ce3cc9b1c1e389c4c",
  "externalApplicantActionId": "id122424234-random-r7otyykndi",
  "inspectionId": "5dc158b109494c3cbf431e29",
  "correlationId": "req-c9041677-e8dc-446b-ab8f-50b438a40aa8",
  "levelName": "basic-action-level",
  "externalUserId": "id122424234",
  "type": "applicantActionReviewed",
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "createdAtMs": "2020-02-21 13:23:19.001"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
applicantActionIdStringA unique applicant action identifier.
externalApplicantActionIdStringA unique applicant action identifier on your side.
inspectionIdStringA unique inspection identifier.
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
reviewResultObjectContains information about the verification results. For more information, see this article.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.

applicantActionOnHold

{
  "applicantId": "5ea867a9772e27d66728c64b",
  "applicantActionId": "5ea867c2772e27d66728c64f",
  "inspectionId": "5ea867a9772e27d66728c64c",
  "correlationId": "req-2c3cce19-c723-4fd0-a2f2-527789f95bcc",
  "levelName": "basic-action-level",
  "externalUserId": "random-4gguvx1oha",
  "type": "applicantActionOnHold",
  "reviewStatus": "init",
  "createdAtMs": "2020-04-28 18:16:09.001"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
applicantActionIdStringA unique applicant action identifier.
inspectionIdStringA unique inspection identifier.
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.

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"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewResultObjectContains information about the verification results. For more information, see this article.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.

applicantTagsChanged

{
  "applicantId": "5ede51230a975a19a19ba5c1",
  "inspectionId": "5ede51230a975a19a19ba5c2",
  "applicantType": "individual",
  "correlationId": "req-60103dee-79f1-43f4-bdcc-eb2654556afa",
  "levelName": "basic-kyc-level",
  "externalUserId": "12672",
  "type": "applicantTagsChanged",
  "sandboxMode": false,
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "createdAtMs": "2023-06-08 19:39:29.002",
  "clientId": "coolClientId"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewResultObjectContains information about the verification results. For more information, see this article.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

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"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

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"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

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"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

applicantReset

{
  "applicantId": "5f194e74040c3f316bda271c",
  "inspectionId": "5f194e74040c3f316bda271d",
  "applicantType": "individual",
  "correlationId": "req-57fed49a-07b8-4413-bdaa-a1be903769e9",
  "levelName": "basic-kyc-level",
  "externalUserId": "12672",
  "type": "applicantReset",
  "sandboxMode": false,
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "init",
  "createdAtMs": "2021-03-01 11:34:51.104",
  "clientId": "coolClientId"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewResultObjectContains information about the verification results. For more information, see this article.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

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"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

applicantLevelChanged

{
  "applicantId": "5f194e74040c3f316bda271c",
  "inspectionId": "5f194e74040c3f316bda271d",
  "applicantType": "individual",
  "correlationId": "req-d34c974c-5935-41b8-a0a9-cedd2407eadd",
  "levelName": "basic-kyc-level",
  "previousLevelName": "previous-kyc-level",
  "externalUserId": "12672",
  "type": "applicantLevelChanged",
  "sandboxMode": false,
  "reviewStatus": "init",
  "createdAtMs": "2020-07-23 11:19:33.002",
  "clientId": "coolClientId"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
previousLevelNameStringThe verification level name prior to the level change.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

applicantWorkflowCompleted

{
  "applicantId": "64106d6b7d5a2d5159e6b01a",
  "inspectionId": "64106d6b7d5a2d5159e6b01b",
  "applicantType": "individual",
  "correlationId": "req-57fed49a-07b8-4413-bdaa-a1be903769e9",
  "levelName": "basic-kyc-level",
  "sandboxMode": false,
  "externalUserId": "12672",
  "type": "applicantWorkflowCompleted",
  "reviewResult": {
    "reviewAnswer": "RED",
    "rejectLabels": [
      "AGE_REQUIREMENT_MISMATCH"
    ],
    "reviewRejectType": "FINAL",
    "buttonIds": []
  },
  "reviewStatus": "completed",
  "createdAt": "2023-03-14 12:50:27+0000",
  "createdAtMs": "2023-03-14 12:50:27.238",
  "clientId": "coolClientId"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox .
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
reviewResultObjectContains information about the verification results. For more information, see this article.
reviewStatusStringThe current applicant status.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

videoIdentStatusChanged

{
  "applicantId": "5f8993f93324610009e5885e",
  "inspectionId": "5f8993f93324610009e5885f",
  "applicantType": "individual",
  "correlationId": "req-5a570d5d-e27c-484b-94a9-0f1e9fb2764c",
  "levelName": "kyc_video",
  "externalUserId": "flow-feb1f7ad-b2e2-479a-a4d5-bca5486f7b85",
  "type": "videoIdentStatusChanged",
  "sandboxMode": false,
  "reviewStatus": "init",
  "videoIdentReviewStatus": "pending",
  "createdAtMs": "2020-10-16 12:37:26.002",
  "clientId": "SumsubClient"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
reviewStatusStringThe current applicant status.
videoIdentReviewStatusStringStatus of the VideoIdent call.
createdAtMsDateDate and time when the webhook was created (format yyyy-MM-dd HH:mm:ss.fff, e.g. 2021-05-14 16:00:25.032) in UTC.
clientIdStringYour client identifier.

videoIdentCompositionCompleted

{
  "applicantId": "596928690a975a137c5b207e",
  "inspectionId": "596928690a975a137c5b207a",
  "correlationId": "req-a7812631-2c40-4f13-8407-fd42a516f0b0",
  "levelName": "basic-kyc",
  "type": "videoIdentStatusChanged",
  "sandboxMode": "false",
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "compositionMediaId": "596928690a975a137",
  "createdAtMs": "2020-10-16 12:34:25.003",
  "clientId": "coolClientId"
}
NameTypeDescription
applicantIdStringA unique applicant identifier.
inspectionIdStringA unique inspection identifier.
applicantTypeStringThe applicant type (company) or (individual).
correlationIdStringA unique identifier of the event.
levelNameStringThe verification level name.
externalUserIdStringA unique user identifier on your side.
typeStringThe webhook type.
sandboxModeBooleanSet to true if the webhook was sent from Sandbox.
reviewResultObjectContains information about the verification results. For more information, see this article.
reviewStatusStringThe current applicant status.
videoIdentReviewStatusStringStatus of the VideoIdent call.