Get Device check results for action

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 action. The result includes the devices used in the checked attempt, their risk labels, and the other applicants seen on these devices.

Required permissions

To use this method:

Request example

curl -X GET \
     'https://api.sumsub.com/resources/api/applicantActions/6ac7b8a2dbd21a509b4a27a8/checks/latest?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>'

Note

The type query parameter must be DEVICE_CHECK. The method has no other parameters.

Response explained

The response represents a singleton list of checks. If the action has no DEVICE_CHECK result yet, or Device Intelligence is not enabled for your account, the checks array is empty.

Root variables

The root variables are the core DEVICE_CHECK check result data items. Some of them include nested attributes and element fields.

FieldTypeDescription
answerStringCheck answer:
  • GREEN — no issues found.
  • YELLOW — the check found issues that require attention.
  • RED — the check found high-risk issues.
  • IGNORED — 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 latest DEVICE_CHECK check result.
idStringUnique identifier of the check.
deviceCheckInfoObjectIncludes the DEVICE_CHECK check results. It is absent if the check was skipped.

deviceCheckInfo attributes

FieldTypeDescription
riskLevelString (Enum)Overall risk level of the check: GREEN, YELLOW, or RED. It is computed from the risk labels of the devices and the applicants related through them.
blocklistedBooleantrue if all checked devices are in your blocklist.
whitelistedBooleantrue if all checked devices are in your allowlist.
devicesArray of objectsDevices used in the checked attempt.
relatedApplicantsArray of objectsApplicants seen on the checked devices, starting with the checked applicant. The list is capped, so see relatedApplicantCount for the total number.
relatedApplicantCountIntegerTotal number of the applicants seen on the checked devices, including the checked one. It may be bigger than the number of the objects in relatedApplicants.

devices element fields

FieldTypeDescription
deviceIdStringUnique identifier of the device.
infoObjectDevice details.
riskLevelString (Enum)Risk level of the device: GREEN, YELLOW, or RED. It is computed from the device risk labels and the applicants related through the device.
riskLabelsArray of stringsRisk labels detected on the device. See risk labels.

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).
sdkTypeStringSDK type used for device capturing (for example, js, android, ios).

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

If the request is successfully processed, you will get a response like the one below.

{
  "checks": [
    {
      "answer": "YELLOW",
      "checkType": "DEVICE_CHECK",
      "createdAt": "2026-10-28 10:15:42",
      "id": "6ac7b8b4dbd21a509b4a27c1",
      "deviceCheckInfo": {
        "riskLevel": "YELLOW",
        "blocklisted": false,
        "whitelisted": false,
        "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
      }
    }
  ]
}

If the action has no DEVICE_CHECK result yet, or Device Intelligence is not enabled for your account, the checks array is empty.

{
  "checks": []
}

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

// This example shows the response when `actionId` is not a valid identifier.

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

Possible errors

HTTP codeDescription
400actionId 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 action is not found.
Path Params
string
required
Response
200
Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here!