Receive results via API

Understand verification statuses, associated webhooks, and rejection labels.

After applicant verification is complete, we send you the results via the applicantReviewed webhook.

In this webhook, you can find the reviewResult object with the reviewAnswer field that indicates the verification status. If the status is GREEN, it means verification went well. If it is RED, additional fields are added:

  • moderationComment — a human-readable comment that can be shown to your applicants. Note that some images may also contain additional document-specific comments, in which case the field might be empty. To get the additional comments, use this method.
  • clientComment — a 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.
  • reviewAnswer — explains the review result: GREEN — approved, RED — rejected.
  • rejectLabels — enumerates rejection labels.
  • reviewRejectType — Indicates the type of rejection:
    • FINAL — indicates a final rejection, for example, when the applicant is considered to be a fraudster or a client does not want to accept such types of clients.
    • RETRY — applicants are allowed to resubmit their documents, for example, by uploading an image of better quality.
  • buttonIds — specific identifiers that are automatically assigned to each rejection of an applicant or a document. For more details, see Resubmission requested and Rejected.

An example webhook payload with a GREEN response:

{
  "applicantId": "5cb56e8e0a975a35f333cb83",
  "inspectionId": "5cb56e8e0a975a35f333cb84",
  "correlationId": "req-a260b669-4f14-4bb5-a4c5-ac0218acb9a4",
  "externalUserId": "externalUserId",
  "levelName": "id-and-liveness",
  "type": "applicantReviewed",
  "reviewResult": {
    "reviewAnswer": "GREEN"
  },
  "reviewStatus": "completed",
  "createdAtMs": "2020-02-21 13:23:19.321"
}

An example webhook payload with a RED (final rejection) response:

{
  "applicantId": "5cb744200a975a67ed1798a4",
  "inspectionId": "5cb744200a975a67ed1798a5",
  "correlationId": "req-fa94263f-0b23-42d7-9393-ab10b28ef42d",
  "externalUserId": "externalUserId",
  "levelName": "id-and-liveness",
  "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": "Verification rejected due to excessive file uploads.",
    "reviewAnswer": "RED",
    "rejectLabels": [
      "UNSATISFACTORY_PHOTOS",
      "GRAPHIC_EDITOR",
      "FORGERY"
    ],
    "reviewRejectType": "FINAL",
    "buttonIds": [
      "selfie_badFaceComparison",
      "badPhoto",
      "additionalPages",
      "badDocument",
      "additionalPages_anotherSide",
      "badDocument_withoutFace",
      "badPhoto_screenshot",
      "selfie",
      "spam",
      "badPhoto_dataNotVisible"
    ]
  },
  "reviewStatus": "completed",
  "createdAtMs": "2020-02-21 13:23:19.001"
}

Understand rejection

When applicants are rejected, we automatically assign rejection labels to their profile. We also assign explanatory buttons clarifying the reason for rejection. Explanatory buttons may have a Resubmission requested or Rejected state. To get the list of explanatory buttons by applicantId, use this API method.

Resubmission requested labels

This type of rejection usually occurs when the required documents are unsuitable or uploaded in poor quality. Applicants can correct any outstanding issues in accordance with the system instructions and attempt verification again:

