Advanced device verification, enrichment, and score

Fido'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 Fido Device

What is Fido Device?

Fido Device is a product capable of searching for information on the user's hardware device, starting with the user agent of the browser.

Request

following an example of a Fido Device

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": "c426ad68-8987-11ec-a8a3-0242ac120002",
     "claims": [
          "device"
     ],
     "user_agent": "K10000 Pro Build/NRD90M",
}'

Response

Following an example of the response:

{
   "resolution_id":"...",
   "customer_id":"...",
   "device_request_time":"...",
   "claims":[
      "device"
   ],
   "device":{
      "value":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0",
      "age":2017,
      "browser_name":"Chrome Mobile",
      "browser_version":"80.0.3987.149",
      "camera":16,
      "is_recent":true,
      "is_robot":false,
      "category":"Mobile Phone",
      "brand":"Oukitel",
      "model":"K10000 Pro",
      "operating_system":"Android",
      "price_cluster":"low",
      "screen_size_height":1920,
      "screen_size_width":1080,
      "score": 649,
      "score_cluster": "good"
   }
}

RESPONSE

The following fields can be found under the "device" object

name

type

value

string

The User-Agent (UA) provided during the API call

ex: Chrome/86.0.4240.198 Safari/537.36

age

number

Year of the commercial release of the device

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, false

model

string

The commercial name of the device of the user

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_low
  • low
  • medium
  • high
  • very_high

screen_size_height

number

Indicates the height of the device screen, in pixels

ex: 828

screen_size_width

number

Indicates the width of the device screen, in pixels

ex: 1792

category

string

Indicates the Primary hardware type of the user

ex: mobile phone

score

number

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 device information detected

ex:

  • poor
  • bad
  • moderate
  • good
  • high

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

cookie_support

boolean

The ability of a client to store cookies and send them when appropriate

ex: true, false

css_animations

boolean

The browser supports CSS animations

ex: true, false

css_transforms

boolean

The browser supports CSS transforms

ex: true, false

css_transitions

The browser supports CSS transitions

diagonal_screen_size

number

The diagonal dimension of the screen in inches

ex: 3.5

display_color_depth

number

The color depth of a display

ex: 24

display_ppi

number

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

ex: 165

edge

boolean

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

ex: true, false

flash_capable

boolean

The browser is Flash-Capable

ex: true, false

gprs

boolean

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

ex: true, false

hsdpa

boolean

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

ex: true, false

hspa_evolved

boolean

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

ex: true, false

html_audio

boolean

The browser supports the audio HTML tag

ex: true, false

html_canvas

boolean

The browser supports the canvas element

ex: true, false

html_inlinesvg

boolean

The browser supports inline SVG

ex: true, false

html_svg

boolean

The browser supports SVG

ex: true, false

html_video

boolean

The browser supports the video HTML tag

ex: true, false

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, false

id

number

Unique device identifier (if the device has been successfully detected)

ex: 73482

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, false

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, false

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, false

is_app

boolean

Identifies non-browser apps and webviews

ex: true, false

is_browser

boolean

Identifies desktop browsers

ex: true, false

is_checker

boolean

Identifies link/site checkers

ex: true, false

is_downloader

boolean

Identifies download agents/clients

ex: true, false

is_e_reader

boolean

The device is a reading device

ex: true, false

is_feed_reader

boolean

Identifies feed reader clients

ex: true, false

is_filter

boolean

Identifies proxy/content filters

ex: true, false

is_games_console

boolean

The device is a games console

ex: true, false

is_media_player

boolean

The device is a media player

ex: true, false

is_mobile_phone

boolean

The device is a mobile phone

ex: true, false

is_set_top_box

boolean

The device is a set-top box

ex: true, false

is_spam

boolean

Identifies known email address or spam harvesters

ex: true, false

is_t_v

boolean

The device is a television

ex: true, false

is_tablet

boolean

The device is a tablet device

ex: true, false

jqm

boolean

The device supports jQueryMobile

ex: true, false

js_application_cache

boolean

The browser's JavaScript engine supports Application Cache

ex: true, false

js_device_motion

boolean

The browser's JavaScript engine supports Device Motion event

ex: true, false

js_device_orientation

boolean

The browser's JavaScript engine supports Device Orientation

ex: true, false

js_geo_location

boolean

The browser's JavaScript engine supports Geo Location

ex: true, false

js_indexed_d_b

boolean

The browser's JavaScript engine supports indexedDB

ex: true, false

js_json

boolean

The browser's JavaScript engine supports JSON objects

ex: true, false

js_local_storage

boolean

The browser's JavaScript engine supports Local Storage

ex: true, false

js_modify_css

boolean

The browser's JavaScript engine supports modifying CSS elements

ex: true, false

js_modify_dom

boolean

The browser's JavaScript engine supports modifying DOM elements

ex: true, false

js_query_selector

boolean

The browser's JavaScript engine supports the Query Selector

ex: true, false

js_session_storage

boolean

The browser's JavaScript engine supports Session Storage

ex: true, false

js_support_basic_java_script

boolean

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

ex: true, false

js_support_console_log

boolean

The browser's JavaScript engine supports console.log()

ex: true, false

js_support_event_listener

boolean

The browser's JavaScript engine supports Event Listeners

ex: true, false

js_support_events

boolean

The browser's JavaScript engine supports Events

ex: true, false

js_touch_events

boolean

The browser's JavaScript engine supports Touch events

ex: true, false

js_web_gl

boolean

The browser's JavaScript engine supports Web GL

ex: true, false

js_web_sockets

boolean

The browser's JavaScript engine supports the Web Sockets API

ex: true, false

js_web_sql_database

boolean

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

ex: true, false

js_web_workers

boolean

The browser's JavaScript engine supports the Web Workers API

ex: true, false

js_xhr

boolean

The browser's JavaScript engine supports XMLHttpRequest

ex: true, false

lte

boolean

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

ex: true, false

lte_advanced

boolean

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

ex: true, false

manufacturer

string

Primary organisation creating (not necessarily assembling) the device

ex: Samsung

markup_xhtml_basic10

boolean

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

ex: true, false

markup_xhtml_mp10

boolean

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

ex: true, false

markup_xhtml_mp11

boolean

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

ex: true, false

markup_xhtml_mp12

boolean

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

ex: true, false

memory_limit_download

boolean

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, false

memory_limit_embedded_media

number

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

memory_limit_markup

number

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: 4096

mobile_device

number

The device is a mobile device

ex: 4096

nfc

boolean

The device has NFC (Near Field Communication) hardware

ex: true, false

os_android

boolean

The device is distributed with Android OS pre-installed

ex: true, false

os_bada

boolean

The device is distributed with Bada OS pre-installed

ex: true, false

os_rim

boolean

The device is distributed with RIM OS pre-installed

ex: true, false

os_symbian

boolean

The device is distributed with Symbian OS pre-installed

ex: true, false

os_version

string

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

ex: Snow Leopard

os_web_os

boolean

The device has webOS os

ex: true, false

os_windows_mobile

boolean

The device has windows mobile os

ex: true, false

os_windows_phone

boolean

The device has windows phone os

ex: true, false

os_windows_rt

boolean

The device has windows rt os

ex: true, false

osi_os

boolean

The device has osi os

ex: true, false

supports_client_side

boolean

Indicates whether the device supports the DeviceAtlas ClientSide component

ex: true, false

touch_screen

boolean

User may touch the screen to interact with the device

ex: true, false

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, false

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, false

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, false

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, false

Language
Authentication
Header
Click Try It! to start a request and see the response here!