Get Device check results

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Overview

Use this method to retrieve the latest Device Intelligence check result of an applicant. The result includes the devices used during applicant verification, their risk labels, and the other applicants seen on these devices.

Note

To get the Device Intelligence check result of a specific applicant action, use Get Device check results for action.

Required permissions

To use this method:

Use case

Use this method to evaluate the device risk of an applicant after the verification. For example, check whether the applicant used a rooted device, an emulator, or an anti-detect browser, or whether the same devices were used by other applicants, as an indicator of multi-accounting or fraud. You can use the result to make your own decision on the applicant or to pass the applicant to manual review.

Request example

curl -X GET \
     'https://api.sumsub.com/resources/checks/latest?applicantId=6ac7b79bdbd21a509b4a2790&type=DEVICE_CHECK' \
     -H 'accept: application/json' \
     -H 'X-App-Token: <your-app-token>' \
     -H 'X-App-Access-Sig: <your-signature>' \
     -H 'X-App-Access-Ts: <unix-timestamp>'

Response explained

The response is a list with at most one check: the latest active DEVICE_CHECK of the applicant. If the applicant has no DEVICE_CHECK result yet, or Device Intelligence is not enabled for your account, the checks array is empty.

Root variables

FieldTypeDescription
answerStringCheck answer. Matches deviceCheckInfo.riskLevel: GREEN, YELLOW, or RED. IGNORED means the check was skipped.
checkTypeStringIndicates that it is a DEVICE_CHECK check type.
createdAtDateDate and time (UTC, format YYYY-MM-DD hh:mm:ss) of the check.
idStringUnique identifier of the check (UUID).
deviceCheckInfoObjectDevice Intelligence check results. Absent if the check was skipped.

deviceCheckInfo attributes

FieldTypeDescription
riskLevelString (Enum)Overall risk level of the check: GREEN, YELLOW, or RED. It is RED if all of the applicant's devices are in your blocklist, and GREEN if they are all in your allowlist. Otherwise, it is the highest risk level among the devices used in the checked attempt. If no devices were captured in the attempt, it is based on the devices used by the applicant over the last 24 hours.
blocklistedBooleanReturned with true if all of the applicant's devices are in your blocklist. Otherwise, omitted.
whitelistedBooleanReturned with true if all of the applicant's devices are in your allowlist. Otherwise, omitted.
devicesArray of objectsDevices used during applicant verification. May be absent.
relatedApplicantsArray of objectsApplicants seen on the checked devices, starting with the checked applicant. The list is capped at 1000 items, so see relatedApplicantCount for the total number. May be absent.
relatedApplicantCountIntegerTotal number of the applicants seen on the checked devices, including the checked one. May be absent.

devices element fields

FieldTypeDescription
deviceIdStringUnique identifier of the device.
infoObjectDevice details.
riskLevelString (Enum)Risk level of the device: GREEN, YELLOW, or RED.
riskLabelsArray of stringsRisk labels detected on the device. See Risk labels.

devices[].info attributes

FieldTypeDescription
makeStringDevice manufacturer (for example, Apple, Samsung).
modelStringDevice model (for example, iPhone 14 Pro).
typeStringDevice type (for example, mobile, desktop, tablet).
platformStringOperating system (for example, iOS, Android, Windows).
browserStringBrowser used (for example, Safari, Chrome).
sdkTypeString (Enum)SDK type used for device capturing:
  • js — Web SDK (browser).
  • android — Android Mobile SDK.
  • ios — iOS Mobile SDK.

relatedApplicants element fields

FieldTypeDescription
applicantIdStringUnique identifier of the applicant seen on the checked devices.
deviceIdsArray of stringsIdentifiers of the checked devices the applicant was seen on.
reviewStatusStringReview status of the applicant at the time of the check. See review statuses.
reviewAnswerStringReview answer for the applicant at the time of the check: GREEN or RED.
reviewRejectTypeStringRejection type, if the applicant was rejected: RETRY or FINAL.

Risk labels

The following table explains the possible values of riskLabels.

ValueDescription
rootedThe app is running on a rooted Android device.
emulatorThe app is running in an Android emulator instead of a physical device.
badBotDevice activity appears to be automated, which may reflect malicious bot behavior or legitimate AI agent usage.
tamperingAn anti-detect browser is used, or the default browser behavior is tampered with.
antiDetectBrowserAn anti-detect browser is used. Fraudsters use these browsers (for example, AdsPower, DolphinAnty, OctoBrowser, GoLogin) for multi-accounting and to avoid device identification.
clonedAppThe request is from a cloned version of the app.
jailbrokenThe app is running on a jailbroken iOS device.
fridaToolThe app is being tampered with using the Frida tool.
virtualMachineThe browser is running inside virtualization software.
locationSpoofingThe mobile device is trying to spoof its location.
mitmAttackThe request from the app is intercepted and potentially modified.
privacySettingsModePrivacy settings that randomize and obfuscate signal output are enabled.
goodBotA well-known web crawler or other search engine bot.
incognitoIncognito or private mode is used.
developerToolsDeveloper tools were manually opened in the Chrome or Firefox browser.
factoryResetThe device has been recently factory reset, which may be used to erase previous activity or bypass fraud detection.

Response examples

Successful response:

{
  "checks": [
    {
      "answer": "YELLOW",
      "checkType": "DEVICE_CHECK",
      "createdAt": "2026-10-28 10:15:42",
      "id": "77d6c9fc-b34e-4745-832e-72f8b053ed09",
      "deviceCheckInfo": {
        "riskLevel": "YELLOW",
        "devices": [
          {
            "deviceId": "abc123def456",
            "info": {
              "make": "Apple",
              "model": "iPhone 14 Pro",
              "type": "mobile",
              "platform": "iOS",
              "browser": "Safari",
              "sdkType": "ios"
            },
            "riskLevel": "YELLOW",
            "riskLabels": ["incognito"]
          }
        ],
        "relatedApplicants": [
          {
            "applicantId": "6ac7b79bdbd21a509b4a2790",
            "deviceIds": ["abc123def456"],
            "reviewStatus": "completed",
            "reviewAnswer": "GREEN"
          },
          {
            "applicantId": "6a8f21c0dbd21a509b4a1f33",
            "deviceIds": ["abc123def456"],
            "reviewStatus": "completed",
            "reviewAnswer": "RED",
            "reviewRejectType": "FINAL"
          }
        ],
        "relatedApplicantCount": 2
      }
    }
  ]
}

No DEVICE_CHECK result yet, or Device Intelligence is not enabled:

{
  "checks": []
}

Possible errors

If the request fails, you will receive an HTTP response containing an error code along with a message explaining the error. For example, when applicantId is not a valid identifier:

{
  "code": 400,
  "correlationId": "e4491e56d5f23c319b4f901e0c8e4eb6",
  "description": "Invalid id '123456789'"
}

The following table lists the possible errors.

HTTP codeDescription
400applicantId is not a valid identifier, or type is missing or not a valid check type.
401 / 403The app token is missing or invalid, or does not have the View check results permission.
404The applicant is not found.
Query Params
string
required

Unique applicant identifier in the Sumsub system. If the applicantId is unknown to you, use the Get applicant data (externalUserId) method to fetch it.

Response
200
Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here!