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

nametype
valuestring

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
ageinteger

Year of the commercial release of the device analyzed

Ex: 2018
brandstring

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_namestring

The name or type of the browser on the device. This property is dynamically populated at run time

Ex: Chrome
browser_versionstring

The browser version on the device. This property is dynamically populated at run time

Ex: 86
is_robotboolean

The device of the user is detected to be a bot or a spider

Ex: true
modelstring

The full commercial name of the device enriched

Ex: iPhone 8
operating_systemstring

The operating system is installed on the device used by the customer

Ex: iOS
price_clusterstring

Indicates the retail price of the device used by the customer

Ex: very_high

Enum: very_low,low,medium,high,very_high
price_usdstring

Indicates the retail price in usd of the device used by the customer

Ex: 200
screen_size_heightinteger

Indicates the height of the device screen, in pixels

Ex: 828
screen_size_widthinteger

Indicates the width of the device screen, in pixels

Ex: 1792
categorystring

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_socketsboolean

The browser's JavaScript engine supports the Web Sockets API

Ex: true
js_device_motionboolean

The browser's JavaScript engine supports Device Motion event

Ex: true
css_animationsboolean

This property indicates that the browser supports CSS animations

Ex: true
js_application_cacheboolean

The browser's JavaScript engine supports Application Cache

Ex: true
jqmboolean

This property indicates that the device supports jQueryMobile

Ex: true
is_downloaderboolean

This property indicates that the device is a download agents/client

Ex: true
os_windows_rtboolean

This property indicates that the device has windows rt os

Ex: true
is_e_readerboolean

This property indicates that the device is a reading device

Ex: true
os_windows_mobileboolean

This property indicates that the device has windows mobile os

Ex: true
js_xhrboolean

The browser's JavaScript engine supports XMLHttpRequest

Ex: true
uri_scheme_smsboolean

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_orientationboolean

The browser's JavaScript engine supports Device Orientation

Ex: true
httpsboolean

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_workersboolean

The browser's JavaScript engine supports the Web Workers API

Ex: true
js_query_selectorboolean

The browser's JavaScript engine supports the Query Selector

Ex: true
is_t_vboolean

This property indicates that the device is a television

Ex: true
is_media_playerboolean

This property indicates that the device is a media player

Ex: true
umtsboolean

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_depthinteger

This property indicates that the color depth of a display

Ex: 24
js_jsonboolean

The browser's JavaScript engine supports JSON objects

Ex: true
css_transitionsboolean

This property indicates that the browser supports CSS transitions

Ex: true
supports_client_sideboolean

Indicates whether the device supports the DeviceAtlas ClientSide component

Ex: true
touch_screenboolean

User may touch the screen to interact with the device

Ex: true
js_support_event_listenerboolean

The browser's JavaScript engine supports Event listeners

Ex: true
html_audioboolean

This property indicates that the browser supports the audio HTML tag

Ex: true
mobile_deviceboolean

This property indicates that the device is a mobile device

Ex: 4096
image_jpgboolean

The ability to display a JPG image embedded in a mobile web page, using a tag such as img or object

Ex: true
display_ppiinteger

The pixel density of the Device's screen. Pixels Per Inch

Ex: 165
is_spamboolean

Identifies known email address or spam harvesters

Ex: true
hspa_evolvedboolean

The device is capable of connecting to HSPA+ (Evolved High-Speed Packet Access) networks

Ex: true
js_local_storageboolean

The browser's JavaScript engine supports Local Storage

Ex: true
manufacturerstring

Primary organisation creating (not necessarily assembling) the device

Ex: Samsung
markup_xhtml_mp10boolean

The ability of the web browser to render a page using XHTML-MP 1.0

Ex: true
os_versionstring

The Operating System initial version installed on the device. This property is dynamically populated at run time

Ex: Snow Leopard
os_windows_phoneboolean

This property indicates that the device has windows phone os

Ex:
os_symbianboolean

This property indicates that the device is distributed with Symbian OS pre-installed

Ex:
uri_scheme_telboolean

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_gif87boolean

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_eventsboolean

The browser's JavaScript engine supports Events

Ex: true
os_androidboolean

The device is distributed with Android OS pre-installed

Ex: true
image_pngboolean

The ability to display a PNG image embedded in a mobile web page, using a tag such as img or object

Ex: true
is_appboolean

This property identifies a non-browser apps and webviews

