---
updatedAt: 2026-09-25T11:43:06.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Error codes

This article provides a reference for Sumsub error codes and universal error codes returned by the API. For each error, you can find the corresponding HTTP status code and a description of the issue.

<Callout icon="⚠️" theme="warn">
  ### Important

  HTTP status codes are available in both the response headers and the response body, while `errorCode` values are returned in the response body.
</Callout>

Mind that not all error responses include an `errorCode`. In many cases, the response contains only the universal `errorCode` and an error message describing the issue.

<style>
    .line {
        border-top: 1px solid rgb(0 0 0 / 10%);
        margin-bottom: -32px;
        margin-top: 50px;
    }
  
    [data-color-mode="dark"] .line {
        background-color: rgb(255 255 255 / 8%);
    }
  
    @media (prefers-color-scheme: dark) {
        [data-color-mode="system"] .line {
            background-color: rgb(255 255 255 / 8%);
        }
    }
  
    .footer-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0px;
        margin-bottom: 0px;
        padding-top: 0px;
        max-width: 500px;
    }
  
    .footer-container h3 {
        font-size: 14px;
    }
  
    .footer-container basic {
        font-size: 12px;
        font-weight: 500;
        color: #5f666c;
        line-height: 24px;
    }
  
    .footer-container2 {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 0px;
        margin-bottom: 0px;
        padding-top: 0px;
        max-width: 800px;
    }
  
    .footer-container2 h3 {
        font-size: 14px;
    }
  
    .font-small-header {
        font-size: 14px;
        font-weight: 600;
    }
  
    --- .table-text {
        margin: 24px 0;
        border: 1px solid #e5e5e5;
        border-radius: 8px;
        overflow: hidden;
    }
  
    .wide-column {
        min-width: 180px;
    }
  
    table {
        border-collapse: collapse;
        width: 100%;
    }
  
    th {
        background-color: #f6f7f9;
        border: 1px solid #e5e5e5;
        padding: 8px;
        font-weight: bold;
        text-align: left;
    }
  
    @media (prefers-color-scheme: dark) {
        [data-color-mode="auto"] th {
            background-color: #303b42;
            border: 1px solid #e5e5e5;
        }
    }
  
    [data-color-mode="dark"] th {
        background-color: #303b42;
        border: 1px solid #e5e5e5;
    }
  
    td {
        border: 1px solid #e5e5e5;
        padding: 8px;
        text-align: left;
    }
  
    tr:nth-child(odd) {
        background-color: #fff;
    }
  
    tr:nth-child(even) {
        background-color: #f8f8f8;
    }
  
    .table-text h2 {
        font-size: 14px;
        margin: 0px;
        color: #384248;
    }
  
    @media (prefers-color-scheme: dark) {
        [data-color-mode="auto"] .table-text h2 {
            color: #ffff;
        }
    }
  
    [data-color-mode="dark"] .table-text h2 {
        color: #ffff;
    }
  
    .table-text p {
        font-size: 14px;
        margin: 0;
        color: #414552;
    }
  
    @media (prefers-color-scheme: dark) {
        [data-color-mode="auto"] .table-text p {
            color: #ffff;
        }
    }
  
    [data-color-mode="dark"] .table-text p {
        color: #ffff;
    }
  
    .table-text a {
        color: #377cf7;
        text-decoration: underline;
    }
  
    @media (prefers-color-scheme: dark) {
        [data-color-mode="auto"] .table-text a {
            color: #ffff;
        }
    }
  
    [data-color-mode="dark"] .table-text a {
        color: #ffff;
    }
  
    .table-text tr:first-child {
        margin-bottom: 20px;
    }
  
    ul2 {
        margin-left: -40px !important;
    }
    li2 {
        margin-bottom: 10px;
        display: flex;
        align-items: top;
    }
    .icongreen {
        margin-right: 10px;
        margin-top: 3px;
        min-width: 16px;
        height: 16px;
    }
  
    .iconred {
        margin-right: 10px;
        margin-top: 3px;
        min-width: 16px;
        height: 16px;
    }
  
    .flag-container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 24px;
        padding-top: 0px;
    }
  
    .flag-container basic {
        font-size: 15px;
        color: #384248;
        line-height: 36px;
    }
  
    .flag-icon {
        width: 20px;
        height: 20px;
        margin-right: 5px;
    }
  </style>

  <div class="rdmd-table">
    <div class="rdmd-table-inner">
        <div class="table-text">

