post https://api.fido.id/{version}/device
Device
Trustfull's API endpoints are quite flexible and you can request a range of services from a single endpoint
One of the possible use cases is Device Detection
What is Device Detection?
Device Detection is a product that combines advanced device validation, data enrichment, and a specific AI model all based on a single touch point, the device number.
Request
following an example of a Device Detection
curl --request POST \
--url https://api.fido.id/1.0/device \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'x-api-key: [your_app_key]' \
--data '
{
"customer_id": "your_customer_id",
"claims": [
"device"
],
"user_agent": "K10000 Pro Build/NRD90M"
}'
Response
Following an example of the response:
{
"resolution_id": "...",
"customer_id": "...",
"device_request_time": "...",
"webhook_url": "...",
"claims": [
"device"
],
"value": "Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36",
"age": 2018,
"brand": "Samsung",
"browser_name": "Chrome",
"browser_version": 86,
"is_robot": true,
"model": "iPhone 8",
"operating_system": "iOS",
"price_cluster": "very_high",
"price_usd": 200,
"screen_size_height": 828,
"screen_size_width": 1792,
"category": "Mobile Phone",
"js_web_sockets": true,
"js_device_motion": true,
"css_animations": true,
"js_application_cache": true,
"jqm": true,
"is_downloader": true,
"os_windows_rt": true,
"is_e_reader": true,
"os_windows_mobile": true,
"js_xhr": true,
"uri_scheme_sms": true,
"js_device_orientation": true,
"https": true,
"js_web_workers": true,
"js_query_selector": true,
"is_t_v": true,
"is_media_player": true,
"umts": true,
"display_color_depth": 24,
"js_json": true,
"css_transitions": true,
"supports_client_side": true,
"touch_screen": true,
"js_support_event_listener": true,
"html_audio": true,
"mobile_device": 4096,
"image_jpg": true,
"display_ppi": 165,
"is_spam": true,
"hspa_evolved": true,
"js_local_storage": true,
"manufacturer": "Samsung",
"markup_xhtml_mp10": true,
"os_version": "Snow Leopard",
"os_windows_phone": "",
"os_symbian": "",
"uri_scheme_tel": true,
"image_gif87": true,
"js_support_events": true,
"os_android": true,
"image_png": true,
"is_app": true,
"html_video": true,
"js_geo_location": true,
"flash_capable": true,
"html_svg": true,
"js_touch_events": true,
"is_filter": true,
"markup_xhtml_basic10": true,
"html_inlinesvg": true,
"hsdpa": true,
"memory_limit_markup": "",
"memory_limit_download": true,
"js_web_gl": true,
"edge": true,
"is_tablet": true,
"is_checker": true,
"osi_os": true,
"v_card_download": true,
"js_indexed_d_b": true,
"nfc": true,
"browser_rendering_engine": "EdgeHTML",
"markup_xhtml_mp12": true,
"is_mobile_phone": true,
"markup_xhtml_mp11": true,
"js_modify_css": true,
"js_web_sql_database": true,
"is_games_console": true,
"os_rim": true,
"css_transforms": true,
"diagonal_screen_size": 3.5,
"html_canvas": 24,
"is_feed_reader": true,
"js_session_storage": true,
"js_support_console_log": true,
"gprs": true,
"lte_advanced": true,
"lte": true,
"os_bada": true,
"os_web_os": true,
"memory_limit_embedded_media": 4096,
"is_set_top_box": true,
"cookie_support": false,
"is_browser": true,
"js_modify_dom": true,
"js_support_basic_java_script": false,
"score": 649,
"score_cluster": "very_high",
"reason_codes": "TP001,RP001",
"identity_email_count": 2,
"identity_ip_count": 2,
"identity_msisdn_count": 2,
"identity_name_count": 2
}
RESPONSE
The following fields can be found under the "device" object
name | type |
---|---|
value | string The user agent submitted for scoring and enrichment Ex: Mozilla/5.0 (Linux; Android 10; SM-G975F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.101 Mobile Safari/537.36 |
age | integer Year of the commercial release of the device analyzed Ex: 2018 |
brand | string The company/organization that provides a device, browser, or other components to the market. It can be a manufacturer, mobile operator, or other organization exclusively offering a product Ex: Samsung |
browser_name | string The name or type of the browser on the device. This property is dynamically populated at run time Ex: Chrome |
browser_version | string The browser version on the device. This property is dynamically populated at run time Ex: 86 |
is_robot | boolean The device of the user is detected to be a bot or a spider Ex: true |
model | string The full commercial name of the device enriched Ex: iPhone 8 |
operating_system | string The operating system is installed on the device used by the customer Ex: iOS |
price_cluster | string Indicates the retail price of the device used by the customer Ex: very_high Enum: very_low,low,medium,high,very_high |
price_usd | string Indicates the retail price in usd of the device used by the customer Ex: 200 |
screen_size_height | integer Indicates the height of the device screen, in pixels Ex: 828 |
screen_size_width | integer Indicates the width of the device screen, in pixels Ex: 1792 |
category | string Indicates the Primary hardware type of the user: - Mobile Phone - Desktop - Tablet - TV - Games Console - Digital Home Assistant - Data Collection Terminal - Telematics Control Unit - Set Top Box - Media Player - Single-board Computer - Refrigerator Ex: Mobile Phone Enum: Mobile Phone, Games Console, Digital Home Assistant, Refrigerator, Desktop, Data Collection Terminal, Telematics Control Unit, Tablet, TV, Set Top Box, ... |
js_web_sockets | boolean The browser's JavaScript engine supports the Web Sockets API Ex: true |
js_device_motion | boolean The browser's JavaScript engine supports Device Motion event Ex: true |
css_animations | boolean This property indicates that the browser supports CSS animations Ex: true |
js_application_cache | boolean The browser's JavaScript engine supports Application Cache Ex: true |
jqm | boolean This property indicates that the device supports jQueryMobile Ex: true |
is_downloader | boolean This property indicates that the device is a download agents/client Ex: true |
os_windows_rt | boolean This property indicates that the device has windows rt os Ex: true |
is_e_reader | boolean This property indicates that the device is a reading device Ex: true |
os_windows_mobile | boolean This property indicates that the device has windows mobile os Ex: true |
js_xhr | boolean The browser's JavaScript engine supports XMLHttpRequest Ex: true |
uri_scheme_sms | boolean The ability of the web browser to start a new SMS message when a URI is defined with the protocol sms followed by a telephone number (e.g. sms:+35312345678). Verify that the browser behaves as expected Ex: true |
js_device_orientation | boolean The browser's JavaScript engine supports Device Orientation Ex: true |
https | boolean The web browser supports the SSL protocol. Support of different certificate authorities is independent from the ability of supporting SSL. Verify that a page protected with SSL is displayed properly Ex: true |
js_web_workers | boolean The browser's JavaScript engine supports the Web Workers API Ex: true |
js_query_selector | boolean The browser's JavaScript engine supports the Query Selector Ex: true |
is_t_v | boolean This property indicates that the device is a television Ex: true |
is_media_player | boolean This property indicates that the device is a media player Ex: true |
umts | boolean The device is capable of connecting to UMTS (Universal Mobile Telecommunications System) networks. The device is capable of connecting to UMTS (Universal Mobile Telecommunications System) networks Ex: true |
display_color_depth | integer This property indicates that the color depth of a display Ex: 24 |
js_json | boolean The browser's JavaScript engine supports JSON objects Ex: true |
css_transitions | boolean This property indicates that the browser supports CSS transitions Ex: true |
supports_client_side | boolean Indicates whether the device supports the DeviceAtlas ClientSide component Ex: true |
touch_screen | boolean User may touch the screen to interact with the device Ex: true |
js_support_event_listener | boolean The browser's JavaScript engine supports Event listeners Ex: true |
html_audio | boolean This property indicates that the browser supports the audio HTML tag Ex: true |
mobile_device | boolean This property indicates that the device is a mobile device Ex: 4096 |
image_jpg | boolean The ability to display a JPG image embedded in a mobile web page, using a tag such as img or object Ex: true |
display_ppi | integer The pixel density of the Device's screen. Pixels Per Inch Ex: 165 |
is_spam | boolean Identifies known email address or spam harvesters Ex: true |
hspa_evolved | boolean The device is capable of connecting to HSPA+ (Evolved High-Speed Packet Access) networks Ex: true |
js_local_storage | boolean The browser's JavaScript engine supports Local Storage Ex: true |
manufacturer | string Primary organisation creating (not necessarily assembling) the device Ex: Samsung |
markup_xhtml_mp10 | boolean The ability of the web browser to render a page using XHTML-MP 1.0 Ex: true |
os_version | string The Operating System initial version installed on the device. This property is dynamically populated at run time Ex: Snow Leopard |
os_windows_phone | boolean This property indicates that the device has windows phone os Ex: |
os_symbian | boolean This property indicates that the device is distributed with Symbian OS pre-installed Ex: |
uri_scheme_tel | boolean The ability of the web browser to start a telephone call when a URI is defined with the protocol 'tel' followed by a telephone number (e.g. tel:+35312345678). Verify that the browser behaves as expected Ex: true |
image_gif87 | boolean The ability to display a GIF87 image embedded in a mobile web page, using a tag such as img or object Ex: true |
js_support_events | boolean The browser's JavaScript engine supports Events Ex: true |
os_android | boolean The device is distributed with Android OS pre-installed Ex: true |
image_png | boolean The ability to display a PNG image embedded in a mobile web page, using a tag such as img or object Ex: true |
is_app | boolean This property identifies a non-browser apps and webviews Ex: true |
html_video | boolean This property indicates that the browser supports the video HTML tag Ex: true |
js_geo_location | boolean The browser's JavaScript engine supports Geo Location Ex: true |
flash_capable | boolean This property indicates that the browser is Flash-Capable Ex: true |
html_svg | boolean This property indicates that the browser supports SVG Ex: true |
js_touch_events | boolean The browser's JavaScript engine supports Touch events Ex: true |
is_filter | boolean This property identifies proxy/content filters Ex: true |
markup_xhtml_basic10 | boolean The ability of the web browser to render a page using XHTML Basic 1.0 Ex: true |
html_inlinesvg | boolean This property indicates that the browser supports inline SVG Ex: true |
hsdpa | boolean The device is capable of connecting to HSDPA (High-Speed Downlink Packet Access) networks Ex: true |
memory_limit_markup | integer Describes the maximum size in bytes for markup in a web page. Media is treated separately. Some browsers might have a variable memory limit based on the memory used by other applications, in that case 0 will be used Ex: |
memory_limit_download | integer Describes the maximum size in bytes for downloaded from a web page and stored locally (e.g. a ringtone or an image). Media is treated separately. Some browsers might have a variable memory limit based on the memory used by other applications, in that case 0 will be used Ex: true |
js_web_gl | boolean The browser's JavaScript engine supports Web GL Ex: true |
edge | boolean The device is capable of connecting to EDGE (Enhanced Data rates for GSM Evolution) networks Ex: true |
is_tablet | boolean This property indicates that the device is a tablet device Ex: true |
is_checker | boolean This property indicates that identifies link/site checkers Ex: true |
osi_os | boolean This property indicates that the device has osi os Ex: true |
v_card_download | boolean The ability of the web browser to download and open the device's address book when a vCard URI is used Ex: true |
js_indexed_d_b | boolean The browser's JavaScript engine supports indexedDB Ex: true |
nfc | boolean The device has NFC (Near Field Communication) hardware Ex: true |
browser_rendering_engine | string The name or type of the browser rendering engine used by the browser. Please see the complete list of predefined property values. This property is dynamically populated at run time Ex: EdgeHTML |
markup_xhtml_mp12 | boolean The ability of the web browser to render a page using XHTML-MP 1.2 Ex: true |
is_mobile_phone | boolean This property indicates that the device is a mobile phone Ex: true |
markup_xhtml_mp11 | boolean The ability of the web browser to render a page using XHTML-MP 1.1 Ex: true |
js_modify_css | boolean The browser's JavaScript engine supports modifying CSS elements Ex: true |
js_web_sql_database | boolean The browser's JavaScript engine supports the Web SQL Database API Ex: true |
is_games_console | boolean This device property indicate that the device is a games console Ex: true |
os_rim | boolean The device is distributed with RIM OS pre-installed Ex: true |
css_transforms | boolean This device property indicate the browser supports CSS transforms Ex: true |
diagonal_screen_size | string This device property indicate the diagonal dimension of the screen in inches Ex: 3.5 |
html_canvas | boolean This device property indicate the color depth of a display Ex: 24 |
is_feed_reader | boolean This device property Identifies feed reader clients Ex: true |
js_session_storage | boolean The browser's JavaScript engine supports Session Storage Ex: true |
js_support_console_log | boolean The browser's JavaScript engine supports console.log Ex: true |
gprs | boolean The device is capable of connecting to GPRS (General Packet Radio Service) networks Ex: true |
lte_advanced | boolean The device is capable of connecting to LTE Advanced (Long Term Evolution Advanced) networks Ex: true |
lte | boolean The device is capable of connecting to LTE (Long Term Evolution) networks Ex: true |
os_bada | boolean This device property indicate that the device is distributed with Bada OS pre-installed Ex: true |
os_web_os | boolean This device property indicate that the device has webOS os Ex: true |
memory_limit_embedded_media | integer Describes the maximum size in bytes for media files embedded in a web page. Media is treated separately. Some browsers might have a variable memory limit based on the memory used by other applications, in that case 0 will be used Ex: 4096 |
is_set_top_box | boolean This property indicates that the device is a set-top box Ex: true |
cookie_support | boolean This property indicates that the ability of a client to store cookies and send them when appropriate Ex: false |
is_browser | boolean This property indicates that identifies desktop browsers Ex: true |
js_modify_dom | boolean The browser's JavaScript engine supports modifying CSS elements Ex: true |
js_support_basic_java_script | boolean The browser has some level of JavaScript support, typically Alert, Confirm, setInterval, setTimeout Ex: false |
score | integer A number ranging from 0 to 1000 represents the quality of the device information detected Ex: 649 |
score_cluster | string A cluster summarizing the quality of the IP address Ex: very_high Enum: very_low,low,review,high,very_high |
reason_codes | string Comma separated risk and trust signal for the product device. For more information about reason codes you can go to Reason Codes Ex: TP001,RP001 |
identity_email_count | integer The number of email addresses associated with this device Ex: 2 |
identity_ip_count | integer The number of ip addresses associated with this device Ex: 2 |
identity_msisdn_count | integer The number of phones associated with this device Ex: 2 |
identity_name_count | integer The number of names associated with this phone number Ex: 2 |