Ex: true
html_videoboolean

This property indicates that the browser supports the video HTML tag

Ex: true
js_geo_locationboolean

The browser's JavaScript engine supports Geo Location

Ex: true
flash_capableboolean

This property indicates that the browser is Flash-Capable

Ex: true
html_svgboolean

This property indicates that the browser supports SVG

Ex: true
js_touch_eventsboolean

The browser's JavaScript engine supports Touch events

Ex: true
is_filterboolean

This property identifies proxy/content filters

Ex: true
markup_xhtml_basic10boolean

The ability of the web browser to render a page using XHTML Basic 1.0

Ex: true
html_inlinesvgboolean

This property indicates that the browser supports inline SVG

Ex: true
hsdpaboolean

The device is capable of connecting to HSDPA (High-Speed Downlink Packet Access) networks

Ex: true
memory_limit_markupinteger

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_downloadinteger

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_glboolean

The browser's JavaScript engine supports Web GL

Ex: true
edgeboolean

The device is capable of connecting to EDGE (Enhanced Data rates for GSM Evolution) networks

Ex: true
is_tabletboolean

This property indicates that the device is a tablet device

Ex: true
is_checkerboolean

This property indicates that identifies link/site checkers

Ex: true
osi_osboolean

This property indicates that the device has osi os

Ex: true
v_card_downloadboolean

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_bboolean

The browser's JavaScript engine supports indexedDB

Ex: true
nfcboolean

The device has NFC (Near Field Communication) hardware

Ex: true
browser_rendering_enginestring

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_mp12boolean

The ability of the web browser to render a page using XHTML-MP 1.2

Ex: true
is_mobile_phoneboolean

This property indicates that the device is a mobile phone

Ex: true
markup_xhtml_mp11boolean

The ability of the web browser to render a page using XHTML-MP 1.1

Ex: true
js_modify_cssboolean

The browser's JavaScript engine supports modifying CSS elements

Ex: true
js_web_sql_databaseboolean

The browser's JavaScript engine supports the Web SQL Database API

Ex: true
is_games_consoleboolean

This device property indicate that the device is a games console

Ex: true
os_rimboolean

The device is distributed with RIM OS pre-installed

Ex: true
css_transformsboolean

This device property indicate the browser supports CSS transforms

Ex: true
diagonal_screen_sizestring

This device property indicate the diagonal dimension of the screen in inches

Ex: 3.5
html_canvasboolean

This device property indicate the color depth of a display

Ex: 24
is_feed_readerboolean

This device property Identifies feed reader clients

Ex: true
js_session_storageboolean

The browser's JavaScript engine supports Session Storage

Ex: true
js_support_console_logboolean

The browser's JavaScript engine supports console.log

Ex: true
gprsboolean

The device is capable of connecting to GPRS (General Packet Radio Service) networks

Ex: true
lte_advancedboolean

The device is capable of connecting to LTE Advanced (Long Term Evolution Advanced) networks

Ex: true
lteboolean

The device is capable of connecting to LTE (Long Term Evolution) networks

Ex: true
os_badaboolean

This device property indicate that the device is distributed with Bada OS pre-installed

Ex: true
os_web_osboolean

This device property indicate that the device has webOS os

Ex: true
memory_limit_embedded_mediainteger

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_boxboolean

This property indicates that the device is a set-top box

Ex: true
cookie_supportboolean

This property indicates that the ability of a client to store cookies and send them when appropriate

Ex: false
is_browserboolean

This property indicates that identifies desktop browsers

Ex: true
js_modify_domboolean

The browser's JavaScript engine supports modifying CSS elements

Ex: true
js_support_basic_java_scriptboolean

The browser has some level of JavaScript support, typically Alert, Confirm, setInterval, setTimeout

Ex: false
scoreinteger

A number ranging from 0 to 1000 represents the quality of the device information detected

Ex: 649
score_clusterstring

A cluster summarizing the quality of the IP address

Ex: very_high

Enum: very_low,low,review,high,very_high
reason_codesstring

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_countinteger

The number of email addresses associated with this device

Ex: 2
identity_ip_countinteger

The number of ip addresses associated with this device

Ex: 2
identity_msisdn_countinteger

The number of phones associated with this device

Ex: 2
identity_name_countinteger

The number of names associated with this phone number

Ex: 2
Language
URL
Click Try It! to start a request and see the response here!