Fraud API Response
The endpoint returns a JSON structured response carrying SEON's enriched data, the rules that fired and the resulting score. See Fraud API Request for the call that produces it.
Table of Contents
Envelope
Every response is wrapped in the same three fields:
| Attribute | Type | Description |
|---|---|---|
success | boolean | true when the request was processed. On false, read error and ignore data. |
error | object | Empty on success. On failure it carries the SEON error code and message — see Error responses. |
data | object | The enrichment and scoring result, described below. |
Response attributes
The attributes of the data object. Which ones appear depends on the modules you enabled in config and on config.response_fields.
idstringA unique identifier. Equals the transaction_id sent in the request, or a generated value if none was sent.
statestringTransaction state, indicating the action to take. Score thresholds are configurable on the Settings page.
fraud_scorenumberLikelihood that the transaction is fraudulent. Anything above 10 is risky. See Scoring Engine & Rules.
blackbox_scorenumberLikelihood that the transaction is fraudulent according to SEON's Blackbox machine learning models. Must be activated to appear in the response — see Blackbox machine learning.
ip_detailsobjectDetails about the IP address. Contains the full IP API response; its applied_rules are merged into the Fraud API's applied_rules.
email_detailsobjectDetails about the email address. Contains the full Email API response; its applied_rules are merged into the Fraud API's applied_rules.
phone_detailsobjectDetails about the phone number. Contains the full Phone API response; its applied_rules are merged into the Fraud API's applied_rules.
aml_detailsobjectAML screening details for the user. Contains the full AML API response; its applied_rules are merged into the Fraud API's applied_rules.
bin_detailsobjectDetails about the payment card.
11 child attributes
card_binstringThe first 6 digits of the card number.
bin_bankstringCard's bank name.
bin_cardstringCard's network.
bin_typestringCard's type: CHARGE CARD, CREDIT or DEBIT.
bin_levelstringCard's level, for example ATM CARD, BUSINESS, CORPORATE, PLATINUM.
bin_countrystringCard's country.
bin_country_codestringCard's two-character ISO 3166-1 country code.
bin_websitestringThe owner bank's website.
bin_phonestringThe owner bank's phone number.
bin_validbooleanWhether the card is valid.
card_issuerstringCard's issuer name.
device_detailsobjectThe decrypted device fingerprint — the full Device Intelligence SDK response, as collected by the JavaScript Agent, iOS SDK or Android SDK. A field can be null when the browser does not support or return that data point; otherwise types are preserved.
73 child attributes
typestringSource of the fingerprint — web for the JavaScript Agent.
sourcestringThe SDK version that produced the payload. Example: js-6.5.1.
session_idstringUnique identifier generated for the session when the fingerprint was created.
true_device_idstringUnique and persistent device identifier.
device_hashstringUnique identifier of the device at hardware level, based on SEON's algorithm.
browser_hashstringUnique identifier of the browser, based on SEON's algorithm.
cookie_hashstringUnique identifier of the user's current session.
spoofing_hashstringHash of the detected fingerprint spoofing attempts. Only populated when some form of spoofing is detected.
suspicious_flagsarray of stringFraud indicators raised for this session. See Suspicious flags for the full list and the default rule scores.
osstringOperating system of the user's device.
platformstringPlatform reported by the user's browser.
browserstringName of the user's browser.
browser_versionstringVersion of the user's browser.
browser_version_ageintegerAge of the browser version, in years.
user_agentstringThe user agent string of the user's browser.
unpopular_user_agentbooleantrue when the user agent is not among the widely used ones.
user_agent_dataobjectUser Agent Data API values. Chromium-based browsers only.
7 child attributes
architecturestringCPU architecture, for example arm.
bitnessstringCPU bitness, for example 64.
mobilebooleanWhether the browser reports itself as mobile.
modelstringDevice model, where reported.
platformstringPlatform name, for example macOS.
platform_versionstringPlatform version.
ua_full_versionstringFull browser version.
device_typestringType of device: desktop, phone, tablet, TV, and so on.
device_memoryintegerSize of the device memory, in gigabytes.
hardware_concurrencyintegerNumber of logical processor cores.
price_rangestringEstimated price range of the user's device.
mobile_detailsobjectFactory device information for the mobile device used — model, resolution, battery size, average price.
privatebooleanWhether the user is browsing in private mode.
vpnbooleanWhether the user is using a VPN.
proxybooleanWhether the user is using a proxy.
adblockbooleanWhether an ad blocker is installed in the user's browser.
extensionsarray of stringInstalled extensions detected against SEON's extension list.
device_ipstringIP address the session data came from.
device_ip_ispstringISP of the device IP.
device_ip_countrystringCountry of the device IP.
device_ip_regionstringRegion of the device IP. Currently US states only.
dns_ipstringUser's DNS IP address.
dns_ip_ispstringISP of the DNS IP.
dns_ip_countrystringCountry of the DNS IP.
dns_ip_regionstringRegion of the DNS IP. Currently US states only.
webrtc_activatedbooleanWhether WebRTC is turned on.
webrtc_ipsarray of stringWebRTC IPs found in the user's browser.
webrtc_countintegerNumber of WebRTC IPs found.
device_locationobjectLocation data for the device. Returned only when config.device.include requests device_location or extended_device_location. The base form carries latitude, longitude, accuracy, is_simulated and status; the extended form adds the reverse-geocoded country_code, region, city and zip.
9 child attributes
latitudenumberLatitude reported by the device.
longitudenumberLongitude reported by the device.
accuracynumberAccuracy of the reported position, in metres.
is_simulatedbooleanWhether the position appears to be simulated.
statusstringOutcome of the geolocation collection, for example SUCCESS.
country_codestringReverse-geocoded country code. Extended device location only.
regionstringReverse-geocoded region. Extended device location only.
citystringReverse-geocoded city. Extended device location only.
zipstringReverse-geocoded postal code. Extended device location only.
timezonestringTimezone of the user, for example Europe/Budapest.
timezone_offsetstringThe device's timezone setting as a UTC offset.
timezone_countrystringISO country code of the detected timezone.
localestringThe user's language, region and any special variant preferences.
languagesarray of stringThe user's preferred languages.
keyboard_layout_namestringKeyboard layout language of the user.
keyboard_layout_hashstringHash of the keyboard's key mapping.
canvas_hashstringIdentifier generated from the browser's canvas rendering.
audio_hashstringIdentifier built on the browser's audio capabilities. Helps separate regular browsers from fraud tools and privacy browsers.
math_hashstringHash of high-precision math function outputs. Browser engines implement these differently, so the value narrows down the engine.
mime_types_hashstringHash of the media types and formats the browser supports.
system_colors_hashstringHash of the built-in base fonts' colours and sizes.
webglobjectWebGL rendering data points.
9 child attributes
webgl_hashstringA single hash of all WebGL-related information.
webgl_image_hashstringHash of an object drawn with WebGL.
webgl_parameters_hashstringHash of the WebGL API parameters.
webgl_parameters_noisebooleantrue when noise was detected while hashing the WebGL parameters.
webgl_2_image_hashstringHash of an object drawn with WebGL 2.
webgl_2_parameters_hashstringHash of the WebGL 2 parameters.
webgl_2_parameters_noisebooleantrue when noise was detected while hashing the WebGL 2 parameters.
webgl_rendererstringRenderer string of the graphics driver.
webgl_vendorstringVendor string of the graphics driver.
font_hashstringUnique identifier of the user's installed fonts.
font_listarray of stringNames of the fonts installed on the user's device.
font_countintegerNumber of accessible fonts in the user's browser.
font_noisebooleanWhether font noising was detected — a technique for spoofing the installed font list to defeat fingerprinting.
pluginsobjectInstalled browser plugins.
3 child attributes
plugin_countintegerNumber of accessible plugins in the user's browser.
plugin_hashstringUnique identifier of the user's installed plugins.
plugin_listarray of stringNames of the plugins installed on the user's device.
screen_dataobjectScreen and window measurements — screen_width, screen_height, screen_available_width, screen_available_height, screen_color_depth, screen_pixel_depth, device_pixel_ratio, orientation_type, orientation_angle, is_extended, window_inner_*, window_outer_*, window_screen_*, window_scroll_*, document_width and document_height.
unpopular_device_resolutionbooleantrue when the user's screen resolution is not among the widely used ones.
media_devicesobjectThe device's media devices.
3 child attributes
audio_input_countintegerNumber of audio input devices, such as microphones.
audio_output_countintegerNumber of audio output devices, such as speakers and headphones.
video_input_countintegerNumber of video input devices, such as webcams.
batteryobjectBattery charge state and level.
2 child attributes
battery_chargingbooleanWhether the device is currently charging.
battery_levelintegerCurrent battery level.
permissionsobjectThe browser's permission states.
3 child attributes
grantedarray of stringBrowser APIs for which the user granted permission.
promptarray of stringBrowser APIs the user has neither granted nor denied — the user will be prompted on first use.
deniedarray of stringBrowser APIs for which the user denied permission.
drm_key_systemsarray of stringAvailable Digital Rights Management providers.
touch_supportbooleanWhether the user's browser supports a touch screen.
max_touch_pointsintegerMaximum number of simultaneous touch contact points the device supports.
mouse_movedbooleanWhether the mouse moved during fingerprinting — that is, between seon.init() and seon.getSession().
has_focusbooleanWhether the current page's content has focus.
cookie_enabledbooleanWhether cookies are enabled in the user's browser.
do_not_trackbooleanWhether the browser's Do Not Track feature is turned on.
java_enabledbooleanWhether Java applets are turned on. No modern major browser supports them.
flash_enabledbooleanWhether the browser supports Flash.
referrerstringThe URL of the page that linked to the current page.
window_locationstringURL of the page where the fingerprint was generated, including path and query parameters.
geolocation_detailsobjectDistances between the locations SEON knows about. By default only the IP, POS and custom-coordinate distances are calculated; the user, billing and shipping address distances need to be enabled by SEON. Add geolocation_details to config.response_fields to receive it.
15 child attributes
user_billing_distancenumberDistance between the user's address and the billing address, in kilometres.
user_shipping_distancenumberDistance between the user's address and the shipping address, in kilometres.
billing_shipping_distancenumberDistance between the billing and shipping addresses, in kilometres.
ip_user_distancenumberDistance between the IP location and the user's address, in kilometres.
ip_billing_distancenumberDistance between the IP location and the billing address, in kilometres.
ip_shipping_distancenumberDistance between the IP location and the shipping address, in kilometres.
pos_ip_distancenumberDistance between the POS location and the IP-derived geolocation, in kilometres.
pos_user_distancenumberDistance between the POS location and the user's registered address, in kilometres.
pos_shipping_distancenumberDistance between the POS location and the shipping address, in kilometres.
pos_billing_distancenumberDistance between the POS location and the billing address, in kilometres.
pos_custom_distancenumberDistance between the POS location and the custom coordinate, in kilometres.
custom_ip_distancenumberDistance between the custom coordinate and the IP-derived geolocation, in kilometres.
custom_user_distancenumberDistance between the custom coordinate and the user's registered address, in kilometres.
custom_shipping_distancenumberDistance between the custom coordinate and the shipping address, in kilometres.
custom_billing_distancenumberDistance between the custom coordinate and the billing address, in kilometres.
applied_rulesarray of objectThe rules configured in the Scoring Engine that fired for this action.
4 child attributes
idstringUnique identifier of the rule.
namestringName of the rule.
operationstringThe rule's operation.
scorenumberScore contributed by the rule.
rule_category_detailsarray of objectPer-category results. Not included by default: enable Category score or Category state under the category settings in the Admin Panel and add rule_category_details to config.response_fields. See the step-by-step guide.
5 child attributes
category_idintegerUnique identifier of the rule category.
category_namestringName of the rule category.
category_statestringState derived from the rules applied in this category. Present according to your category settings.
category_scorenumberScore derived from the rules applied in this category. Present according to your category settings.
applied_rulesarray of stringIDs of the rules applied within the category.
string_analysesobjectAnalytical functions applied to the email, user_name and user_fullname values from the request — the same figures shown in the Email Information and Identity widgets of the Transaction view. Add string_analyses to config.response_fields to receive it.
3 child attributes
emailobjectCharacter-composition metrics for one input string.
15 child attributes
lengthintegerTotal number of characters.
count_of_alphanumericintegerNumber of alphanumeric characters.
count_of_non_alpha_numericintegerNumber of non-alphanumeric characters.
count_of_vowelsintegerNumber of vowels.
count_of_consonantintegerNumber of consonants.
count_of_numbersintegerNumber of digits.
count_of_consecutive_numbersintegerNumber of runs of consecutive digits.
count_of_capitalsintegerNumber of capital letters.
count_of_plusintegerNumber of + characters.
count_of_dotsintegerNumber of . characters.
vowel_rationumberVowels divided by length.
consonant_rationumberConsonants divided by length.
alpha_numeric_rationumberAlphanumeric characters divided by length.
non_alpha_numeric_rationumberNon-alphanumeric characters divided by length.
fullcaps_rationumberCapital letters divided by length.
user_nameobjectCharacter-composition metrics for one input string.
15 child attributes
lengthintegerTotal number of characters.
count_of_alphanumericintegerNumber of alphanumeric characters.
count_of_non_alpha_numericintegerNumber of non-alphanumeric characters.
count_of_vowelsintegerNumber of vowels.
count_of_consonantintegerNumber of consonants.
count_of_numbersintegerNumber of digits.
count_of_consecutive_numbersintegerNumber of runs of consecutive digits.
count_of_capitalsintegerNumber of capital letters.
count_of_plusintegerNumber of + characters.
count_of_dotsintegerNumber of . characters.
vowel_rationumberVowels divided by length.
consonant_rationumberConsonants divided by length.
alpha_numeric_rationumberAlphanumeric characters divided by length.
non_alpha_numeric_rationumberNon-alphanumeric characters divided by length.
fullcaps_rationumberCapital letters divided by length.
user_fullnameobjectCharacter-composition metrics for one input string.
15 child attributes
lengthintegerTotal number of characters.
count_of_alphanumericintegerNumber of alphanumeric characters.
count_of_non_alpha_numericintegerNumber of non-alphanumeric characters.
count_of_vowelsintegerNumber of vowels.
count_of_consonantintegerNumber of consonants.
count_of_numbersintegerNumber of digits.
count_of_consecutive_numbersintegerNumber of runs of consecutive digits.
count_of_capitalsintegerNumber of capital letters.
count_of_plusintegerNumber of + characters.
count_of_dotsintegerNumber of . characters.
vowel_rationumberVowels divided by length.
consonant_rationumberConsonants divided by length.
alpha_numeric_rationumberAlphanumeric characters divided by length.
non_alpha_numeric_rationumberNon-alphanumeric characters divided by length.
fullcaps_rationumberCapital letters divided by length.
ekyc_resultstringStatus of the eKYC request. See the eKYC payload examples.
ekyc_dataobjectThe full eKYC data response for the user. See the eKYC payload examples.
versionstringVersion of the SEON API that produced the response.
calculation_timeintegerTime taken to calculate the score, in milliseconds.
seon_idintegerUnique identifier generated by SEON.
Example response
{
"success": true,
"error": {},
"data": {
"id": "67c2810c2de1",
"state": "DECLINE",
"fraud_score": 95.75,
"blackbox_score": 93.25,
"bin_details": {
"card_bin": "414141",
"bin_bank": "VERMONT NATIONAL BANK",
"bin_card": "VISA",
"bin_type": "CREDIT",
"bin_level": "CLASSIC",
"bin_country": "UNITED STATES",
"bin_country_code": "US",
"bin_website": "www.vermontnationalbank.com",
"bin_phone": "+1 802 476 0030",
"bin_valid": true,
"card_issuer": "VISA"
},
"version": "v2",
"applied_rules": [
{
"id": "1000702",
"name": "Phone possible is equal to true",
"operation": "+",
"score": 1.11
},
{
"id": "P106",
"name": "Customer is using a datacenter ISP",
"operation": "+",
"score": 10
},
{
"id": "1000715",
"name": "Temp ARC 2 category specific rule",
"operation": null,
"score": 0
}
],
"device_details": {
"type": "web",
"os": "macOS 10.15 Catalina",
"browser": "CHROME",
"device_type": "desktop",
"device_hash": "c92d19d5c29dbd2834e2281d28b35fd5",
"true_device_id": "0195943f-b231-7c7c-9586-b3b0cccb039a",
"session_id": "14e671a5f503b0d0d8d978a67de0866b",
"source": "js-6.5.1",
"vpn": false,
"proxy": false,
"suspicious_flags": [
"bots_and_automation"
]
},
"geolocation_details": {
"ip_user_distance": 4.13,
"pos_ip_distance": 2.87
},
"calculation_time": 2327,
"seon_id": 12602,
"aml_details": null
}
}Error responses
On failure success is false and the error object carries the SEON error code and message.
| HTTP status | Error code | Description |
|---|---|---|
400 | 1000 | Empty request body. The request reached SEON but carried no payload. Check the request for formatting errors. |
1001 | Incorrect config object: | |
1006 | Invalid input json. The body is not valid JSON. | |
1009 | Invalid email address. The | |
1016 | Lookup limit for your plan has been reached. Contact Technical Services to raise the limit. | |
1018 | Invalid card_last format. | |
2006 | Requested feature | |
3000 | Incorrect type: | |
3001 | Incorrect value: | |
3002 | Incorrect value: | |
3003 | Length error: | |
3004 | Error: | |
3005 | Unrecognized property: | |
3007 | Invalid | |
4001 | System error. See the status page or contact SEON. | |
401 | 1017 | Invalid authorization IP. The request came from an IP that is not authorised for your account. |
1019 | Your trial has expired. Contact SEON to continue. | |
2001 | Missing license key. The | |
2002 | Invalid license key. The key in | |
2003 | Your subscription has ended. | |
2004 | Inactive license. The license has expired or has not been activated yet. | |
429 | 4004 | Too many requests. |
500 | 4001 | Unexpected server error. Check the status page or contact SEON with the |
Next steps
Sub-API references
The *_details objects contain the full response of the corresponding sub-API:
- IP API — the full contents of
ip_details - Email API — the full contents of
email_details - Phone API — the full contents of
phone_details - AML API — the full contents of
aml_details - eKYC payload examples —
ekyc_resultandekyc_data
Additional topics
- Fraud API Request — request attributes and code samples
- JavaScript Agent v6 — the web
device_detailspayload - Scoring Engine & Rules — how
applied_rulesandstateare produced - Blackbox machine learning — activating
blackbox_score - Rule categories — enabling
rule_category_details - Errors — the complete SEON error code reference across all APIs
For additional support, contact your SEON representative.