API Integration
Following is an example of how a check risk call for an individual looks for Risk Insights:
- Endpoint:
https://api.trulioo.com/v3/risk/check
- Authentication: OAuth 2.0
Sample API Request
POST https://api.trulioo.com/v3/risk/check
Authorization: OAuth 2.0
body:
{
"VerificationType": "Live",
"PackageId":"{{PackageId}}",
"CleansedAddress": false,
"CountryCode": "US",
"DataFields": {
"PersonInfo": {
"FirstGivenName": "Andrew",
"FirstSurName": "Smith",
"YearOfBirth": "1990"
},
"Location": {
"AdditionalFields": {
"Address1": "123 Main"
}
},
"Risk":{
"Phone": "+19173401606",
"Email": "[email protected]",
"IP": "0.0.0.0",
"Action": "hi"
}
},
"VerboseMode": false
}
Verbose Mode
This will include Reasons for Anomaly Detection as inhouse models such as
Account creation time, Identities seen in Trulioo’s platform, input discrepancy in Trulioo’s Identity Graph, etc…
Sample API Response
{
"ProductName": "Risk Insights",
"RiskSummary": {
"Score": 27,
"Level": "Low"
},
"Record": {
"TransactionRecordID": "2041ea02-f7a9-81b5-9305-4420eb7b4ee4",
"Risk Signals": [
{
"Signal": "Anomaly Detection",
"SignalFields": [
{
"Score": 24,
"Level": "Low",
"Details": {
"VelocityMonitorScore": {
"RiskLevel": "High",
"Score": 100
},
"IdentityGraphScore": {
"RiskLevel": "Low",
"Score": 0
}
},
"Reasons": {
"VelocityMonitor": {
"IdentitiesSeen": 28,
"DaysIdentitySeen": 6,
"AccountCreationInterval": 58,
"AccountsCreatedPerDay": 4,
"RoboticFraudAccountsPercentage": 0.11,
"HybridFraudAccountsPercentage": 0.71,
"HumanFraudAccountsPercentage": 0.79,
"CrossBorderFraud": false,
"CrossIndustryFraud": false
},
"IdentityGraph": {
"EmailDiscrepancy": false,
"AddressDiscrepancy": true,
"PhoneDiscrepancy": false,
"DoBDiscrepancy": false,
"EmailDoBMatch": true,
"PhoneDoBMatch": true,
"IDNumberDoBMatch": true
}
}
}
],
"Errors": [],
"FieldGroups": [],
"Weight": 25
},
{
"Signal": "Identity Risk Signals",
"SignalFields": [
{
"Score": 24,
"Level": "Low",
"Reasons": {
"IsEmailValid": true,
"IsEmailDisposable": false,
"EmailTimeinNetwork": 234,
"EmailNameMatch": "Match",
"EmailAddressMatch": "Country match",
"IsPhoneValid": true,
"PhoneNameMatch": "Match",
"PhoneAddressMatch": "Country match",
"NameAddressMatch": "Match"
}
}
],
"Errors": [],
"FieldGroups": [],
"Weight": 25
},
{
"Signal": "Mobile Risk Signals",
"SignalFields": [
{
"Score": 31,
"Level": "Medium",
"Reasons": {
"phone_type": {
"Code": "2",
"Description": "MOBILE"
},
"Location": {
"City": "New York",
"State": "NY",
"Zip": "10025",
"metro_code": "5600",
"County": "",
"Country": {
"Name": "United States",
"ISO2": "US",
"ISO3": "USA"
},
"Coordinates": {
"Latitude": "40.80123",
"Longitude": "-73.95933"
},
"TimeZone": null
},
"Carrier": {
"Name": "AT&T Wireless"
},
"BlockListing": {
"blocked": false,
"block_code": 0,
"block_description": "Not blocked"
}
}
}
],
"Errors": [],
"FieldGroups": [],
"Weight": 25
},
{
"Signal": "Network Signals",
"SignalFields": [
{
"Score": 30,
"Level": "Low",
"Details": {
"device": {
"ua_brand": null,
"ua_browser": null,
"ua_device_type": null,
"ua_name": null,
"ua_os": null,
"ua_type": null,
"ua_version": null
},
"geo": {
"country": "US",
"state": "Texas ",
"city": "Dallas",
"lat": "32.7831",
"long": "-96.8067"
},
"network": {
"isp_asn": "AS20057",
"isp_name": "AT&T Mobility LLC",
"company_name": "AT&T Mobility LLC",
"vpn_name": null,
"is_vpn_confirmed": false,
"is_vpn_suspect": false,
"is_vpn_capable": false,
"is_tor": false,
"is_hosting": false,
"is_corporate": false,
"is_education": false,
"is_mobile": true,
"is_proxy_reported": false,
"is_proxy_public": false,
"is_proxy_rotating": false,
"bot_name": null,
"crawler_name": null
}
},
"Reasons": {
"trust": [
"ADDRESS_GEOIP_MATCH"
],
"info": [
"NETWORK_MOBILE",
"ACTIVITY_INFREQUENT_GEO_COUNTRY"
],
"risk": [
"ACTIVITY_NEW_IP",
"ACTIVITY_NEW_SUBNET",
"ACTIVITY_NEW_NETWORK",
"ACTIVITY_NEW_GEO_CITY",
"ACTIVITY_NEW_GEO_STATE",
"ACTIVITY_NEW_GEO_TIMEZONE",
"ACTIVITY_NEW_DEVICE",
"RISK_RECENT_IMPOSSIBLE_TRAVEL_7D",
"RISK_RECENT_HIGH_SCORE_7D",
"RISK_RECENT_EMAIL_IP_CYCLING_7D"
]
}
}
],
"Errors": [],
"FieldGroups": [],
"Weight": 25
}
],
"Errors": []
},
"Errors": []
}
Understanding the Response
The following information will help you understand the response you will receive for a business verification request.
1. RiskSummary
This indicates the overall risk score and risk level of the individual you provided, based on the results from the underlying datasources configure for you.
- Low Risk means the individual you provided is less likely to be involved with fraudulent activities or being impacted by fraud.
- Medium Risk means that the individual you provided has a moderate likelihood of being involved in fraudulent activities or being impacted by fraud.
- High Risk means that the individual you provided has a significant likelihood of being involved with fraudulent activities or being impacted by fraud.
- Score is a numerical rating assigned to a transaction to quantify the level of risk associated with potential fraudulent activity. It has a range from 0 to 100 which means a higher risk score indicates a higher likelihood of fraudulent behavior.
2. Risk Signals
Each risk check response contains an array of Risk Signals objects for each risk model configured on an account. Each RiskSignals contains the following:
a) Signal: Name of the configured Trulioo risk signal datasources
b) SignalFields subarray: This contains all information on the individual that the risk signals found based on the input provided. Beside risk score and level of each risk signal, additional risk information including Details and Reasons is provided for further analytics if needed. You can find detailed information by following Anomaly Detection, Network Risk Signals, Identity Risk Signals and Mobile Risk Signals.
c) Errors: This contains descriptions and codes for any errors returned by a risk signal datasource. These are returned on a per-datasource basis and the rest of the transaction will continue with the other datasources
d) Weight: This contains the value of how much the risk score from each tisk signal datasource contributes to the summary risk score. The range is from 0 to 100.
For example: if you set the weight of anomaly detection to 25, summary risk score equals to (25 (anomaly detection score) + (weight of other risk signals)(score of other risk signals)) / 100
Updated 8 days ago