Resubmission requested labelsDescription
ADDITIONAL_DOCUMENT_REQUIREDAdditional documents are required to pass the check.
ADVERSE_MEDIAApplicant was found in the adverse media.
AGE_REQUIREMENT_MISMATCHThe Age requirement is not met (e.g. can't rent a car to a person below 25yo).
APPLICANT_INTERRUPTED_INTERVIEWApplicant refused to finish the interview during the Video Ident call.
BACK_SIDE_MISSINGBack side of the document is missing.
BAD_AVATARApplicant's avatar doesn't meet the client's requirements.
BAD_FACE_MATCHINGFace check between a document and a selfie was failed.
BAD_PROOF_OF_ADDRESSApplicant uploaded a poor quality proof of address.
BAD_PROOF_OF_IDENTITYApplicant uploaded a poor quality ID document.
BAD_PROOF_OF_PAYMENTApplicant uploaded a poor quality proof of payment.
BAD_SELFIEApplicant uploaded a selfie in poor quality.
BAD_VIDEO_SELFIEApplicant uploaded a video selfie in poor quality.
BLACK_AND_WHITEApplicant uploaded black and white photos of their documents.
BLACKLISTUser is blocklisted by Sumsub.
BLOCKLISTUser is blocklisted by you.
CHECK_UNAVAILABLEExternal database service is not available at the moment.
COMPANY_DATA_MISMATCHCompany attributes like Name, Registration on the provided documents do not match the state company registry.
COMPANY_INACTIVE_ENTITYAccording to the publicly available state company registry, the entity is inactive, dissolved, or deregistered.
COMPANY_INCORRECT_DATAProvided company attributes like Name, Registration or Tax Number do not match the provided documents or the state company registry.
COMPANY_NOT_DEFINED_BENEFICIARIESThe entity's beneficial owners weren't identified and duly verified.
COMPANY_NOT_DEFINED_OWNERSHIP_STRUCTURECompany ownership structure has not been specified or differs from the one declared by the corporate documents.
COMPANY_NOT_DEFINED_REPRESENTATIVESThe entity's representatives weren't defined.
COMPANY_NOT_DEFINED_STRUCTUREThe entity's control structure wasn't defined.
COMPANY_NOT_VALIDATED_BENEFICIARIESThe entity's beneficial owners weren't validated.
COMPANY_NOT_VALIDATED_BENEFICIAL_OWNERSNot all beneficial owners have passed the KYC verification procedure.
COMPANY_NOT_VALIDATED_DIRECTORSNot all directors have passed the KYC verification procedure.
COMPANY_NOT_VALIDATED_REPRESENTATIVESThe entity's representatives weren't validated.
COMPANY_PROBLEMATIC_STRUCTUREThere are officials in the control and ownership structure who got rejected.
COMPROMISED_PERSONSApplicant doesn't correspond to Compromised Person Politics.
CONNECTION_INTERRUPTEDVideo Ident call connection was interrupted.
CRIMINALApplicant is involved in the illegal actions.
DB_DATA_MISMATCHInput data/doc does not match the data from the external database.
DB_DATA_NOT_FOUNDData not found in the external database.
DB_NO_DATA_SOURCEInput data is not supported by any enabled source.
DIGITAL_DOCUMENTApplicant uploaded a digital version of the document.
DOCUMENT_DAMAGEDDocument is damaged.
DOCUMENT_DEPRIVEDApplicant has been deprived of the document.
DOCUMENT_MISSINGApplicant refused to show or didn't have required documents during the Video Ident call.
DOCUMENT_PAGE_MISSINGSome pages of a document are missing (if applicable).
DOCUMENT_TEMPLATESubmitted documents are templates downloaded from the internet.
DUPLICATEApplicant has multiple accounts while duplicates aren't allowed by the regulations.
EXPERIENCE_REQUIREMENT_MISMATCHApplicant doesn't have enough experience (e.g. driving experience is not enough).
EXPIRATION_DATEApplicant uploaded an expired document.
FOREIGNERRejection label associated with the applicants from an unsupported country or e.g. without a residence permit.
FORGERYForgery attempt was recognized.
FRAUDULENT_LIVENESSThere was an attempt to bypass liveness check.
FRAUDULENT_PATTERNSThere was fraudulent behavior detected during the verification.
FRONT_SIDE_MISSINGFront side of the document is missing.
GRAPHIC_EDITORDocument has been edited by a graphical editor.
GPS_AS_POA_SKIPPEDWhen GpsAsPoa was skipped and no image uploaded.
ID_INVALIDDocument that identifies a person (like a passport or an ID card) is not valid.
INCOMPATIBLE_LANGUAGEDocument's translation is required.
INCOMPLETE_DOCUMENTSome information is missing from the document, or it's partially visible.
INCONSISTENT_PROFILEData or documents of different persons were uploaded to one applicant.
INCORRECT_SOCIAL_NUMBERIncorrect TIN/SSN was provided to perform the check.
LOW_QUALITYDocuments have low-quality that doesn't allow definitive decisions to be made.
MORE_DOCUMENTS_REQUIREDAdditional documents are required to pass the check for applicant review.
NOT_ALL_CHECKS_COMPLETEDNot all of the checks were completed.
NOT_DOCUMENTSubmitted documents aren't relevant for the verification procedure.
OKCustom reject label.
OTHERThere is some unclassified reason of rejection.
OUTDATED_DOCUMENT_VERSIONBased on the publicly available state company register, not the most recent version was provided.
PEPApplicant belongs to the PEP category.
PROBLEMATIC_APPLICANT_DATAApplicant data doesn't match the data in their documents.
REGULATIONS_VIOLATIONSSome violations of the regulations were found.
REQUESTED_DATA_MISMATCHProvided information doesn't match with the data recognized from a document.
RESTRICTED_PERSONPerson is found in a restricted list (e.g., prohibited from betting).
SANCTIONSApplicant was found on the sanction lists.
SCREENSHOTSApplicant uploaded screenshots.
SELFIE_MISMATCHApplicant's photo (profile image) doesn't match a photo on the provided documents.
SELFIE_WITH_PAYMENTSpecial selfie is required (e.g. selfie with a piece of paper and date on it).
SPAMApplicant was created by mistake or is just a spam user (irrelevant images were supplied).
STOLEN_DOCSSumsub ID account owner reported unauthorized use of their documents and requested to stop the verification process.
SUSPICIOUS_PATTERNSAn obsolete label. The applicant may have previously received a “Rejected” status in the dashboard due to patterns potentially implying a non-genuine verification attempt (e.g., signs of artificially altered data, third-party involvement, etc).
THIRD_PARTY_INVOLVEDVideo Ident user is trying to pass verification to transfer the account to a third party.
UNFILLED_IDApplicant uploaded the document without signatures and stamps.
UNSATISFACTORY_PHOTOSThere were problems with the photos during verification, like poor quality or masked information.
UNSUITABLE_DOCUMENTDocument either does not fit the required type or lacks obligatory elements, like seal, apostille, or notary certification.
UNSUITABLE_ENVApplicant is either not alone or nor visible during the Video Ident call.
UNSUPPORTED_LANGUAGEVideo Ident user does not speak the language common to the operator.
WRONG_ADDRESSAddress from the applicant's documents doesn't match the address entered by them manually.
WRONG_USER_REGIONApplicant from a region/country which is not allowed to be registered

Rejected labels

This type of rejection occurs due to major violations of the verification rules, such as fraud attempts. Applicants are blocked and cannot attempt verification again:

Rejected labelsDescription
ADVERSE_MEDIAApplicant was found in the adverse media.
AGE_REQUIREMENT_MISMATCHAge requirement is not met (for example, cannot rent a car to a person below 25yo).
BLOCKLISTApplicant is blocklisted by your side.
CHECK_UNAVAILABLEDatabase is not available.
COMPROMISED_PERSONSApplicant does not correspond to Compromised Person Politics.
CRIMINALApplicant is involved in illegal actions.
DB_DATA_MISMATCHData mismatch; the profile could not be verified.
DB_DATA_NOT_FOUNDNo data was found; the profile could not be verified.
DOCUMENT_TEMPLATEDocuments supplied are templates downloaded from the internet.
DUPLICATEThis applicant was already created for this client, and duplicates are not allowed by the regulations.
EXPERIENCE_REQUIREMENT_MISMATCHNot enough experience (for example, driving experience is not enough).
EXTERNAL_DECISION_REJECTIONThe applicant was rejected not by Sumsub decision, but by an external decision submitted via API.
FORGERYForgery attempt has been made.
FRAUDULENT_LIVENESSThere was an attempt to bypass the liveness check.
FRAUDULENT_PATTERNSFraudulent behavior was detected.
INCONSISTENT_PROFILEData or documents of different persons were uploaded to one applicant.
PEPApplicant belongs to the PEP category.
REGULATIONS_VIOLATIONSRegulations violations.
SANCTIONSApplicant was found on sanction lists.
SELFIE_MISMATCHApplicant photo (profile image) does not match a photo on the provided documents.
SPAMApplicant has been created by mistake or is just a spam user (irrelevant images were supplied).
NOT_DOCUMENTDocuments supplied are not relevant for the verification procedure.
THIRD_PARTY_INVOLVEDApplicant is doing verification from a third party for a fee.
UNSUPPORTED_LANGUAGEUnsupported language for video identification.
WRONG_USER_REGIONWhen applicants from certain regions/countries are not allowed to be registered.
SUSPICIOUS_PATTERNSAn obsolete label. The applicant may have previously received a “Rejected” status in the dashboard due to patterns potentially implying a non-genuine verification attempt (e.g., signs of artificially altered data, third-party involvement, etc).