Get phone confirmation check results

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

Overview

Use this method to retrieve phone confirmation check results.

Required permissions

To use this method, your app token must have the View check results permission.

Request example

curl -X GET \
     'https://api.sumsub.com/resources/checks/latest?type=PHONE_CONFIRMATION' \
     -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 represents a singleton list of checks.

Root variables

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

FieldTypeDescription
answerStringCheck answer:
  • RED — at least one of the checks returned a high risk indication.
  • YELLOW — all the checks ended up with no certain data found.
  • GREEN — at least one of the checks ended up green with no high risk indication; some YELLOW results are acceptable.
checkTypeStringIndicates this is the PHONE_CONFIRMATION check type.
createdAtDateDate and time (UTC) of the latest phone confirmation check result.
idStringUnique identifier of the check.
phoneConfirmationCheckInfoObjectIncludes specific phone check parameters with check results.

phoneConfirmationCheckInfo attributes

The following table explains the phoneConfirmationCheckInfo attributes that represent the check results of the provided phone number in accordance with specific parameters.

FieldTypeDescription
firstSeenAtDateEarliest known date for this phone number across all Sumsub data: activation, carrier change, or first activity seen. Carriers give old numbers to new owners, so this date can be earlier than the moment the applicant got the number.
confirmedViaOtpStringIndicates if the phone number is confirmed by the applicant via OTP (One Time Password).
GREEN means that the applicant received a confirmation code on the phone and confirmed it via SDK, null if not.
blocklistedBooleantrue if the phone number is in your blocklist in Custom lists. Otherwise the field is not returned.
whitelistedBooleantrue if the phone number is in your allowlist in Custom lists. Otherwise the field is not returned.
riskScoreIntegerSumsub risk score of the phone number, from 0 to 100. Higher means riskier.
riskLevelStringIndicates a verdict made by the system according to the check results and internal logic.
  • GREEN — no risk.
  • YELLOW — medium risk.
  • RED — high risk.
intelligenceObjectNetwork activity signals for the phone number.
nonDisposableStringIndicates whether the provided phone number is a disposable one and might disappear once used.
  • GREEN — permanent phone number.
  • YELLOW — not enough data found.
  • RED — disposable phone number.
webRegistrationsExistStringIndicates if the phone number is used for registration on websites.
  • GREEN — phone number is used for registrations.
  • YELLOW — no certain data found.
  • RED — phone number was never used for registration.
activeStringIndicates if the phone number is acquired, activated by a user, and ready to receive calls.
  • GREEN — phone number is active.
  • YELLOW — no certain data found.
  • RED — phone number is inactive.
validStringIndicates if the phone number exists and is valid.
  • GREEN — phone number is valid.
  • YELLOW — no certain data found.
  • RED — phone number is invalid.
nonVirtualStringIndicates if the phone number is virtual — linked to an online account with a provider, as opposed to a specific location.
  • GREEN — a standard and non-virtual phone number.
  • YELLOW — no certain data found.
  • RED — phone number is virtual.
phoneStringPhone number.
profilesArray of stringsInformation on profiles created for social networks, services, and other platforms using the provided phone number.
riskLabelsArray of stringsA list of phone risk labels assigned by the system according to the check results and internal logic.

intelligence attributes

The intelligence object shows how the phone number has been used, based on the Sumsub network. The Sumsub network is a telecom data network: it uses telecom signals that show the number is in live use. No subscriber identity, message content or call records are used. Your data on mobile phone users and their links to identities is not shared in the network.

  • We recommend using these fields as features in risk assessment and machine learning models that combine many signals, not as a single flag for making decisions.
  • If there is no history for the number, the field is not returned. A missing field means never observed, not zero, or low activity. The whole intelligence object may be missing.
  • Counts (activityCountRaw, activeDaysCount, velocity…) show how much history exists. Indexes (activityIndex, velocity…Index) show how intense the activity is.