<table>
                <tr>
                    <th>
                        <p>Sumsub <code>errorCode</code></p>
                    </th>
                    <th>
                        <p>Error name</p>
                    </th>
                    <th>
                        <p>Universal <code>errorCode</code></p>
                    </th>
                    <th>
                        <p>Description</p>
                    </th>
                </tr>
                <tbody>
                    <tr>
                         <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Upload errors</b></p>
                            <p>Errors related to document and file uploads. For more information about document requirements, refer to <a href="/docs/how-id-verification-works#content-requirements">this article</a>.</p>
                         </td>
                    </tr>
                    <tr>
                        <td><p>1000</p></td>
                        <td><p><code>duplicate-document</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Applicant uploaded the duplicate document (image, video).</p></td>
                    </tr>
                    <tr>
                        <td><p>1001</p></td>
                        <td><p><code>too-many-documents</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant exceeded the maximum allowed number of uploaded documents. Adding new is not allowed.</p></td>
                    </tr>
                    <tr>
                        <td><p>1002</p></td>
                        <td><p><code>file-too-big</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Uploaded file size exceeds the allowed limit (more than 64MB).</p></td>
                    </tr>
                    <tr>
                        <td><p>1003</p></td>
                        <td><p><code>empty-file</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Uploaded file is empty and cannot be processed (0 bytes).</p></td>
                    </tr>
                    <tr>
                        <td><p>1004</p></td>
                        <td><p><code>corrupted-file</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Uploaded file is corrupted or cannot be read (for example, PDF file is uploaded as JPEG).</p></td>
                    </tr>
                    <tr>
                        <td><p>1005</p></td>
                        <td><p><code>unsupported-file-format</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Uploaded file format is not supported (for example, a TIFF image).</p></td>
                    </tr>
                    <tr>
                        <td><p>1006</p></td>
                        <td><p><code>no-upload-verification-in-progress</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Applicant is being checked. Adding new data is not allowed.</p></td>
                    </tr>
                    <tr>
                        <td><p>1007</p></td>
                        <td><p><code>incorrect-file-size</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Uploaded file does not meet the required size requirements specified in the global settings.</p></td>
                    </tr>
                    <tr>
                        <td><p>1008</p></td>
                        <td><p><code>applicant-marked-as-deleted</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Applicant has been marked as deleted/inactive. No action is allowed to change the status.</p></td>
                    </tr>
                    <tr>
                        <td><p>1009</p></td>
                        <td><p><code>applicant-with-final-reject</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Applicant has received a FINAL rejection. Adding new data/files is not allowed.</p></td>
                    </tr>
                    <tr>
                        <td><p>1010</p></td>
                        <td><p><code>doc-type-not-in-req-docs</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Applicant attempted to upload a document type outside the configured document set.</p></td>
                    </tr>
                    <tr>
                        <td><p>1011</p></td>
                        <td><p><code>encrypted-file</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Uploaded file is encrypted and cannot be processed.</p></td>
                    </tr>
                    <tr>
                        <td><p>1012</p></td>
                        <td><p><code>file-processing-experiencing-difficulties</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Sumsub's internal file-processing service was temporarily unavailable while handling the upload. The document itself is fine — retry the request.</p></td>
                    </tr>                    
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b><code style="background: transparent;">readOnly</code> mode errors</b></p>
                            <p>Errors that occur when attempting to change settings in <code style="background: transparent;">readOnly</code> mode.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>2010</p></td>
                        <td><p><code>webauthn-invalid-request</code></p></td>
                        <td><p>400</p></td>
                        <td><p>WebAuthn request is invalid.</p></td>
                    </tr>
                    <tr>
                        <td><p>2011</p></td>
                        <td><p><code>webauthn-register-error</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Error occurred while registering a WebAuthn authenticator.</p></td>
                    </tr>
                    <tr>
                        <td><p>2012</p></td>
                        <td><p><code>webauthn-register-duplicate</code></p></td>
                        <td><p>400</p></td>
                        <td><p>WebAuthn authenticator has already been registered.</p></td>
                    </tr>
                    <tr>
                        <td><p>2013</p></td>
                        <td><p><code>webauthn-auth-error</code></p></td>
                        <td><p>400</p></td>
                        <td><p>WebAuthn authentication failed.</p></td>
                    </tr>
                    <tr>
                        <td><p>2014</p></td>
                        <td><p><code>pwned-password</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided password has been identified as compromised and cannot be used.</p></td>
                    </tr>
                    <tr>
                        <td><p>2015</p></td>
                        <td><p><code>session-ip-changed</code></p></td>
                        <td><p>403</p></td>
                        <td><p>Session was invalidated because the IP address changed.</p></td>
                    </tr>
                    <tr>
                        <td><p>2017</p></td>
                        <td><p><code>forbidden-countries</code></p></td>
                        <td><p>403</p></td>
                        <td><p>Access is not allowed from the provided country.</p></td>
                    </tr>
                    <tr>
                        <td><p>2018</p></td>
                        <td><p><code>invalid-password</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Provided password is incorrect.</p></td>
                    </tr>
                    <tr>
                        <td><p>2019</p></td>
                        <td><p><code>action-requires-2fa</code></p></td>
                        <td><p>403</p></td>
                        <td><p>Requested action requires two-factor authentication.</p></td>
                    </tr>
                    <tr>
                        <td><p>2020</p></td>
                        <td><p><code>session-invalidated</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Session has been invalidated and is no longer valid.</p></td>
                    </tr>
                    <tr>
                        <td><p>2021</p></td>
                        <td><p><code>session-invalidated-inactivity</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Session has been invalidated due to inactivity.</p></td>
                    </tr>
                    <tr>
                        <td><p>2022</p></td>
                        <td><p><code>session-invalidated-max-duration</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Session has expired because the maximum session duration was reached.</p></td>
                    </tr>
                    <tr>
                        <td><p>2023</p></td>
                        <td><p><code>session-invalidated-mismatch</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Session has been invalidated because a security mismatch was detected.</p></td>
                    </tr>
                    <tr>
                        <td><p>2024</p></td>
                        <td><p><code>session-invalidated-other-login</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Session has been invalidated because the user logged in from another session.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Flow errors</b></p>
                            <p>Errors related to applicant status transitions and flow rules. For example, attempting to perform an action that is not valid for the applicant's current state.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>3000</p></td>
                        <td><p><code>applicant-is-already-in-the-state</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Attempt to change the applicant's status against the logic — the applicant is already in the required state.</p></td>
                    </tr>
                    <tr>
                        <td><p>3001</p></td>
                        <td><p><code>applicant-is-already-in-the-state</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Attempt to change the applicant's status against the logic — the applicant is already in a final state.</p></td>
                    </tr>
                    <tr>
                        <td><p>3002</p></td>
                        <td><p><code>applicant-is-not-in-requires-action-state</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Attempt to change the applicant's status against the logic — the applicant is not in the <b>Requires action</b> state.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>API authentication errors</b></p>
                            <p>Errors related to API access and security validation.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>4000</p></td>
                        <td><p><code>app-token-invalid-format</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Invalid format of the X-App-Token value.</p></td>
                    </tr>
                    <tr>
                        <td><p>4001</p></td>
                        <td><p><code>app-token-not-found</code></p></td>
                        <td><p>401</p></td>
                        <td><p>App token does not exist (for example, test env. token used on production).</p></td>
                    </tr>
                    <tr>
                        <td><p>4002</p></td>
                        <td><p><code>app-token-private-part-mismatch</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Private part of the token (after dot) does not match public part.</p></td>
                    </tr>
                    <tr>
                        <td><p>4003</p></td>
                        <td><p><code>app-token-signature-mismatch</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Signature encoded value does not match the request content.</p></td>
                    </tr>
                    <tr>
                        <td><p>4004</p></td>
                        <td><p><code>app-token-request-expired</code></p></td>
                        <td><p>401</p></td>
                        <td><p>X-App-Access-Ts does not match the number of seconds since Unix Epoch in UTC.</p></td>
                    </tr>
                    <tr>
                        <td><p>4005</p></td>
                        <td><p><code>app-token-invalid-value</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Invalid authentication header values were provided.</p></td>
                    </tr>
                    <tr>
                        <td><p>4006</p></td>
                        <td><p><code>app-token-not-all-auth-params-provided</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Not all required authorization headers were provided.</p></td>
                    </tr>
                    <tr>
                        <td><p>4007</p></td>
                        <td><p><code>app-token-invalid-params</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Invalid authentication parameters were provided.</p></td>
                    </tr>
                    <tr>
                        <td><p>4008</p></td>
                        <td><p><code>captcha-verification-failed</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant failed CAPTCHA verification.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>API usage errors</b></p>
                            <p>Errors caused by incorrect API usage on the client side.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>5000</p></td>
                        <td><p><code>applicant-already-blacklisted</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Attempt to blacklist the applicant that is already blocked in your <a href="/docs/client-lists">Client lists</a>.</p></td>
                    </tr>
                    <tr>
                        <td><p>5001</p></td>
                        <td><p><code>applicant-already-whitelisted</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Attempt to whitelist the applicant that is already whitelisted.</p></td>
                    </tr>
                    <tr>
                        <td><p>5002</p></td>
                        <td><p><code>external-user-id-change-prohibited</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Attempt to change an applicant's <code>externalUserId</code> on a key that is not permitted to change it.</p></td>
                    </tr>                    
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Rate limits errors</b></p>
                            <p>Errors caused by exceeding request, usage, or verification limits.</p>
                        </td>
                    </tr>
                     <tr>
                        <td><p>6000</p></td>
                        <td><p><code>sms-attempts-exhausted</code></p></td>
                        <td><p>429</p></td>
                        <td><p>Maximum number of SMS verification attempts has been reached.</p></td>
                    </tr>
                    <tr>
                        <td><p>6001</p></td>
                        <td><p><code>sms-attempts-too-fast</code></p></td>
                        <td><p>429</p></td>
                        <td><p>SMS verification attempts are being made too frequently.</p></td>
                    </tr>
                    <tr>
                        <td><p>6002</p></td>
                        <td><p><code>sms-to-region-disabled</code></p></td>
                        <td><p>409</p></td>
                        <td><p>SMS delivery is not available for the specified region.</p></td>
                    </tr>
                    <tr>
                        <td><p>6003</p></td>
                        <td><p><code>sms-to-number-not-valid</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided phone number is invalid.</p></td>
                    </tr>
                    <tr>
                        <td><p>6004</p></td>
                        <td><p><code>sms-to-unsubscribed-recipient</code></p></td>
                        <td><p>409</p></td>
                        <td><p>SMS cannot be sent because the recipient has unsubscribed from receiving messages.</p></td>
                    </tr>
                    <tr>
                        <td><p>6005</p></td>
                        <td><p><code>too-many-sms-in-sandbox</code></p></td>
                        <td><p>429</p></td>
                        <td><p>Maximum number of SMS messages allowed in the Sandbox environment has been reached.</p></td>
                    </tr>
                    <tr>
                        <td><p>6006</p></td>
                        <td><p><code>too-many-otp-requests</code></p></td>
                        <td><p>429</p></td>
                        <td><p>Maximum number of OTP requests has been reached.</p></td>
                    </tr>
                    <tr>
                        <td><p>6007</p></td>
                        <td><p><code>email-address-is-not-valid</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided email address is invalid.</p></td>
                    </tr>
                    <tr>
                        <td><p>6008</p></td>
                        <td><p><code>too-many-applicants-in-sandbox</code></p></td>
                        <td><p>429</p></td>
                        <td><p>Maximum number of applicants allowed in the Sandbox environment has been reached.</p></td>
                    </tr>
                    <tr>
                        <td><p>6009</p></td>
                        <td><p><code>too-many-video-ident-calls-per-day-in-sandbox</code></p></td>
                        <td><p>429</p></td>
                        <td><p>Daily limit for Video Ident calls in the Sandbox environment has been reached.</p></td>
                    </tr>
                    <tr>
                        <td><p>6010</p></td>
                        <td><p><code>too-many-video-ident-calls-per-month-in-sandbox</code></p></td>
                        <td><p>429</p></td>
                        <td><p>Monthly limit for Video identification calls in the Sandbox environment has been reached.</p></td>
                    </tr>
                    <tr>
                        <td><p>6011</p></td>
                        <td><p><code>too-many-applicant-actions-pending-requests</code></p></td>
                        <td><p>429</p></td>
                        <td><p>Too many applicant action requests are currently pending.</p></td>
                    </tr>
                    <tr>
                        <td><p>6014</p></td>
                        <td><p><code>too-many-kyt-txns-in-sandbox</code></p></td>
                        <td><p>429</p></td>
                        <td><p>Daily transaction limit for the sandbox environment has been reached.</p></td>
                    </tr>                    
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Sign up errors</b></p>
                            <p>Errors that may occur during account registration.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>7000</p></td>
                        <td><p><code>subject-already-exists</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Account with the provided details already exists.</p></td>
                    </tr>
                    <tr>
                        <td><p>7001</p></td>
                        <td><p><code>email-not-allowed</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Registration with the provided email address is not allowed.</p></td>
                    </tr>
                    <tr>
                        <td><p>7002</p></td>
                        <td><p><code>company-name-not-allowed</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Registration with the provided company name is not allowed.</p></td>
                    </tr>
                    <tr>
                        <td><p>7003</p></td>
                        <td><p><code>promo-code-not-valid</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Provided promo code is invalid.</p></td>
                    </tr>
                    <tr>
                        <td><p>7004</p></td>
                        <td><p><code>client-already-exists</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Client with the provided details already exists.</p></td>
                    </tr>
                    <tr>
                        <td><p>7005</p></td>
                        <td><p><code>email-domain-not-allowed</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Registration with the provided email domain is not allowed.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>License key validation errors</b></p>
                            <p>Errors related to license key validation and limitations.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>7500</p></td>
                        <td><p><code>invalid-vat-number</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided VAT number is invalid.</p></td>
                    </tr>
                    <tr>
                        <td><p>7501</p></td>
                        <td><p><code>vat-validation-failed</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided VAT number could not be verified as valid.</p></td>
                    </tr>
                    <tr>
                        <td><p>8000</p></td>
                        <td><p><code>license-key-exhausted</code></p></td>
                        <td><p>402</p></td>
                        <td><p>License key usage limit has been reached.</p></td>
                    </tr>
                    <tr>
                        <td><p>8001</p></td>
                        <td><p><code>license-key-login-restricted</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Login is not allowed for this license key.</p></td>
                    </tr>
                    <tr>
                        <td><p>8002</p></td>
                        <td><p><code>license-key-checks-not-allowed</code></p></td>
                        <td><p>402</p></td>
                        <td><p>Requested checks are not allowed for this license key.</p></td>
                    </tr>
                    <tr>
                        <td><p>8003</p></td>
                        <td><p><code>dpa-consent-not-accepted</code></p></td>
                        <td><p>403</p></td>
                        <td><p>The Data Protection Agreement (DPA) has not been accepted in the Dashboard. Occurs only for new accounts creating an applicant profile or generating a verification link before accepting the DPA.</p></td>
                    </tr>                    
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Document errors</b></p>
                            <p>Errors related to document requirements.</p>
                        </td>
                    </tr>
                     <tr>
                        <td><p>9000</p></td>
                        <td><p><code>document-not-masked</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Required document masking has not been applied.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Processing data errors</b></p>
                            <p>Errors related to processing and validating submitted data.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>9001</p></td>
                        <td><p><code>uncertain-gps-location</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Provided GPS location could not be verified.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>e-KYC errors</b></p>
                            <p>Errors that may occur during the <a href="/docs/no-document-verification">Non-Doc Verification</a> (e-KYC) process.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>9100</p></td>
                        <td><p><code>invalid-data-provided</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Provided data is invalid for the e-KYC verification.</p></td>
                    </tr>
                    <tr>
                        <td><p>9101</p></td>
                        <td><p><code>channel-usage-forbidden</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Usage of the selected e-KYC channel is not allowed.</p></td>
                    </tr>
                    <tr>
                        <td><p>9102</p></td>
                        <td><p><code>channel-returned-unexpected-error</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Selected e-KYC channel returned an unexpected error.</p></td>
                    </tr>
                    <tr>
                        <td><p>9103</p></td>
                        <td><p><code>channel-experiencing-difficulties</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Selected e-KYC channel is currently experiencing technical difficulties.</p></td>
                    </tr>
                    <tr>
                        <td><p>9104</p></td>
                        <td><p><code>channel-cannot-find-data</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Selected e-KYC channel could not find matching data.</p></td>
                    </tr>
                    <tr>
                        <td><p>9105</p></td>
                        <td><p><code>max-attempts-exceeded</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Maximum number of e-KYC verification attempts has been exceeded.</p></td>
                    </tr>
                    <tr>
                        <td><p>9106</p></td>
                        <td><p><code>payment-unsuccessful</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Payment for the e-KYC verification could not be completed.</p></td>
                    </tr>
                    <tr>
                        <td><p>9107</p></td>
                        <td><p><code>violations-found</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Violations were found during the e-KYC verification.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>e-SIGN errors</b></p>
                            <p>Errors that may occur during the <a href="/docs/qualified-electronic-signature-qes-verification">QES Verification</a> (e-SIGN) process.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>9400</p></td>
                        <td><p><code>no-documents-to-sign-provided</code></p></td>
                        <td><p>409</p></td>
                        <td><p>No documents were provided for e-SIGN verification.</p></td>
                    </tr>
                    <tr>
                        <td><p>9401</p></td>
                        <td><p><code>no-input-to-sign-provided</code></p></td>
                        <td><p>409</p></td>
                        <td><p>No input data was provided for e-SIGN verification.</p></td>
                    </tr>
                    <tr>
                        <td><p>9402</p></td>
                        <td><p><code>pass-kyc-first</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Applicant must pass KYC verification before using e-SIGN.</p></td>
                    </tr>
                    <tr>
                        <td><p>9403</p></td>
                        <td><p><code>channel-experiencing-difficulties</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Selected e-SIGN channel is currently experiencing technical difficulties.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>KYB errors</b></p>
                            <p>Errors that may occur during <a href="/docs/business-verification">Business Verification</a> (KYB) process.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>9501</p></td>
                        <td><p><code>no-check-source-enabled</code></p></td>
                        <td><p>409</p></td>
                        <td><p>No KYB data source is enabled for the requested verification.</p></td>
                    </tr>
                    <tr>
                        <td><p>9502</p></td>
                        <td><p><code>invalid-data-provided</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided data is invalid for the KYB verification.</p></td>
                    </tr>
                    <tr>
                        <td><p>9504</p></td>
                        <td><p><code>registry-experiencing-difficulties</code></p></td>
                        <td><p>409</p></td>
                        <td><p>Selected registry is currently experiencing technical difficulties.</p></td>
                    </tr>
                    <tr>
                        <td><p>9505</p></td>
                        <td><p><code>too-many-beneficiaries</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Number of beneficiaries exceeds the allowed limit.</p></td>
                    </tr>
                    <tr>
                        <td><p>9506</p></td>
                        <td><p><code>too-many-results</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Number of matching results exceeds the allowed limit.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Wallet verification errors</b></p>
                            <p>Errors related to wallet ownership verification.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>9600</p></td>
                        <td><p><code>wallet-signature-failed</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Wallet signature verification failed.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Common WebSDK errors</b></p>
                            <p>Common errors returned by the WebSDK.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>9700</p></td>
                        <td><p><code>invalid-contact-data-provided</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided contact data is invalid.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>100XX - reserved for common errors</b></p>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>104XX - reserved for Sumsub Id errors</b></p>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Reusable KYC errors</b></p>
                            <p>Errors related to <a href="/docs/reusable-kyc">Reusable KYC</a> eligibility, partner configuration, and data sharing.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>10501</p></td>
                        <td><p><code>not-in-partners-list</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant is not eligible for reusable KYC with the selected partner.</p></td>
                    </tr>
                    <tr>
                        <td><p>10502</p></td>
                        <td><p><code>invalid-partner-id</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided partner ID is invalid.</p></td>
                    </tr>
                    <tr>
                        <td><p>10503</p></td>
                        <td><p><code>invalid-share-token</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided share token is invalid.</p></td>
                    </tr>
                    <tr>
                        <td><p>10504</p></td>
                        <td><p><code>non-suitable-share-token</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided share token cannot be used for reusable KYC.</p></td>
                    </tr>
                    <tr>
                        <td><p>10505</p></td>
                        <td><p><code>reusable-kyc-disabled</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Reusable KYC is disabled.</p></td>
                    </tr>
                    <tr>
                        <td><p>10506</p></td>
                        <td><p><code>reusable-kyc-not-reusable</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant is not eligible for reusable KYC reuse.</p></td>
                    </tr>
                    <tr>
                        <td><p>10507</p></td>
                        <td><p><code>reusable-kyc-not-approved-applicant</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant has not passed verification for further reuse.</p></td>
                    </tr>
                    <tr>
                        <td><p>10508</p></td>
                        <td><p><code>reusable-kyc-not-active-applicant</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant is not active for further reuse.</p></td>
                    </tr>
                    <tr>
                        <td><p>10509</p></td>
                        <td><p><code>reusable-kyc-not-kyc-moderation-type</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant verification type is not supported for reusable KYC.</p></td>
                    </tr>
                    <tr>
                        <td><p>10510</p></td>
                        <td><p><code>reusable-kyc-not-selfie-or-identity-doc</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant does not have a required identity document or selfie.</p></td>
                    </tr>
                    <tr>
                        <td><p>10511</p></td>
                        <td><p><code>reusable-kyc-not-selfie-liveness</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant does not have a required Liveness check.</p></td>
                    </tr>
                    <tr>
                        <td><p>10512</p></td>
                        <td><p><code>reusable-kyc-not-req-doc-overlap</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Required documents do not match reusable KYC requirements.</p></td>
                    </tr>
                    <tr>
                        <td><p>10513</p></td>
                        <td><p><code>reusable-kyc-not-compatible-doc-type</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided document type is not compatible with reusable KYC.</p></td>
                    </tr>
                    <tr>
                        <td><p>10514</p></td>
                        <td><p><code>reusable-kyc-not-actual-poi-date</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Identity document is too old for reusable KYC.</p></td>
                    </tr>
                    <tr>
                        <td><p>10515</p></td>
                        <td><p><code>reusable-kyc-not-actual-poa-date</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Proof of address document is too old for reusable KYC.</p></td>
                    </tr>
                    <tr>
                        <td><p>10516</p></td>
                        <td><p><code>reusable-kyc-not-acceptable-age</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant age does not meet reusable KYC requirements.</p></td>
                    </tr>
                    <tr>
                        <td><p>10517</p></td>
                        <td><p><code>reusable-kyc-incompatible-capture-settings</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Capture settings are not compatible with reusable KYC requirements.</p></td>
                    </tr>
                    <tr>
                        <td><p>10518</p></td>
                        <td><p><code>reusable-kyc-email-mismatch</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant email address does not match reusable KYC data.</p></td>
                    </tr>
                    <tr>
                        <td><p>10519</p></td>
                        <td><p><code>reusable-kyc-phone-mismatch</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant phone number does not match reusable KYC data.</p></td>
                    </tr>
                    <tr>
                        <td><p>10520</p></td>
                        <td><p><code>copy-applicant-disabled</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant copying for reusable KYC is disabled.</p></td>
                    </tr>
                    <tr>
                        <td><p>10521</p></td>
                        <td><p><code>reusable-kyc-inactive-sumsub-id-account</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Sumsub ID account is inactive.</p></td>
                    </tr>
                    <tr>
                        <td><p>10522</p></td>
                        <td><p><code>reusable-kyc-unsuitable-applicant-data</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Applicant data is not suitable for reusable KYC.</p></td>
                    </tr>
                    <tr>
                        <td><p>10523</p></td>
                        <td><p><code>reusable-kyc-incompatible-doc-sub-type</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Document subtype is not compatible with reusable KYC.</p></td>
                    </tr>
                    <tr>
                        <td><p>10524</p></td>
                        <td><p><code>reusable-kyc-inactive-id-doc</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Provided identity document is inactive.</p></td>
                    </tr>
                    <tr>
                        <td><p>10525</p></td>
                        <td><p><code>reusable-kyc-unsuitable-questionnaire</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Questionnaire data is not suitable for reusable KYC.</p></td>
                    </tr>
                    <tr>
                        <td><p>10526</p></td>
                        <td><p><code>reusable-kyc-token-env-mismatch</code></p></td>
                        <td><p>400</p></td>
                        <td><p>Share token environment does not match the current environment.</p></td>
                    </tr>
                    <tr>
                        <td colspan="4" style="background-color: #EECDCD;">
                            <p><b>Sumsub ID Connect errors</b></p>
                            <p>Errors that may occur when using <a href="/docs/sumsub-id-connect">Sumsub ID Connect</a></Sumsub>.</p>
                        </td>
                    </tr>
                    <tr>
                        <td><p>10600</p></td>
                        <td><p><code>sumsub-id-profile-not-found</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Profile associated with the Sumsub ID Connect token could not be found. This could be because the profile was deleted.</p></td>
                    </tr>
                    <tr>
                        <td><p>10601</p></td>
                        <td><p><code>sumsub-id-profile-blocked</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Profile associated with the Sumsub ID Connect token has been blocked and cannot be used.</p></td>
                    </tr>
                    <tr>
                        <td><p>10602</p></td>
                        <td><p><code>sumsub-id-app-disconnected</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Profile associated with the Sumsub ID Connect token has revoked the connection between their Sumsub ID and your app.</p></td>
                    </tr>
                    <tr>
                        <td><p>10603</p></td>
                        <td><p><code>sumsub-id-access-token-invalid</code></p></td>
                        <td><p>401</p></td>
                        <td><p>Sumsub ID Connect token is malformed or expired.</p></td>
                    </tr>
                    <tr>
                        <td><p>10604</p></td>
                        <td><p><code>sumsub-id-connect-disabled</code></p></td>
                        <td><p>403</p></td>
                        <td><p>Sumsub ID Connect is not enabled for your client key.</p></td>
                    </tr>
                </tbody>
            </table>

        </div>
    </div>

<style>
  .App {
    --hub-toc-width: 0px;
    --hub-main-max-width: 1138px;
  }
  
  .content-toc {
    display: none;
  }
</style>