---
updatedAt: 2026-09-29T08:39:48.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Clarify rejection reason

# Overview

Use this method to retrieve the [rejection reasons](https://docs.sumsub.com/sumsub/docs/rejection-labels-and-explanatory-buttons) for a document or applicant.

A specific `buttonId` is automatically assigned to each type of rejection status. For more information, see [Resubmission requested](https://docs.sumsub.com/sumsub/reference/resubmission-requested) and [Rejected](https://docs.sumsub.com/sumsub/reference/rejected).

## Required permissions

To use this method, no particular [permission](https://docs.sumsub.com/sumsub/docs/user-roles#permissions) is required on the [app token](https://docs.sumsub.com/sumsub/docs/app-tokens) — a valid API token is sufficient.

# Request example

```curl
curl -X GET \
     'https://api.sumsub.com/resources/moderationStates/-;applicantId=6a9ac64ef47e9fe555500000' \
     -H 'X-App-Token: <your-app-token>' \
     -H 'X-App-Access-Sig: <your-signature>' \
     -H 'X-App-Access-Ts: <unix-timestamp>'
```

# Response explained

The following table explains the response structure.

| Name             | Type   | Optional | Description                                                                                           |
| ---------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------- |
| `imagesStates`   | Object | Yes      | The structure contains `imageId` and `buttonId` indicating the rejection reason.                      |
| `applicantState` | Object | Yes      | The structure contains `buttonId` indicating the rejection reason of the applicant data or applicant. |

<Callout icon="📘" theme="info">
  ### Note

  `imagesStates` and `applicantState` are included in the response only when the applicant is rejected.
</Callout>

# JSON representation

The following is a JSON representation containing the list of button identifiers and their associated groups.

<Callout icon="📘" theme="info">
  ### Note

  The method returns combined group and button identifiers (for example, `dataMismatch_fullName`).
</Callout>

```json
{
    "spam":[], //The applicant uploaded irrelevant images or failed to provide the required documents 10 or more times.
    "redCrypto":[], //The provided e-wallet has a high risk score.
    "blackCrypto":[], //The crypto wallet address is incorrect.
    "differentDocs":[], //The documents or means of payment submitted by the applicant belong to different people.
    "paymentsIssues":[], //The provided payment method was rejected due to high risk.
    "regulationsViolations":[
       "age", //The applicant does not meet the client's age requirements.
       "duplicate", //By default, one applicant can have only one active account.
       "wrongRegion", //The applicant is from a region or a country that is not supported by the client.
       "inconsistency", //The bank card holder name does not match the name on the applicant ID.
       "countriesMismatch", //The applicant country of residence does not match the bank card registration country.
       "riskBankCard", //The provided bank card has a high risk score.
       "highRiskProfile", //The system has detected suspicious applicant behavior such as high-risk IP, using multiple devices, and so on.
       "gender", //The gender in the applicant profile does not match the gender in the document uploaded by the applicant.
       "unsupportedLanguage" //The applicant doesn't speak any of the supported languages.
    ],
    "dataMismatch":[
       "fullName", //The full name on the profile is either missing or incorrect.
       "dateOfBirth", //The date of birth on the profile is either missing or incorrect.
       "address", //There was an issue with the address on the profile.
       "inconsistency", //The bank cardholder name does not match the name on the ID.
       "gender" //The gender in the applicant profile does not match the gender in the document uploaded by the applicant.
    ],
    "fraudulentPatterns":[
      "selfieMismatch", //Selfie does not match the picture in the document.
      "fake", //Suspected fraudulent account.
      "blocklist", //User account is suspected to be fake. We found it in your blocklist.
      "highRiskProfile", //High behavioral risk scoring.
      "livenessForced", //User was forced to pass liveness.
      "deepFake" //An attempt to bypass liveness check with deep fake.
      "template" // Suspected tampered data.
    ],
    "dbNetChecks":[
       "incorrectTin", //The tax number provided by the applicant is incorrect.
       "incorrectSsn", //The SSN number provided by the applicant is incorrect.
       "incorrectBvn" //The BVN number provided by the applicant is incorrect.
    ],
    "compromisedPersons":[
       "pep", //The applicant is a politically exposed person. This means that they are currently in a position of great control or have been in the past.
       "sanctionList", //The applicant was mentioned on sanctions lists.
       "criminalRecords", //The applicant is a convicted criminal.
       "incompleteName", //The name the applicant entered is incomplete, so the system could not match it against the watchlists properly.
       "adverseMedia" //The applicant is mentioned in adverse media.
    ],
    "company":[
       "moreDocs", //Sumsub needs more documents to process with verification.
       "controlStructureIsNotEstablished", //Sumsub could not establish the verified entity's control structure.
       "notValidatedBeneficiaries", //Sumsub could not validate Beneficiaries.
       "notDeterminedRepresentatives", //Sumsub could not validate the verified entity's representatives.
       "notValidatedRepresentatives" //Sumsub could not identify or properly verify the verified entity's representatives.
    ],
    "additionalPages":[
       "mainPageId", //The uploaded document is missing the biodata page.
       "nextPage", //The uploaded document is missing a page.
       "registrationStamp", //The uploaded document is missing the address page.
       "expirationPage", //The uploaded document is missing the expiration date page.
       "anotherSide" //The uploaded document is double-sided and only one side was uploaded.
    ],
    "badDocument":[
       "expiredId", //The provided identity document has expired.
       "invalidId", //The provided identity document is invalid.
       "damagedId", //The provided ID document is damaged to the extent that it makes verification data, such as name or MRZ, unreadable (for example, the ID is stained or scratched).
       "wrongType", //The uploaded document can not be accepted for verification.
       "notFullNameOrDob", //Applicant full name or date of birth is not present in the provided document.
       "withoutFace", //The face of the document’s owner is poorly visible, making face match impossible.
       "dataNotVisible", //The information on the uploaded photo is illegible. The image may be blurred or cropped, making it impossible to read the needed data (for example, name or MRZ).
       "copyOfIdDoc", //The applicant has uploaded a photo of a paper copy of their document instead of the original document, which is no acceptable.
       "noStamp", //The applicant uploaded a document that does not have the stamp of the issuing organization.
       "unsigned", //The applicant uploaded a document without relevant signatures and stamps.
       "needTranslation", //The applicant uploaded a document in a language that is not supported by Sumsub, so the notarized English translation has been requested.
       "expirationDate", //The provided identity document expires in less than one month.
       "digitalId" //The applicant uploaded a digital version of the document.
    ],
    "badPhoto":[
       "lowQuality", //The information on the ID document is not visible or can not be read.
       "editedPoa", //The uploaded photo displays signs of tampering via a digital editor.
       "screenshot", //The applicant uploaded screenshots instead of photos or scans.
       "blackAndWhite", //The applicant uploaded black and white photos of a document instead of color photos.
       "imageEditor", //The photo displays signs of tampering via a digital editor. The purpose of the editor could be anything from resizing to forgery.
       "incomplete", //Part of the document (document corners) is not visible.
       "dataNotVisible", //The information on the uploaded photo is illegible. The image may be blurred or cropped, making it impossible to read the needed data (for example name or MRZ).
       "sticker" //The uploaded photo displays signs of tampering via a digital editor.
    ],
    "selfie":[
       "lowQuality", //The information on the ID document is not visible or can not be read.
       "selfieWithId", //The applicant uploaded a selfie without the ID document.
       "webcamSelfie", //The applicant failed the Liveness check.
       "selfieWithAnotherId", //The ID document in the selfie is different from the ID document uploaded by the applicant.
       "selfieWithNewId", //The ID document in the selfie can not be detected or read.
       "badFaceComparison", //The applicant's face on the selfie is not clearly visible and can not be matched against the photo in the ID document.
       "selfieLiveness", //The applicant failed the Liveness check.
       "livenessWatermark" //There is camera text or a watermark on the Liveness record originating from the proprietary software.
    ],
    "videoSelfie":[
       "lowQuality", //The information on the ID document is not visible or can not be read.
       "videoWithoutFace", //The pronounced phrase does not match the provided text.
       "spokenPhraseMismatch" //The applicant's face can not be detected on the selfie.
    ],
    "proofOfAddress":[
       "fullName", //The full name of the applicant has not been provided on the document or can’t be read.
       "fullAddress", //The full address of the applicant has not been provided on the document or can’t be read.
       "issueDate", //There is no issue date on the document uploaded by the applicant.
       "listOfDocs", //The applicant uploaded a document that is not supported by Sumsub.
       "dataMismatch", //The address on the document uploaded by the applicant does not match the address entered by the applicant.
       "sameDoc", //The applicant uploaded the same document as PoA and PoI.
       "certifiedForm", //There is no stamp/signature of the issuing organization on the document uploaded by the applicant.
       "notEnoughData" //The account/card number on the bank statement is missing or can not be read.
    ],
    "proofOfPayment":[
       "bankCard", //The information on the bank card is missing or can’t be read.
       "bankStatement", //The information on the bank statement is missing or can’t be read.
       "e-wallet", //The e-wallet needs to be confirmed.
       "wireTransfer", //The wire transfer needs to be confirmed.
       "bankAccount", //The information about the bank account is missing.
       "dataMismatch" //The address on the document uploaded by the applicant does not match the address entered by the applicant.
    ],
    "bankCard":[
       "fullNameIssue", //The name on the bank card is missing.
       "expirationDate", //The provided bank card has expired or expires soon.
       "noCard" //The applicant uploaded an image of a copy of the bank card.
    ],
    "bankStatement":[
       "fullNameIssue", //The full name on the bank statement is missing or can not be read.
       "numberMismatch", //The bank card number on the bank statement does not match the provided bank card.
       "invalidIssueDate", //The issue date on the bank statement is missing or can not be read.
       "notEnoughData" //The account/card number on the bank statement is missing or can not be read.
    ],
    "fake":[
       "editedMrz", //MRZ of the document was modified.
       "editedId", //Data in the document was modified.
       "forgedId", //The document has been physically tampered with.
       "webId", //The photo of the document was found on the dark web.
       "fakePoa", //The information in the PoA document is inconsistent.
       "editedBarcode", //The barcode in the document was modified.
       "fakeLiveness", //An attempt to bypass the liveness check was detected.
       "fakeSelfie", //The ID document used in the selfie is fake.
       "nfcMismatch" //The data extracted form the NFC chip does not match the data in the document.
    ],
    "selfieIssues":[
       "livenessWithPhone", //The applicant phone was present during the livdeness check.
       "livenessDifferentPeople" //Multiple people/devices were present during the liveness check.
    ],
    "videoIdent":[
       "notAlone", //On the Video Ident call, the applicant was not alone.
       "badConnection", //The Video Ident call connection was interrupted.
       "notSeen", //On the Video Ident call, the applicant was not visible.
       "noSuitableDocs", //The applicant failed to provide the required documents on the Video Ident call.
       "applicantInterruptedInterview" //On the Video Ident call, the applicant did not finish the interview.
    ],
    "videoIdentFinalRejection":[
       "unsupportedLanguage", //The applicant doesn't speak any of the supported languages.
       "3rdPartyInvolvement", //We suspect the applicant was paid to create the account.
       "forcedVerification" //The video indent call showed that the applicant was misled and/or forced by the 3rd party to create the account.
    ],
    "ekycReject":[
       "notEnoughDataInSource", //Sumsub could not find the applicant data in the government database.
       "skip", //E-KYC step has been skipped.
       "dataMismatch" //The data provided by the applicant does not match the data from the government database.
    ],
    "ekycRetry":[
       "checkUnavailable" //The government database is currently unavailable, so we were not able to verify applicant data.
    ]
 }
```

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "sumsub-api",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.sumsub.com"
    }
  ],
  "components": {
    "securitySchemes": {
      "sec0": {
        "type": "apiKey",
        "name": "X-App-Token",
        "in": "header",
        "x-default": ""
      }
    }
  },
  "security": [
    {
      "sec0": []
    }
  ],
  "paths": {
    "/resources/moderationStates/-;applicantId={applicantId}": {
      "get": {
        "summary": "Clarify rejection reason",
        "description": "",
        "operationId": "clarify-rejection-reason",
        "parameters": [
          {
            "name": "applicantId",
            "in": "path",
            "description": "Unique applicant identifier in the Sumsub system. <br><br>This identifier is a random combination of 24 digits and lowercase Latin characters. It is automatically generated when the applicant is created on the Sumsub side, and can be found in the [Dashboard](https://cockpit.sumsub.com/checkus/#/applicants/company?limit=10&page=0). <br><br>If the `applicantId` is unknown to you, use the [Get applicant data (externalUserId)](https://docs.sumsub.com/sumsub/reference/get-applicant-data-via-externaluserid) method to fetch it.",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```