---
updatedAt: 2026-09-17T15:22:06.000Z
agentTools:
  projectIndex: https://docs.sumsub.com/llms.txt
---

# Get applicant levels

# Overview

Use this method to get the fully structured view of all available [verification levels](https://docs.sumsub.com/sumsub/docs/verification-levels) in your project.

## 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.

# Response explained

The response is a JSON object containing all verification levels configured in your project and their corresponding settings.

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

  The presence of some fields in the response depends on the level type and its configuration.
</Callout>

| Field        | Type                                      | Description                                               |
| :----------- | :---------------------------------------- | :-------------------------------------------------------- |
| `items`      | [Array of objects](#items-element-fields) | Each object corresponds to a specific verification level. |
| `totalItems` | Integer                                   | Total number of all verification levels.                  |

## `items` element fields

The following table explains the `items` element fields representing the attributes and configuration details of verification levels. The existence of some fields depends on the level types and settings.

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Type
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `id`
      </td>

      <td>
        String
      </td>

      <td>
        Unique verification level identifier.
      </td>
    </tr>

    <tr>
      <td>
        `clientId`
      </td>

      <td>
        String
      </td>

      <td>
        Unique identifier of you as our client in the Sumsub system.

        This identifier is assigned to you when you are registered in and get access to the Sumsub system. It usually resembles your name or your company name. `clientId` is automatically added to the applicant profile when it is created.
      </td>
    </tr>

    <tr>
      <td>
        `name`
      </td>

      <td>
        String
      </td>

      <td>
        The level name given to the level when it was created, and that cannot be changed afterwards.
      </td>
    </tr>

    <tr>
      <td>
        `desc`
      </td>

      <td>
        String
      </td>

      <td>
        Optional level description, if it was added at creation.
      </td>
    </tr>

    <tr>
      <td>
        `requiredIdDocs`
      </td>

      <td>
        [Object](#requirediddocs-attributes)
      </td>

      <td>
        Configuration of steps for the applicant to complete verification.

        It includes step types (for example, `IDENTITY`, `SELFIE`) and the documents appropriate for each step (for example, `PASSPORT`, `ID_CARD`, `RESIDENCE_PERMIT`), or necessary data fields to be filled in.

        For example, the `APPLICANT_DATA` step type includes a list of fields the applicant must fill in, so we could proceed with verification.
      </td>
    </tr>

    <tr>
      <td>
        `notificationSettings`
      </td>

      <td>
        Object
      </td>

      <td>
        <p>Applicant <a href="doc:configure-verification-levels#advanced-settings">email notification triggers</a> configured for this verification level.</p><p>Contains the <code>applicantNotificationState</code> field — an array of enum strings indicating when email notifications should be sent to the applicant:</p><ul><li><code>approved</code> — email notification is sent when an applicant is approved.</li><li><code>resubmission</code> — email notification is sent when an applicant requires resubmission.</li><li><code>rejected</code> — email notification is sent when an applicant is rejected.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        `websdkFlowId`
      </td>

      <td>
        String
      </td>

      <td>
        Unique WebSDK customization identifier. Indicates that a [WebSDK customization](https://docs.sumsub.com/sumsub/docs/get-started-with-sdk-customization) was added to the level.
      </td>
    </tr>

    <tr>
      <td>
        `msdkFlowId`
      </td>

      <td>
        String
      </td>

      <td>
        Unique MSDK customization identifier. Indicates that a [MobileSDK customization](https://docs.sumsub.com/sumsub/docs/get-started-with-sdk-customization) was added to the level.
      </td>
    </tr>

    <tr>
      <td>
        `sdkTranslationName`
      </td>

      <td>
        String
      </td>

      <td>
        Custom [SDK translation](https://docs.sumsub.com/sumsub/docs/sdk-translations) name assigned to this level.
      </td>
    </tr>

    <tr>
      <td>
        `created`
      </td>

      <td>
        Object
      </td>

      <td>
        <p>Contains information about the creation of the verification level.</p><p>Parameters:</p><ul><li><code>date</code> — date and time (GMT) when the level was created.</li><li><code>clientSubject</code> — name of the account that created the level. The value <code>Service</code> indicates that the level is a default one or created by the Sumsub support.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        `modified`
      </td>

      <td>
        Object
      </td>

      <td>
        <p>Contains information about the modification of the verification level.</p><p>Parameters:</p><ul><li><code>date</code> — date and time (GMT) when the level was last modified.</li><li><code>clientSubject</code> — name of the account that last modified the level. The value <code>Service</code> indicates that the level is a default one or modified by the Sumsub support.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        `createdAt`
      </td>

      <td>
        Date
      </td>

      <td>
        Date and time (GMT) when the level was created.

        ⚠️ This field is deprecated and will be removed in the future.
      </td>
    </tr>

    <tr>
      <td>
        `createdBy`
      </td>

      <td>
        String
      </td>

      <td>
        Level creator’s account name. `Service` means that it is a default level, or the level created by the Sumsub support.

        ⚠️ This field is deprecated and will be removed in the future.
      </td>
    </tr>

    <tr>
      <td>
        `modifiedAt`
      </td>

      <td>
        Date
      </td>

      <td>
        Date and time (GMT) when the level was last modified.

        ⚠️ This field is deprecated and will be removed in the future.
      </td>
    </tr>

    <tr>
      <td>
        `idDocSettings`
      </td>

      <td>
        Object
      </td>

      <td>
        Contains information about [custom settings for supported ID documents](https://docs.sumsub.com/sumsub/docs/customize-supported-id-documents) (if set for the level).
      </td>
    </tr>

    <tr>
      <td>
        `customPrivacyNoteText`
      </td>

      <td>
        String
      </td>

      <td>
        Custom processing consent text to be shown to your applicants on the agreement screen in the WebSDK (if added in the level settings).
      </td>
    </tr>

    <tr>
      <td>
        `customPrivacyLink`
      </td>

      <td>
        String
      </td>

      <td>
        Custom processing [consent link](https://docs.sumsub.com/sumsub/docs/configure-verification-levels#advanced-settings) to be shown to your applicants on the agreement screen in the WebSDK (if added in the level settings).
      </td>
    </tr>

    <tr>
      <td>
        `productionOnly`
      </td>

      <td>
        Boolean
      </td>

      <td>
        Indicates if a level should be available only in [Production mode](https://docs.sumsub.com/sumsub/docs/test-in-sandbox) (`true`).

        Returned if [Visibility configuration](https://docs.sumsub.com/sumsub/docs/verify-businesses#advanced-settings) in the advanced settings is enabled.
      </td>
    </tr>

    <tr>
      <td>
        `disableWatchlists`
      </td>

      <td>
        Boolean
      </td>

      <td>
        Indicates if [AML Screening](https://docs.sumsub.com/sumsub/docs/configure-verification-levels#aml-screening) is disabled (`true`) in the level settings.
      </td>
    </tr>

    <tr>
      <td>
        `rejectUsaResidents`
      </td>

      <td>
        Boolean
      </td>

      <td>
        Indicates if the [setting](https://docs.sumsub.com/sumsub/docs/configure-verification-levels#location-settings) `Reject USA residents if they confirm US residency in SDK` is enabled (`true`).
      </td>
    </tr>

    <tr>
      <td>
        `watchListCheckSettings`
      </td>

      <td>
        [Object](#watchlistchecksettings-attributes)
      </td>

      <td>
        Represents [AML screening settings](https://docs.sumsub.com/sumsub/docs/get-started-with-verification-level#configure-aml-screening) configured for the applicant level.
      </td>
    </tr>

    <tr>
      <td>
        `useCustomWatchListCheckSettings`
      </td>

      <td>
        Boolean
      </td>

      <td>
        Indicates if [custom AML screening settings](https://docs.sumsub.com/sumsub/docs/aml-screening#configure-aml-screening) are used on the level.<ul><li><code>true</code> — custom AML screening settings are used on the level instead of global settings.</li><li><code>false</code> — global settings are used.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        `useCustomIdDocSettings`
      </td>

      <td>
        Boolean
      </td>

      <td>
        Indicates if [custom settings for supported ID documents](https://docs.sumsub.com/sumsub/docs/customize-supported-id-documents) are used on the level.<ul><li><code>true</code> — custom settings for supported ID documents are used on the level instead of global settings.</li><li><code>false</code> — global settings are used.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        `applicantSourceKey`
      </td>

      <td>
        String
      </td>

      <td>
        Identifies the applicant [Source key](https://docs.sumsub.com/sumsub/docs/source-keys) if the verification level is assigned to applicants originating from specific sources.
      </td>
    </tr>

    <tr>
      <td>
        `applicantInsightSettings`
      </td>

      <td>
        Object
      </td>

      <td>
        Includes the fields `advancedEmailCheckEnabled`, `advancedPhoneCheckEnabled`, `advancedIpCheckEnabled`, `advancedIdentityEnrichmentEnabled`, and `aiSuspiciousNameCheckEnabled` indicating if the advanced checks for the applicant [email](https://docs.sumsub.com/sumsub/docs/email-and-phone-verification#reduce-fraud-activities-with-email-and-phone-risk-assessment), [phone](https://docs.sumsub.com/sumsub/docs/email-and-phone-verification#reduce-fraud-activities-with-email-and-phone-risk-assessment), [IP address](https://docs.sumsub.com/sumsub/docs/advanced-ip-check), **identity enrichment**, and **AI suspicious name check** are enabled (`true`) on the level or not (`false`).
      </td>
    </tr>

    <tr>
      <td>
        `agreementSettings`
      </td>

      <td>
        Object
      </td>

      <td>
        Contains the `skipAgreementStep` boolean field that indicates whether the [consent screen](https://docs.sumsub.com/sumsub/docs/consent-screen#skip-consent-for-some-verification-steps) is skipped in the SDK.
      </td>
    </tr>

    <tr>
      <td>
        `kytSettings`
      </td>

      <td>
        Object
      </td>

      <td>
        Contains the `createKycTxns` boolean parameter that indicates if the option to [calculate the onboarding risk score](https://docs.sumsub.com/sumsub/docs/tm-transactions#create-kyc-transactions-during-onboarding) of your applicants is enabled (`true`) on the level or not (`false`).
      </td>
    </tr>

    <tr>
      <td>
        `deviceIntelligenceSettings`
      </td>

      <td>
        Object
      </td>

      <td>
        Contains the `enabled` boolean field that indicates<br />whether [Device Intelligence](https://docs.sumsub.com/sumsub/docs/device-intelligence#how-to-enable-device-intelligence) is enabled (`true`) for this level or not (`false`).
      </td>
    </tr>

    <tr>
      <td>
        `ipRestrictionSettings`
      </td>

      <td>
        [Object](#iprestrictionsettings-attributes)
      </td>

      <td>
        Describes the configuration details of [IP and VPN detection settings](https://docs.sumsub.com/sumsub/docs/configure-verification-levels#location-settings) added to the level.
      </td>
    </tr>

    <tr>
      <td>
        `checkSourceSettings`
      </td>

      <td>
        Object
      </td>

      <td>
        Describes the configuration details of the [Database Validation](https://docs.sumsub.com/sumsub/docs/database-validation) setting of the level.
      </td>
    </tr>

    <tr>
      <td>
        `type`
      </td>

      <td>
        Enum
      </td>

      <td>
        A level type assigned at the level creation when [configuring verification steps](https://docs.sumsub.com/sumsub/docs/get-started-with-verification-level#configure-verification-steps).<ul><li><code>standalone</code> — <b>Standard</b> type for standard applicant verification.</li><li><code>actions</code> — <b>Applicant actions</b> type for additional verification triggered by specific applicant activities.</li><li><code>module</code> — <b>Module type</b> to perform a Liveness & Face match check only.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        `actionType`
      </td>

      <td>
        Enum
      </td>

      <td>
        The field is available if a level belongs to the Applicant actions type, and indicates this action type.<ul><li><code>paymentMethod</code> — action to check a <a href="doc:payment-methods-check">payment method</a>.</li><li><code>faceEnrollment</code> — <a href="doc:liveness">Liveness & Face match</a> check.</li></ul>
      </td>
    </tr>

    <tr>
      <td>
        `applicantType`
      </td>

      <td>
        Enum
      </td>

      <td>
        Defines the applicant type. Added automatically when the applicant profile is created.<ul><li><code>individual</code> — for applicants registered and checked as individuals.</li><li><code>company</code> — for applicants registered and checked as legal entities.</li></ul>
      </td>
    </tr>
  </tbody>
</Table>

## `requiredIdDocs` attributes

The `requiredIdDocs` object represents the configuration of steps for the applicant to complete verification. It includes a set of required documents and data to provide.

[block:parameters]
{
  "data": {
    "h-0": "Field",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "`videoIdent`",
    "0-1": "Boolean",
    "0-2": "Specifies if the video identification is required (`true`) or not required (`false`) to pass verification.",
    "1-0": "`videoIdentSettings`",
    "1-1": "Object",
    "1-2": "<p>Contains the <code>resetAllStepsOnEachAttempt</code> boolean field that indicates whether each new <a href=\"doc:video-identification\">video identification</a> resubmission must start from the beginning with all required steps defined for the verification level, regardless of which steps were previously completed successfully.</p><ul><li>If enabled (<code>true</code>) — the applicant must repeat all verification steps on every new attempt from the beginning.</li><li>If disabled (<code>false</code>) — only incomplete or failed steps must be repeated.</li></ul><p>⚠️ This field is available only if the setting is configured for the level.</p>",
    "2-0": "`videoIdentUploadTypes`",
    "2-1": "Array of strings",
    "2-2": "Lists the document types that can be uploaded during a video interview, if such documents are specified in the level settings.  \n  \nThe field is available if the video identification is required on the level.",
    "3-0": "`stepsOutsideVideoId`",
    "3-1": "Array of strings",
    "3-2": "Lists the verification steps that can be passed outside the video identification.  \n  \nThe field is available if the video identification is required on the level.",
    "4-0": "`includedCountries`",
    "4-1": "Array of strings",
    "4-2": "Countries (in ISO 3166-1 alpha-3 country code, for example, `DEU`, `GBR`, `ARG`) that are included in the list of supported.",
    "5-0": "`excludedCountries`",
    "5-1": "Array of strings",
    "5-2": "Countries (in ISO 3166-1 alpha-3 country code, for example, `DEU`, `GBR`, `ARG`) that are excluded from the list of supported.",
    "6-0": "`docSets`",
    "6-1": "[Array of objects](#docsets-element-fields)",
    "6-2": "Includes the objects representing specific document sets and their attributes.",
    "7-0": "`kybSettings`",
    "7-1": "[Object](#kybsettings-attributes)",
    "7-2": "<p>Available for company applicants.</p><p>Includes the settings that are used to identify the types of company beneficiaries, to enable/disable company search in selected registry databases and automatic verification of the company's ownership and control structure.</p>"
  },
  "cols": 3,
  "rows": 8,
  "align": [
    "left",
    "left",
    "left"
  ]
}
[/block]

## `docSets` element fields

The following table explains the element fields of the `docSets` array representing specific document sets and their attributes.

[block:parameters]
{
  "data": {
    "h-0": "Field",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "`idDocSetType`",
    "0-1": "String",
    "0-2": "A human-readable [identifier of the document set type](https://docs.sumsub.com/sumsub/reference/iddocsettypes) (for example, `IDENTITY`, `SELFIE`, `PROOF_OF_RESIDENCE`).",
    "1-0": "`types`",
    "1-1": "Array of strings",
    "1-2": "Includes the [types of documents](https://docs.sumsub.com/sumsub/reference/add-verification-documents#supported-document-types) that are required for a particular `idDocSetType` to pass verification.",
    "2-0": "`subTypes`",
    "2-1": "Array of strings",
    "2-2": "List of [document subtypes](https://docs.sumsub.com/sumsub/reference/add-verification-documents#supported-iddocsubtypes-for-company_doc) required for verification (applicable only to company documents).",
    "3-0": "`videoRequired`",
    "3-1": "String",
    "3-2": "Method of passing the document upload step that can be set up when [configuring a verification level](/docs/get-started-with-verification-level#configure-required-steps).<ul><li><code>disabled</code> — selfie with a document.</li><li><code>enabled</code> — video selfie with a phrase.</li><li><code>photoRequired</code> — web camera photo (still face image).</li><li><code>passiveLiveness</code> — <a href=\"/docs/liveness\">liveness check</a>.</li><li><code>docapture</code> — enables the camera for the steps with ID documents, so applicants can take pictures of their documents in real time.</li></ul>",
    "4-0": "`captureMode`",
    "4-1": "String",
    "4-2": "<p>Applicable only when <code>videoRequired=docapture</code>.</p><ul><li><code>manualAndAuto</code> — allows both to automatically capture the photo of a document when the camera is initialized, and for the applicant to hit a button to take a photo.</li><li><code>manualOnly</code> — allows only manually hitting a button to take a photo.</li><li><code>seamless</code> — Seamless ID Capture mode for <a href=\"doc:qualified-electronic-signature-qes-verification#qes-verification-faq\">QES</a>.</li></ul>",
    "5-0": "`uploaderMode`",
    "5-1": "String",
    "5-2": "<p>Applicable only when <code>videoRequired=docapture</code>.</p><ul><li><code>always</code> — always allows uploading a ready-made photo instead of using a camera.</li><li><code>never</code> — does not allow uploading a ready-made photo.</li><li><code>fallback</code> — allows uploading a ready-made photo only if a camera is not available.</li></ul>",
    "6-0": "`fields`",
    "6-1": "[Array of objects](#fields-element-fields)",
    "6-2": "Contains objects that define the document data fields to be populated with personal information for verifying the applicant during the **Applicant data** verification step.",
    "7-0": "`customFields`",
    "7-1": "[Array of objects](#customfields-element-fields)",
    "7-2": "Contains objects that describe custom fields if they are created for the **Applicant data** verification step.",
    "8-0": "`questionnaireDefId`",
    "8-1": "String",
    "8-2": "Identifier of the questionnaire that is added to the verification level and is to be or has already been filled by the applicant.",
    "9-0": "`questionnaireProcessingSettings`",
    "9-1": "Object",
    "9-2": "Contains configuration parameters for the `QUESTIONNAIRE` step that modify how previously submitted questionnaire answers are handled.",
    "10-0": "`skipIfFilled`",
    "10-1": "Boolean",
    "10-2": "Defines whether the `QUESTIONNAIRE` step should be automatically accepted (`true`) or not (`false`) if the applicant has previously completed the same questionnaire.",
    "11-0": "`poaStepSettingsId`",
    "11-1": "String",
    "11-2": "Identifier of the selected [Proof of Address preset](https://docs.sumsub.com/sumsub/docs/customize-supported-address-documents#create-poa-preset).",
    "12-0": "`companyBeneficiaryDefinitions`",
    "12-1": "[Array of objects](#companybeneficiarydefinitions-element-fields)",
    "12-2": "Specification of level steps to be fulfilled. Stands for **Associated parties**.  \n  \nAvailable for company applicants.",
    "13-0": "`companyDocsGroupDefinitions`",
    "13-1": "[Array of objects](#companydocsgroupdefinitions-element-fields)",
    "13-2": "Definitions of the required document groups for verification.  \n  \nAvailable for company applicants.",
    "14-0": "`captureParams`",
    "14-1": "Object",
    "14-2": "<p>Describes the capture method and related settings for this step.</p><p>Contains the <code>inputType</code> enum attribute, which defines how data is captured. Possible values:</p><ul><li><code>fileUpload</code> — upload a file.</li><li><code>cameraStream</code> — capture a web camera photo or a short video fragment.</li><li><code>liveness</code> — perform an advanced liveness check.</li><li><code>docapture</code> — perform live document capture.</li></ul><p>If <code>inputType=cameraStream</code>, the <code>cameraStream.contentType</code> field is returned:</p><ul><li><code>image</code> — for web camera photo</li><li><code>video</code> — for short video fragment.</li></ul><p>If <code>inputType=docapture</code>, the <code>docapture.captureMode</code> and <code>docapture.uploaderMode</code> fields are returned.</p>",
    "15-0": "`ekycAllowed`",
    "15-1": "Boolean",
    "15-2": "Indicates if [Non-Doc Verification](https://docs.sumsub.com/sumsub/docs/no-document-verification) for the step is allowed (`true`) or not (`false`).",
    "16-0": "`checkSourceSettings`",
    "16-1": "Object",
    "16-2": "Describes the configuration of the [Database Validation](https://docs.sumsub.com/sumsub/docs/database-validation) setting for the verification level.",
    "17-0": "`esignSettings`",
    "17-1": "Object",
    "17-2": "Contains configuration for the [E-sign verification step](https://docs.sumsub.com/sumsub/docs/qualified-electronic-signature-qes-verification), including objects that define the document to be signed (ID and name) and signature settings.",
    "18-0": "`restrictCountries`",
    "18-1": "Boolean",
    "18-2": "Returns `true` if the verification step [restricts applicants from specific countries](https://docs.sumsub.com/sumsub/docs/configure-verification-levels#location-settings). Otherwise the field is not returned.",
    "19-0": "`skipAllowed`",
    "19-1": "Boolean",
    "19-2": "Indicates whether this verification step can be skipped (`true`) or not (`false`).  \n  \nAvailable only for steps that support the skip option.",
    "20-0": "`nfcVerificationSettings`",
    "20-1": "Object",
    "20-2": "<p>Contains the <code>mode</code> parameter that defines <a href=\"doc:nfc-based-id-verification\">NFC-based ID verification</a> behavior. Possible values:\n</p><ul><li><code>disabled</code> — NFC chip reading is not requested from applicants.</li><li><code>optional</code> — if the document contains an NFC chip, the system requests a chip reading. Applicants may complete or skip this step. If skipped or if scanning fails, verification continues using the standard document-based flow.</li><li><code>required</code> — if the document contains an NFC chip, the system requires a successful chip reading. Skipping or fallback to document-based verification is not allowed.</li></ul>",
    "21-0": "`phoneVerificationSettings`",
    "21-1": "Object",
    "21-2": "<p>Contains the <code>immutablePhoneIfPresent</code> boolean field, which controls whether applicants can edit their pre-filled phone number.</p><ul><li><code>true</code> — editing is disabled.</li><li><code>false</code> — editing is allowed.</li><li><b>not returned</b> — editing is allowed, or the setting is not supported for the verification step.</li></ul>",
    "22-0": "`emailVerificationSettings`",
    "22-1": "Object",
    "22-2": "<p>Contains the <code>immutableEmailIfPresent</code> boolean field, which controls whether applicants can edit their pre-filled email address.</p><ul><li><code>true</code> — editing is disabled.</li><li><code>false</code> — editing is allowed.</li><li><b>not returned</b> — editing is allowed, or the setting is not supported for the verification step.</li></ul>",
    "23-0": "`selfieProcessingSettings`",
    "23-1": "Object",
    "23-2": "<p>Contains the <code>skipLivenessCheck</code> boolean field, which indicates whether the <b>Skip liveness check</b> setting is enabled.</p><ul><li><code>true</code> — enabled.</li><li><code>false</code> — disabled.</li><li><b>not returned</b> — disabled, or the setting is not supported for the verification step.</li></ul>",
    "24-0": "`applicantDataSettings`",
    "24-1": "Object",
    "24-2": "<p>Contains the <code>prefill</code> boolean field, which indicates whether the applicant data form is prefilled in the SDK step.</p><ul><li><code>true</code> — pre-fill is enabled.</li><li><code>false</code> — pre-fill is disabled.</li><li><b>not returned</b> — pre-fill is disabled, or the setting is not supported for the verification step.</li></ul>"
  },
  "cols": 3,
  "rows": 25,
  "align": [
    "left",
    "left",
    "left"
  ]
}
[/block]

## `fields` element fields

The following table explains the `fields` element fields.

| Field                | Type    | Description                                                                                                       |
| :------------------- | :------ | :---------------------------------------------------------------------------------------------------------------- |
| `name`               | String  | Field name (for example, `firstName`, `lastName`, `email`).                                                       |
| `required`           | Boolean | `true` if the field is required for verification, `false` if not (still, it can be optionally filled in the SDK). |
| `prefill`            | Boolean | `true` if the field is pre-populated in the SDK, `false` if not.                                                  |
| `immutableIfPresent` | Boolean | `true` if the field is locked and cannot be edited by the applicant; `false` otherwise.                           |

## `customFields` element fields

The following table explains the `customFields` element fields.

| Field         | Type    | Description                                                                                                               |
| :------------ | :------ | :------------------------------------------------------------------------------------------------------------------------ |
| `name`        | String  | System name of the custom field.                                                                                          |
| `displayName` | String  | Name of the field as it is shown to the applicant.                                                                        |
| `required`    | Boolean | Returns `true` if the field is required for verification, `false` if not (still, it can be optionally filled in the SDK). |

## `companyBeneficiaryDefinitions` element fields

The following table explains the `companyBeneficiaryDefinitions` element fields.

| Field        | Type                                         | Description                                                              |
| :----------- | :------------------------------------------- | :----------------------------------------------------------------------- |
| `category`   | String                                       | Beneficiary role name (`ubos`, `shareholders`, `directors`).             |
| `canSkip`    | Boolean                                      | Indicates if it is skippable via SDK: `true` — yes, `false` — no.        |
| `individual` | [Object](#individual-and-company-attributes) | Contains information on the associated party as an individual applicant. |
| `company`    | [Object](#individual-and-company-attributes) | Contains information on the associated party as a company applicant.     |

## `individual` and `company` attributes

the following table explains the `individual` and `company` attributes.

| Field          | Type                                             | Description                                                                                                                                       |
| :------------- | :----------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |
| `enabled`      | Boolean                                          | Nested KYC (for individuals) or KYB (for companies) verification enabled for this role: `true` — yes, `false` — no.                               |
| `levelName`    | String                                           | Name of the verification level. There is no length limit for this field.                                                                          |
| `fields`       | [Array of objects](#fields-element-fields)       | Includes the objects describing the data fields that should be filled with personal information to verify the applicant.                          |
| `customFields` | [Array of objects](#customfields-element-fields) | Includes the objects each of those represents an additional custom field (`applicantIdDocSetCustomField`) that should be filled for verification. |

## `companyDocsGroupDefinitions` element fields

The following table explains the `companyDocsGroupDefinitions` element fields.

| Field      | Type             | Description                                                                                                                                                                               |
| :--------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `label`    | String           | Label of the document group. Available labels: `legalPresence`, `companyDetails`, `ownershipStructure`, `controlStructure`, `representativesAuthorization`, `other1`, `other2`, `other3`. |
| `subTypes` | Array of strings | List of [document types](https://docs.sumsub.com/sumsub/reference/add-verification-documents#supported-iddocsubtypes-for-company_doc) included into the verification group.                                                    |
| `required` | Boolean          | Indicates if this is required (`true`) or optional (`false`).                                                                                                                             |

## `kybSettings` attributes

The following table explains the `kybSettings` attributes.

[block:parameters]
{
  "data": {
    "h-0": "Field",
    "h-1": "Type",
    "h-2": "Description",
    "0-0": "`shareholderThreshold`",
    "0-1": "Integer",
    "0-2": "Ownership percentage threshold used to classify an individual beneficiary as a shareholder.  \n  \nIf `shareholderThreshold` is less and `uboThreshold` is greater than the ownership percentage, then the individual is a shareholder.  \n  \nCompanies are always classified as shareholders.",
    "1-0": "`uboThreshold`",
    "1-1": "Integer",
    "1-2": "Ownership percentage threshold used to classify an individual beneficiary as a UBO (Ultimate Beneficial Owner).  \n  \nIf the ownership percentage is greater than or equal to `uboThreshold`, then the individual is a UBO.  \n  \nCompanies are always classified as shareholders.",
    "2-0": "`disableCompanySearchAndPrefill`",
    "2-1": "Boolean",
    "2-2": "Indicates whether company search in selected corporate registry databases for pre-filling company and associated parties’ data is disabled (`true`) or enabled (`false`).",
    "3-0": "`enableBeneficiariesAutoCheck`",
    "3-1": "Boolean",
    "3-2": "<p>Indicates whether automatic verification of the company’s ownership and control structure against selected corporate registries is enabled.</p><ul><li>When enabled (<code>true</code>), the system compares the applicant-provided ownership and management information (for example, shareholders and directors) with official registry data and flags discrepancies.</li><li>When disabled (<code>false</code>), this verification is not performed.</li></ul>"
  },
  "cols": 3,
  "rows": 4,
  "align": [
    "left",
    "left",
    "left"
  ]
}
[/block]

## `watchListCheckSettings` attributes

The following table describes the `watchListCheckSettings` attributes.

| Field                      | Type                                  | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| :------------------------- | :------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `amlCaseType`              | Enum                                  | <p>AML watchlist screening provider.</p><ul><li><code>caSearch</code> — <a href="doc:comply-advantage">ComplyAdvantage</a></li><li><code>wcCase</code> — <a href="doc:world-check-one">World-Check One</a></li><li><code>quantifindSearch</code> — <a href="doc:quantifind">Quantifind</a></li><li><code>caMeshSearch</code> — <a href="doc:complyadvantage-mesh">ComplyAdvantage Mesh</a></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `ongoingMonitoringEnabled` | Boolean                               | Identifies whether [Ongoing AML monitoring](https://docs.sumsub.com/sumsub/docs/ongoing-aml-monitoring) is enabled (`true`) or disabled (`false`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `delegateWlOngoing`        | Boolean                               | Indicates whether approved applicants matched against AML watchlists during ongoing monitoring are automatically routed for manual review.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `complyAdvantage`          | [Object](#complyadvantage-attributes) | Returned only when `amlCaseType=caSearch`. Contains configuration settings for **ComplyAdvantage** screening.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `complyAdvantageMesh`      | Object                                | <p>Present only when <code>amlCaseType=caMeshSearch</code>.</p><p>Defines <strong>ComplyAdvantage Mesh</strong> configuration settings.</p><p>Contains the <code>screeningConfigurationId</code> (String) parameter, which identifies the selected <strong>ComplyAdvantage Mesh</strong> screening preset:</p><ul><li><code>0197ea21-5904-72bf-8fa6-059771cc14f2</code> — <a href="doc:best-approval-rate-preset">Best Approval Rate</a>.</li><li><code>0197ea8a-7cae-7e68-87b1-97f64fa98b5c</code> — <a href="doc:default-preset">Default</a>.</li><li><code>0197ea8c-4853-7dd3-9613-31693d13b901</code> — <a href="doc:expanded-screening-preset">Expanded screening</a>.</li><li><code>0198186d-5bae-7bad-bdb2-79f2e45e6690</code> — <a href="doc:extensive-screening-preset">Extensive screening</a>.</li><li><code>0198186d-fd77-77cc-869e-727dc9e533b3</code> — <a href="doc:counterparty-sanctions-screening-preset">Counterparty Sanctions Screening</a>.</li></ul> |
| `quantifind`               | [Object](#quantifind-attributes)      | Returned only when `amlCaseType=quantifindSearch`. Contains configuration settings for **Quantifind** screening.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `worldCheckOne`            | [Object](#worldcheckone-attributes)   | Returned only when `amlCaseType=wcCase`. Contains configuration settings for **World-Check One** screening.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

## `complyAdvantage` attributes

The following table explains the `complyAdvantage` attributes.

| Field           | Type             | Description                                                                                                                                                                                                                                                                                                                                                                                  |
| :-------------- | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `warningTypes`  | Array of strings | Specifies the warning categories included in the watchlist search (for example, `sanction`, `pep-class-1`, `warning`).                                                                                                                                                                                                                                                                       |
| `fuzziness`     | Enum             | <p>Name matching criteria:</p><ul><li><code>strict</code> — returns exact name matches and matches with minor variations.</li><li><code>def</code> (default) — returns exact name matches and allows a small difference between names.</li><li><code>fuzzy</code> — returns exact name matches and allows the widest range of spelling differences including non-phonetic matches.</li></ul> |
| `exactMatch`    | Boolean          | Indicates if only exact name matches are flagged (`true`). Exact match disables all standard and optional matching behaviours, and overrides `fuzziness`.                                                                                                                                                                                                                                    |
| `searchProfile` | String           | **ComplyAdvantage Search** profile ID (if used instead of `warningTypes` for watchlist screening).                                                                                                                                                                                                                                                                                           |

## `quantifind` attributes

The following table explains the `quantifind` attributes.

| Field                | Type             | Description                                                                                                                                                                                                                                                                                                    |
| :------------------- | :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `minRiskLevel`       | Enum             | <p>Minimum risk level used for watchlist checks.</p><ul><li><code>high</code> — high risk records only.</li><li><code>medium</code> — medium risk records and higher.</li><li><code>neutral</code> — neutral risk records and higher.</li><li><code>noRisk</code> — all records with any risk level.</li></ul> |
| `minConfidenceLevel` | Enum             | Minimum confidence level used for watchlist checks: `Strong` or `Fair`.                                                                                                                                                                                                                                        |
| `includeDataSources` | Boolean          | <p>Indicates the data source exclusion/inclusion policy:</p><ul><li><code>true</code> — include data sources.</li><li><code>false</code> or <code>null</code> — exclude data sources.</li></ul>                                                                                                                |
| `includeRiskFactors` | Boolean          | <p>Indicates the risk factors exclusion/inclusion policy:</p><ul><li><code>true</code> — include risk factors.</li><li><code>false</code> or <code>null</code> — exclude risk factors.</li></ul>                                                                                                               |
| `dataSources`        | Array of strings | List of data sources that are included or excluded based on the `includeDataSources` setting.                                                                                                                                                                                                                  |
| `riskFactors`        | Array of strings | List of risk factors that are included or excluded based on the `includeRiskFactors` setting.                                                                                                                                                                                                                  |
| `segmentId`          | String           | **Quantifind** segment ID for ongoing monitoring.                                                                                                                                                                                                                                                              |

## `worldCheckOne` attributes

The following table explains the worldCheckOne attributes.

| Field               | Type    | Description                                                                                                                                                                                 |
| ------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `groupName`         | String  | Identifies the **World-Check One** group name.                                                                                                                                              |
| `nameTransposition` | Boolean | Indicates whether screening also matches records where the applicant's first and last names are swapped. Returned only when it is explicitly enabled or disabled for the level or globally. |

## `ipRestrictionSettings` attributes

The following table describes the `ipRestrictionSettings` attributes.

| Field               | Type             | Description                                                                                                           |
| :------------------ | :--------------- | :-------------------------------------------------------------------------------------------------------------------- |
| `restrictVpn`       | Boolean          | Indicates if the setting **Pause verification if VPN is detected** is enabled (`true`) on the level or not (`false`). |
| `restrictCountries` | Boolean          | Indicates if the level is configured to control applicant IP addresses by allowing or blocking selected countries.    |
| `includedCountries` | Array of strings | List of countries from which applicants are allowed to start verification based on their IP address.                  |
| `excludedCountries` | Array of strings | List of countries from which applicants are not allowed to start verification based on their IP address.              |

# Response examples

If the request is successfully sent and processed, you will get a response like the one below. This example shows a response where a single verification level is created with two steps: **Identity document** and **Selfie**.

```json
{
  "list": {
    "items": [
      {
        "id": "exampleId",
        "clientId": "exampleClientId",
        "name": "levelName",
        "desc": "levelDescription",
        "requiredIdDocs": {
          "docSets": [
            {
              "idDocSetType": "IDENTITY",
              "types": [
                "ID_CARD",
                "PASSPORT",
                "RESIDENCE_PERMIT",
                "DRIVERS"
              ],
              "videoRequired": "disabled",
              "captureParams": {
                "inputType": "fileUpload"
              }
            },
            {
              "idDocSetType": "SELFIE",
              "types": [
                "SELFIE"
              ],
              "videoRequired": "passiveLiveness",
              "captureParams": {
                "inputType": "liveness"
              }
            }
          ]
        },
        "created": {
          "date": "2026-01-16 07:59:14",
          "clientSubject": "exampleclientSubject"
        },
        "modified": {
          "date": "2026-01-16 07:59:14",
          "clientSubject": "exampleclientSubject"
        },
        "createdAt": "2026-01-16 07:59:14",
        "createdBy": "exampleclientSubject",
        "modifiedAt": "2026-01-16 07:59:14",
        "applicantType": "individual"
      }
    ],
    "totalItems": 1
  }
}
```

If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error. For example:

```json
{
  "code": 401,
  "correlationId": "abc123",
  "description": "App token signature mismatch",
  "errorCode": 4003
}
```

# 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/applicants/-/levels": {
      "get": {
        "summary": "Get applicant levels",
        "description": "",
        "operationId": "get-applicant-levels",
        "deprecated": false
      }
    }
  },
  "x-readme": {
    "headers": [],
    "explorer-enabled": true,
    "proxy-enabled": true
  },
  "x-readme-fauxas": true
}
```