FieldTypeDescription
firstSeenDaysIntegerDays since the phone number was first seen in the network. This is the history of the number, not of its current owner.
lastSeenDaysIntegerDays since the phone number was last seen in the network.
activityLifetimeDaysIntegerDays between the first and the last activity.
activeDaysCountIntegerNumber of separate days with at least one activity. Several activities on one day count as one day. A low value means little proof that the number is really in use.
activityCountRawIntegerTotal number of activities seen.
activityIndexIntegerHow intense the activity is compared with how long the number has been seen, from 0 to 10. It does not show the total amount of activity.
diversityIndexIntegerHow widely the number is linked to different identities.
avgReuseIntervalDaysIntegerAverage number of days between repeat appearances of the number.
velocity1d, velocity7d, velocity30d, velocity90d, velocity360dIntegerNumber of activities in the last 1, 7, 30, 90, and 360 days.
velocity1dIndex, velocity7dIndex, velocity30dIndex, velocity90dIndex, velocity360dIndexIntegerIntensity of activity for the same time windows.
whatsappProfileCompletenessStringWhatsApp profile for this number:
  • GREEN — full profile.
  • YELLOW — partial profile.
  • RED — no profile.
currentNetworkIsPremiumBooleantrue if the mobile carrier that serves the number now is a premium carrier.
digitalSophisticationIndexIntegerHow active the owner is online overall, from 0 to 10, based on the platforms where the number is registered.
globalPlatformRatioNumberShare of checked global platforms where the number is registered, from 0.0 to 1.0.
totalPlatformCountIntegerNumber of platforms, global and local, where the number is registered.
messagingGlobalPlatformCountIntegerNumber of global messaging apps where the number is registered.

Available phone risk labels

The following table explains possible phone risk labels assigned in accordance with the check results.

Risk labelDescription
mediumRiskMedium-risk phone number.
A verdict made by the system according to the check results and internal logic.
highRiskHigh-risk phone number.
A verdict made by the system according to the check results and internal logic.
virtualVirtual phone that allows a user to make calls through the internet and is not associated with a physical location.
noWebRegistrationsPhone number registration on websites is not detected.
disposableDisposable phone number that usually disappears once used.
blocklistedPhone number is in your blocklist.
freshPhonePhone number was first seen recently.
phoneCountryVsApplicantCountryMismatchPhone number country differs from the applicant's country.
phoneCountryVsIpCountryMismatchPhone number country differs from the IP address country.
phoneCountryVsAddressCountryMismatchPhone number country differs from the address country.
phoneCountryVsEmailDomainCountryMismatchPhone number country differs from the email domain country.
phoneCountryVsCompanyCountryMismatchPhone number country differs from the company's country.

Response example

{
  "checks": [
    {
      "answer": "GREEN",
      "checkType": "PHONE_CONFIRMATION",
      "createdAt": "2022-08-25 12:00:43",
      "id": "01735091-e1d4-4744-99ac-000000000000",
      "phoneConfirmationCheckInfo": {
        "riskScore": 35,
        "firstSeenAt": "2019-03-14 00:00:00",
        "confirmedViaOtp": "GREEN",
        "riskLevel": "YELLOW",
        "nonDisposable": "GREEN",
        "webRegistrationsExist": "GREEN",
        "active": "GREEN",
        "valid": "GREEN",
        "nonVirtual": "GREEN",
        "phone": "+15550000000",
        "profiles": [
          "whatsapp",
          "facebook",
          "instagram",
          "amazon",
          "microsoft"
        ],
        "riskLabels": [
          "mediumRisk",
          "phoneCountryVsIpCountryMismatch"
        ],
        "intelligence": {
          "firstSeenDays": 2420,
          "lastSeenDays": 2,
          "activityLifetimeDays": 2418,
          "activeDaysCount": 310,
          "activityCountRaw": 1250,
          "activityIndex": 6,
          "diversityIndex": 2,
          "avgReuseIntervalDays": 8,
          "velocity1d": 1,
          "velocity7d": 4,
          "velocity30d": 15,
          "velocity90d": 41,
          "velocity360d": 160,
          "velocity1dIndex": 3,
          "velocity7dIndex": 4,
          "velocity30dIndex": 5,
          "velocity90dIndex": 5,
          "velocity360dIndex": 6,
          "whatsappProfileCompleteness": "GREEN",
          "currentNetworkIsPremium": false,
          "digitalSophisticationIndex": 7,
          "globalPlatformRatio": 0.42,
          "totalPlatformCount": 5,
          "messagingGlobalPlatformCount": 1
        }
      }
    }
  ]
}
Query Params
string
required

Unique applicant identifier in the Sumsub system.

This identifier is a random combination of 24 digits and lowercase Latin characters. It is automatically generated when the applicant is created on the Sumsub side, and can be found in the Dashboard.

If the applicantId is unknown to you, use the Get applicant data (externalUserId) method to fetch it.

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