Advanced Phone Number Risk Check

Incode’s Advanced Phone Number Risk Check determines the level of risk associated with a phone number. It supports global phone numbers and checks for the following:

  • If the number is an active line
  • Any fraudulent activity associated with the phone number. This can include whether it was exposed in recent breaches, reported for spam/harassment, is associated with robocalls, etc.
  • If the phone number was ported over recently
  • Who the previous and current carriers are
  • When it was found in data breaches
  • When the phone number was first seen in our data partner's network
  • What social media platforms the phone number is associated with

T he check provides a confidence score that indicates how trustworthy this phone number is.

The Advanced Phone Risk Check module can be added to your workflow to evaluate the trust and potential risk of a phone number based on intelligence signals.

Integration

User input flow

Advanced Phone Number Risk Check module configuration allows collection of user data via a user input flow where users can select the country code and type in their phone number. See an example below:

eKYC user input flow example

Module configuration

The module configuration can be leveraged to select the applicable fields for the input data you would like to collect from the end user.

Dashboard configuration options for eKYC > Advanced Phone Number Risk


Single Session Dashboard Result

Direct API Approach

All module configurations and user data can be forwarded directly in the request for performing an eKYC search. This will override existing configuration and data collected about the user.

📘

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

POST /omni/externalVerification/ekyc

This endpoint performs an eKYC check for the individual specified. Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

  • phone: (mandatory) String.
  • country: (mandatory) String. Must be "GL".
  • source: (mandatory) String. Must be "PHONE_RISK_2"

Example request:

{
  "countryCode": "GL",
  "phone": "+12506503121",
   "plugins": 
  [
      "kyc"
  ],
  "source": "PHONE_RISK_2"
}

Direct API Response

📘

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

{
                "level": "Very high",
                  "verifications": 		
								{
                    "confidenceLevel": "low",
                    "firstSeen": "2017-12-22",
                    "connectedPlatforms": "Whatsapp, Instagram, Amazon, Google, Facebook, ToEmail",
                    "previousCarrier": "Cingular Wireless/2",
                    "phoneValid": "true",
                    "phoneActive": "true",
                    "totalBreaches": "22",
                    "digitalPresenceScore": "weak",
                    "checkStatus": "found",
                    "phonePorted": "false",
                    "isDisposable": "false",
                    "multipleBreachExposure": "true",
                    "phoneLineType": "Mobile",
                    "overallLevel": "Very high",
                    "currentCarrier": "Cingular Wireless/2",
                    "phoneName": "John Doe",
                    "firstBreachDate": "2017-12-22",
                    "lastBreachDate": "2026-01-12"
                }
}

Please refer to error response to see conventional HTTP response codes to indicate the success or failure of an API request.

For email, custom 400 error messages if country is “ “ or null:

Incode API KeyStatusDefinition
checkStatusStringOutcome of the check for the provided phone number.
phoneLineTypeStringType of line (e.g., mobile, landline).
phoneValidtrue,
false
Indicates whether the phone number is valid.
phonePortedtrue,
false
Indicates whether the phone number is ported.
currentCarrierStringName of the current carrier/service provider
previousCarrierStringName of the current carrier/service provider
lastPortedDateDate when the number was last ported in YYYY-MM-DD format. Only exists in response if the number has been ported.
phoneActivetrue,
false
Indicates whether this phone number is a live, usable phone number that is currently active.
activityScoreIntegerActivity score ranging from 0-1000 represents the quality of the phone number. Higher score indicates better activity and confidence.
activityDescriptionStringIndicates how much network activity and information is available to determine if the phone number is reachable.
footprintScoreIntegerDigital footprint score ranging from 0-1000 represents the quality of the phone number. Higher score indicates better activity and confidence.
overallLevelLow,
Medium,
High,
Very High
Represents the level of risk associated with the phone number.
isDisposabletrue,
false
Indicates whether this phone number is of disposable type.
totalBreachesStringIndicates the number of breaches the phone number was found in.
firstBreachDateDateDate the number was first found in a data breach
lastBreachDateDateDate the number was found most recently in a data breach
multipleBreachExposuretrue,
false
Indicates whether the phone number was found in multiple breaches.
connectedPlatformsStringList of social media platforms where an account is associated with this phone number.
digitalPresenceScoreInteger
phoneNameStringName of the person associated with this phone number
confidenceLevelLow,
Medium,
High,
Very High
firstSeenDateDate when this phone number was first seen in our data partner’s network.