API interface description
Interface method
Base URL
- China: https://cn.apitd.net/device/v2
- America: https://us.apitd.net/device/v2
- Singapore: https://sg.apitd.net/device/v2
- Germany: https://de.apitd.net/device/v2
- Indonesia: https://id.apitd.net/device/v2
- Pakistan: https://pk.apitd.net/device/v2
- Thailand: https://th2.apitd.net/device/v2
API
| URL | Request method | Content-Type | Output format | Character set |
|---|---|---|---|---|
| api-base-url?partner_code=xxx&partner_key=xxx | POST | application/json | JSON | UTF-8 |
Authentication
| Field | Type | Meaning | Required fields | Remarks |
|---|---|---|---|---|
| partner_code | String | Partner identify | Yes | Provided by TD |
| partner_key | String | Partner secret key | Yes | Provided by TD |
Request
| Field | Type | Meaning | Required fields | Remarks |
|---|---|---|---|---|
| black_box | String | Vouchers for access to device information | Yes | Obtain from SDK |
| behavior | String | The Behavior data payload returned by the collect method of the Terminal TDBehavior SDK. | Not necessary | Obtain through SDK |
Example Request
{
"black_box": "aGPH1658920283672ropYaFxT7",
"behavior": "O-vbT-U9ZE2EhrqwgdnwicS0ckarzkkXH4mutX_WrYYujof29benGjFu29hzCxziQjnYGYHmia7QcKNwOfn8Pk57JhMJj4ehl58fFZvyM2VIdm9uVRRYj_A7fiWSbdZPwyVDFlcm1APji3lnb_DTApq9I5c6n3HqRsGLkx_rG_0IXjBRUR3izPjLr-kz7jDqGyoXmrvRfvPIS0TwdjWYa677OHoUr_-2RtAX5ljkknSfMxZQ36rzYN_1RH1ZDyu7akDSg2Pg9AxjYWOaMsxVu6vXWCPwGlbgHyu8h06PO87uoQ3-iYAYr15zcZY-mSsbPi-X8cxH4FlN2b0BoqfoFjWCnCFOR5nRmsEKyNfGsQH-ph9YPUsJVZPNdZZwow_5tWqENMO82yMIc-G2PxZTQXkwQA_9xGtuvsmy6loxYNB_a2qJa3HMHGkoxb7vb1flIaYgCTG2zPRnUWCF7ujBMT6TJq-V0DOtSzmNEBbHfQ7vC4lWGs51shpynfgnJ6bW8FGlrq5veqpFgnGKkJNdONz-8x-TvOs6n17KHDXLVUuXppNdfkeWUY3eRTtrjd_MxYcKN_eFCKn0HezOYURQ9WyP8szoDA-zE3OKj_cUWAwvIKANuV8CHWvWhB6T7PO9y1HlIYJynNqGjwI4jdjIQ6A6HeFqK2wXXNrCbxyCHfz3EeaBDVeWxFcbBnDggd7W"
}
Response
| Field | Type | Meaning | Output situation | Remarks |
|---|---|---|---|---|
| code | Integer | interface response status codes | All | Refer to the status code description |
| message | String | status Info | All | Specific reasons for an exception |
| sequence_id | String | unique Identifier ID | All | A unique identifier for each request-response |
| device_id | String | device unique ID | All | Unique identification of the device |
| device_os | String | device type | All | Android、Harmony、iOS、Web |
| channel | String | channel | All | channel |
| device_detail | Object | device details | All | Please refer to the description of the device details |
| ip_location | Object | location information corresponding to the IP of the device | All | Please refer to the IP location information description |
| device_risk_score | Integer | device risk score | All | Range 0 - 10000,supports customization. For documentation, refer to risk score |
| device_risk_label | Array | device risk label list | All | Please refer to the description of the device risk label |
| device_risk_tools | Object | device risk tools | All | Please refer to the description of the device risk tools |
| device_history_risk_label | Array | device history risk label list | All | Please refer to the description of the device history risk labels |
| vpn_true_ip_location | Object | location information corresponding to the VPN real IP of the device | All | Please refer to the VPN True IP location information description |
| behavior_detail | Object | Behavior Collection Data Details | Output When the behavior parameter is passed | Reference below Behavior collection information |
Device Details
There are differences in the device fields corresponding to different device types and the following lists the field descriptions for the different device types
Android
| Field | Type | Meaning | Remarks |
|---|---|---|---|
| app_version | String | app versions | E.g. "4.1.6" |
| system_version | String | android system versions | E.g. "6.0.1" |
| api_version | String | android API versions | E.g. "23" |
| fp_version | String | SDK versions | E.g. "4.1.6" |
| model | String | device model | E.g. "2014811" |
| brand | String | device Brand | E.g. "Xiaomi" |
| device_name | String | device name | E.g. "HM2014811" |
| network_type | String | network type | E.g. "2g"、"3g"、"4g"、"5g"、"wifi"、"mobile"、"bluetooth_tethering"、"unknown" |
| ip | String | IP address | E.g. "123.157.153.130" |
| time_zone | String | time zone | E.g. "UTC+08:00" |
| startup_time | Long | boot time | E.g. 1741660150575 |
| up_time | Long | uptime | E.g. "568273951" |
| charge_state | String | charging status | E.g. "charging"、"full"、"not_charging"、"discharging"、"unknown" |
| battery_level | Integer | electrical quantities | Range 0 - 100 |
| screen_resolution | String | screen resolution | Width x Height,Example:"720x1280" |
| screen_brightness | Integer | screen brightness | Range -1 - 256 |
| total_memory | Long | total memory size | Bytes |
| available_memory | Long | available memory size | Bytes |
| total_storage | Long | total storage size | Bytes |
| available_storage | Long | available storage size | Bytes |
| latitude | Double | latitude | Accuracy to 6 decimal places, Example 30.282331 |
| longitude | Double | longitude | Accuracy to 6 decimal places, Example 120.011395 |
| carrier | String | carrier | E.g. "Viettel" |
| bssid | String | bssid | E.g. "00:1a:8c:a0:69:0a" |
| wifi_ip | String | wifi ip | E.g. "10.57.3.135" |
| device_svn | String | device svn | E.g. "07" |
| hardware | String | hardware | E.g. "qcom" |
| dns_address | String | dns address | E.g. "211.137.32.178" |
| product | String | product | E.g. "A37T" |
| host | String | host | E.g. "qh-miui-ota-offline07" |
| sim_operator | String | sim operator | E.g. "Viettel,VinaPhone" |
| ssid | String | ssid | E.g. "xiaoming 的 wifi" |
| vpn_ip | String | vpn ip | E.g. "10.251.37.229" |
| cell_ip | String | cell ip | E.g. "10.3.4.9" |
| current_time | Long | current time | E.g. "1687764437374" |
| package_name | String | package name | E.g. "cn.tongdun. android&3.0.0" |
| language | String | language | E.g. "zh" |
| android_id | String | android id | E.g. "952b0b1edda80b44" |
| cpu_hardware | String | cpu hardware | E.g. "ARMv7 Processor rev 0 (v7l)" |
| cpu_type | String | cpu type | E.g. "Qualcomm Technologies" |
| baseband_version | String | baseband version | E.g. "MPSS.DPM.1.0.c7. 18-00023" |
| mnc | String | mobile network code | E.g. "01" |
| mcc | String | mobile country code | E.g. "460" |
| installed_packages | String | installed packages | E.g. "[{\"package\":\"com.miui.screenrecorder\",\"name\":\"-\"},{\"package\":\"com.miui.fm\",\"name\":\"-\"}]" |
| running_packages | String | running packages | E.g. "com.xiaomi.shop" |
| ipv6 | String | ipv6 | E.g. "fe80::bfd7:21d8:318a:693b" |
| sign_md5 | String | sign md5 | E.g. "6fb472cac420436b773a6325d4cdd7bd" |
| proxy_info | String | proxy info | E.g. "42.235.30.24:8080" |
| country_iso | String | iso country code | E.g. "cn,cn" |
| aid | String | google advertising id | E.g. "db13e159-1058-46fc-a4dc-4d2f8197f3af" |
| vpn_true_ip | String | vpn true ip address | E.g. "123.157.153.130" |
| audio_mode | Integer | audio mode | E.g. 0 - Normal mode,1 - Ringtone mode,2 - Call mode,3 - Communication mode,4 - Call screening is in progress |
| first_seen_at | Long | first seen at | E.g. 1734342323000 |
| app_install_time | Long | app install time | E.g. 1743587909428 |
iOS
| Field | Type | Meaning | Remarks |
|---|---|---|---|
| app_version | String | app versions | E.g. "1.0.3" |
| system_version | String | ios system versions | E.g. "10.2.1" |
| fp_version | String | SDK versions | E.g. "4.1.2" |
| model | String | device model | E.g. "iPhone 6s" |
| device_name | String | device name | E.g. "iPhone" |
| network_type | String | network type | E.g. "2g"、"3g"、"4g"、"5g"、"wifi"、"mobile"、"bluetooth_tethering"、"unknown" |
| ip | String | IP address | E.g. "123.157.153.130" |
| time_zone | String | time zone | E.g. "UTC+08:00" |
| startup_time | Long | boot time | E.g.1741660150575 |
| up_time | Long | uptime | E.g. 568273951 |
| charge_state | String | charging status | E.g. "charging"、"unplugged"、"unknown" |
| battery_level | Integer | electrical quantities | Range 0 - 100 |
| screen_resolution | String | screen resolution | Width x Height,Example:"720x1280" |
| screen_brightness | Integer | screen brightness | Range 0 - 100 |
| total_memory | Long | total memory size | Bytes |
| total_storage | Long | total storage size | Bytes |
| available_storage | Long | available storage size | Bytes |
| latitude | Double | latitude | Accuracy to 6 decimal places, Example 30.282331 |
| longitude | Double | longitude | Accuracy to 6 decimal places, Example 120.011395 |
| current_time | String | current time | E.g. "1687764437374" |
| cell_ip | String | cell ip | E.g. "10.5.2.39" |
| wifi_ip | String | wifi ip | E.g. "192.168.10.111" |
| language | String | language | E.g. "en" |
| carrier | String | carrier | E.g. "Viettel,VinaPhone" |
| mnc | String | mobile network code | E.g. "0" |
| mcc | String | mobile country code | E.g. "460" |
| country_iso | String | iso country code | E.g. "cn" |
| bundle_id | String | bundle id | E.g. "cn.fraudmetrix. FMDeviceManager" |
| proxy_info | String | proxy info | E.g. "10.2.3.4:8080" |
| ssid | String | ssid | E.g. "TP-LINK_03FE" |
| bssid | String | bssid | E.g. "80:2f:3e:dd:03:fe" |
| dns_address | String | dns address | E.g. "192.168.10.1" |
| vpn_ip | String | vpn ip | E.g. "10.32.3.98" |
| ipv6 | String | ipv6 | E.g. "fe08:393ed3" |
| idfa | String | identifier for dvertisers | E.g. "5D26C201-7FEF-44A6-B57A-1D10E2E2EC63" |
| idfv | String | Identifier for Vendor | E.g. "C767FCBE-6135-4F23-82EB-BBF35E493CDF" |
| issue_region | String | issue region | E.g. "CH/A" |
| vpn_true_ip | String | vpn true ip address | E.g. "123.157.153.13 |
| microphone_use_state | Integer | microphone use state | E.g.-1: No available microphone,0: Not in a call state,1: In a call state |
| first_seen_at | Long | first seen at | E.g. 1734342323000 |
| app_install_time | Long | app install time | E.g. 1743587909428 |
Harmony
| Field | Type | Meaning | Remarks |
|---|---|---|---|
| fp_version | String | device type | E.g. "1.0.2" |
| screen_resolution | String | screen resolution | E.g. "1344x2772" |
| current_time | Long | current time | E.g. 1711594081876 |
| startup_time | Long | boot time | E.g. 1741660150575 |
| up_time | Long | up time | E.g. 3503141 |
| time_zone | String | time zone | E.g. UTC+08:00 |
| language | String | language | E.g. "zh-Hans" |
| charge_state | String | charging status | E.g. "unknown"、"charging"、"unplugged、"unplugged"、"full" |
| battery_level | Integer | battery level | E.g. 20 |
| network_type | string | network type | E.g. "wifi" |
| total_storage | Long | total storage size | E.g. 243041042432 |
| available_storage | Long | available storage size | E.g. 231078236160 |
| cell_ip | String | cell ip | E.g. "10.24.207.224" |
| wifi_ip | String | wifi ip | E.g. "192.168.101.38" |
| vpn_ip | String | vpn ip | E.g. "198.18.0.1" |
| proxy_info | string | proxy info | E.g. "10.57.241.80:8888" |
| device_type | String | device type | E.g. "phone" |
| brand | String | device brand | E.g. "HUAWEI" |
| market_name | String | market name | E.g. "HUAWEI Mate 40 Pro" |
| model | String | model | E.g. "NON-AN00" |
| hardware | String | hardware | E.g. "HN1NOAHM" |
| serial_no | String | serial no | E.g. "05b37354f0dd7f2e" |
| system_version | String | system version | E.g. "2.1.6.6(Beta2)" |
| api_version | String | API versions | E.g. "11" |
| udid | String | udid | E.g. "default" |
| package_name | string | package name | E.g. "com.example.harmonyosdemo" |
| app_version | string | app versions | E.g. "1.0.1" |
| sign_md5 | string | sign md5 | E.g. "8CC29B99116E11A24A7762539327BB566D65773CB64C1521D68E67316DE1923F" |
| country_iso | string | iso country code | E.g. "cn,-" |
| sim_operator | string | sim operator | E.g. "Viettel,VinaPhone" |
| latitude | double | latitude | Accuracy to 6 decimal places, Example 30.282331 |
| longitude | double | longitude | Accuracy to 6 decimal places, Example 120.011395 |
| ip | String | IP address | 223.104.160.62 |
| audio_mode | Integer | audio mode | 0 - Default,1 - Ringing mode,2 - Telephone mode,3 - Voice mode |
| first_seen_at | Long | first seen at | E.g. 1734342323000 |
| app_install_time | Long | app install time | E.g. 1743587909428 |
Web
| Field | Type | Meaning | Remarks |
|---|---|---|---|
| browser_name | String | browser name | E.g. "Chrome" |
| browser_version | String | browser version | E.g. "56.0.2924.87" |
| fp_version | String | SDK versions | E.g."3.8.5" |
| user_agent | String | browser userAgent | E.g. "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" |
| url | String | uniform resource locator | E.g. "file:///Users/td/Documents/td/fp/demo_web.html" |
| device_type | String | device type | E.g. "Mac" |
| os | String | device operating system | E.g. "Mac OS" |
| ip | String | ip addresses | E.g. "123.157.153.130" |
| time_zone | String | time zone | E.g. "UTC+08:00" |
| screen_resolution | String | screen resolution | Width x Height,Example:"720x1280" |
| language | String | language | E.g. "zh-CN" |
| referer | String | referer | E.g."http://10.57.30.164:8088/" |
| canvas | String | canvas | E.g. "c8a8455d02d7cec9e dbe980b6b9e0ff8" |
| current_time | Long | current time | E.g. "1481694227762" |
| vpn_true_ip | String | vpn true ip address | E.g. "123.157.153.13 |
| latitude | Double | latitude | Accuracy to 6 decimal places, Example 30.282331 |
| longitude | Double | longitude | Accuracy to 6 decimal places, Example 120.011395 |
| first_seen_at | Long | first seen at | E.g. 1734342323000 |
IP Location Information
| Field | Type | Meaning | Remarks |
|---|---|---|---|
| continent | String | continent | E.g. "North America" |
| country | String | country | E.g. "The United States" |
| country_id | String | country code | E.g. "US" |
| region | String | province/state/region | E.g. "Virginia" |
| city | String | city | E.g. "Ashburn" |
Device Risk Label
| Field | Type | Applicable platform | Description | Remarks |
|---|---|---|---|---|
| abnormal_time | String | Android, iOS, Web,Mini program | current device time abnormal | Excessive deviation of device times from actual times |
| emulator | String | Android, iOS, Web,Mini program,Harmony | device is a simulator | The device is an emulator installed on the computer |
| incognito_mode | String | Web | incognito mode | |
| headless_mode | String | Web,Mini | virtual browser | |
| abnormal_useragent | String | Web,Mini program | useragent abnormal | |
| debugger_detected | String | Android, iOS, Web,Mini(wechat) | debugger is detected | Debugger is detected |
| hook_tool_detected | String | Android, iOS,Web | hook tool detected | |
| device_info_tampered | String | Android, iOS,Web,Mini program | tampering with device parameters | Device information tampering detected |
| group_control | String | Android, iOS | group control | Using cloud handsets, group control devices |
| no_sim | String | Android, iOS、Harmony | without sim card inserted | Device without a sim card inserted |
| abnormal_device_attr | String | iOS, Web,Mini program | device parameter abnormal | Hash check exceptions, some fields hit special values |
| script_tempered | String | Web | script tampering | |
| virtual_machine | String | Web | device as a virtual machine | The current device is detected as a virtual machine |
| local_debug | String | Web | local debugging | Local debugging detected |
| adb_link | String | Android | android debug bridge | Mobile device connected to PC, in ADB debugging state |
| repackaged | String | Android, iOS | secondary packaging | |
| proxy_detected | String | Android, Harmony,iOS,Mini program(wechat、Alipay) | using a proxy | |
| root | String | Android | root | |
| jail_break | String | iOS | jailbreak devices | |
| vpn_detected | String | Android, iOS,Web,Harmony | using vpn | |
| replay_attacks | String | Android,Harmony ,iOS, Web,Mini program | replay attack | The current device information has been repeatedly requested several times |
| cookie_tempered | String | Android, Harmony、iOS, Web,Mini program | cookie tampering | Cookie tampering on client device fingerprint |
| crawler | String | Web,program(wechat) | web crawler | |
| malicious_crx | String | Web | malicious extension plugins | |
| debug_tool | String | Web | debugger tools | |
| app_multiple_running | String | Android,iOS | app multi opening | |
| sys_multiple_running | String | Android | system multi opening | |
| gps_fake | String | Android, iOS,Mini program(wechat) | virtual positioning | |
| risk_rom | String | Android | suspected risk rom | ROMs for non-native factory devices |
| camera_fake | String | Android, iOS | camera fake | |
| suspected_reset | String | Android, iOS | suspected reset | |
| short_uptime | String | Android, iOS,Harmony | short uptime | |
| screen_sharing | String | Android, iOS,Harmony,Mini program(wechat) | screen sharing | |
| cloud_phone | String | Android, iOS,Mini program(wechat) | cloud phone | |
| device_call | String | Android, iOS,Harmony | device call | |
| anti_association_browser | String | Web | anti association browser | |
| offline_attack | String | Web,Android,iOS,Mini program(wechat) | offline attack |
Device Risk Tools
| Field | type | Description | Remarks |
|---|---|---|---|
| installed_risk_tools_type | Array | installation risk tool Type description | Please refer to installation risk tool Type description |
| running_risk_tools_type | Array | description of the type of risk tool running | Please refer to the description of the type of risk tool running |
Installation Risk Tools
| Field | Applicable platform | Description | |
|---|---|---|---|
| quick_macro | Android, iOS | auto click tool | |
| cydia | Android, iOS | Cydia | |
| agent_app | Android, iOS | agent app | |
| more_open | Android | double open tool | |
| machine_change_tools | Android, iOS | hook tools | |
| code_receiving_platform | Android | code receiving platform | |
| magisk | Android | Magisk | |
| group_control_software | Android | group control software | |
| virtual_app | Android | VirtualApp | |
| virtual_positioning | Android, iOS | GPS location fake | |
| xposed | Android | Xposed | |
| game_transmission | Android | game transmission | |
| game_modifier | Android, iOS | game modifier | |
| cloud_simulator | Android | cloud simulator | |
| crowdsourcing_app | Android | crowdsourcing app | |
| skip_ads | Android | skip ads | |
| anti_crash_frame | Android | anti crash frame | |
| capture_tool | Android | capture tool | |
| frida | Android, iOS | frida | |
| troll_store | iOS | TrollStore | |
| cloud_phone | iOS | cloud phone | |
| root_manager | Android | root manager | |
| remote_control | Android | remote control | |
| screen_casting_software | Android | screen casting software | |
| face_spoofing | Android | face spoofing |
Running Risk Tools
| Field | Applicable platform | Description |
|---|---|---|
| quick_macro | Android, iOS | auto click tool |
| machine_change_tools | iOS | hook tools |
| cydia | Android | Cydia |
| magisk | Android | Magisk |
| test_frame | Android | TestFrame |
| virtual_app | Android | VirtualApp |
| xposed | Android | Xposed |
| capture_tool | Android | capture tool |
| frida | Android,iOS | frida |
| troll_store | iOS | TrollStore |
Device History Risk Labels
| Field | type | Description | Remarks |
|---|---|---|---|
| label | String | risk label | Reference device history risk label list "f" |
| last_time | String | last time | 13 digit timestamp |
Device History Risk Label List
| Field | Type | Applicable platform | Description | Remarks |
|---|---|---|---|---|
| abnormal_time | String | Android, iOS, Web,Mini program | current device time abnormal | Excessive deviation of device times from actual times |
| emulator | String | Android, iOS, Web,Mini program,Harmony | device is a simulator | The device is an emulator installed on the computer |
| incognito_mode | String | Web | incognito mode | |
| headless_mode | String | Web,Mini program | virtual browser | |
| abnormal_useragent | String | Web,Mini program | useragent abnormal | |
| debugger_detected | String | Android, iOS, Web,Mini program(wechat) | debugger is detected | Debugger is detected |
| hook_tool_detected | String | Android, iOS | hook tool detected | |
| device_info_tampered | String | Android, Web | tampering with device parameters | Device information tampering detected |
| group_control | String | Android, iOS | group control | Using cloud handsets, group control devices |
| no_sim | String | Android, iOS,Harmony | without sim card inserted | Device without a sim card inserted |
| abnormal_device_attr | String | iOS, Web,Mini program | device parameter abnormal | Hash check exceptions, some fields hit special values |
| script_tempered | String | Web | script tampering | |
| virtual_machine | String | Web | device as a virtual machine | The current device is detected as a virtual machine |
| local_debug | String | Web | local debugging | Local debugging detected |
| adb_link | String | Android | android debug bridge | Mobile device connected to PC, in ADB debugging state |
| repackaged | String | Android, iOS | secondary packaging | |
| proxy_detected | String | Android, Harmony,iOS,Mini program(wechat,Alipay) | using a proxy | |
| root | String | Android | root | |
| jail_break | String | iOS | jailbreak devices | |
| vpn_detected | String | Android, iOS,Web,Harmony | using vpn | |
| replay_attacks | String | Android,Harmony ,iOS, Web,Mini program | replay attack | The current device information has been repeatedly requested several times |
| cookie_tempered | String | Android, Harmony、iOS, Web,Mini program | cookie tampering | Cookie tampering on client device fingerprint |
| crawler | String | Web,program(wechat) | web crawler | |
| malicious_crx | String | Web | malicious extension plugins | |
| debug_tool | String | Web | debugger tools | |
| app_multiple_running | String | Android,iOS | app multi opening | |
| sys_multiple_running | String | Android | system multi opening | |
| gps_fake | String | Android, iOS,Mini program(wechat) | virtual positioning | |
| risk_rom | String | Android | suspected risk rom | ROMs for non-native factory devices |
| camera_fake | String | Android, iOS | camera fake | |
| suspected_reset | String | Android, iOS | suspected reset | |
| short_uptime | String | Android, iOS,Harmony | short uptime | |
| screen_sharing | String | Android, iOS | screen sharing | |
| cloud_phone | String | Android, iOS,Mini program(wechat) | cloud phone | |
| device_call | String | Android, iOS,Harmony | device call | |
| anti_association_browser | String | Web | anti association browser | |
| offline_attack | String | Web,Android,iOS,Mini program(wechat) | offline attack |
VPN True IP Location Information
| Field | Type | Meaning | Remarks |
|---|---|---|---|
| continent | String | continent | E.g. "North America" |
| country | String | country | E.g. "The United States" |
| country_id | String | country code | E.g. "US" |
| region | String | province/state/region | E.g. "Virginia" |
| city | String | city | E.g. "Ashburn" |
Behavior collection information
| Field | Category | Type | Description | Platform |
|---|---|---|---|---|
| scale_rage_actions_count | Anomaly | int | Number of times scale event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 scale events/second, count +1 | iOS、Android、Flutter |
| scroll_rage_actions_count | Anomaly | int | Number of times scroll event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 scroll events/second, count +1 | iOS、Android、Flutter |
| swipe_rage_actions_count | Anomaly | int | Number of times swipe event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 swipe events/second, count +1 | iOS、Android、Flutter |
| text_input_rage_actions_count | Anomaly | int | Number of times text input event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 text input events/second, count +1 | iOS、Android、Flutter |
| touch_rage_actions_count | Anomaly | int | Number of times touch event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 touch events/second, count +1 | iOS、Android、Flutter、Web |
| keyboard_rage_actions_count | Anomaly | int | Number of times keyboard event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 keyboard events/second, count +1 | Web |
| mouse_rage_actions_count | Anomaly | int | Number of times mouse event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 mouse events/second, count +1 | Web |
| click_rage_actions_count | Anomaly | int | Number of times click event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 click events/second, count +1 | Web |
| scale_total_events_count | Finger | int | Total number of scale events | iOS、Android、Flutter |
| scroll_path_length | Finger | string(float) | Total distance of scroll events, unit: pixels, example:"100.0" | iOS、Android、Flutter |
| swipe_path_length | Finger | string(float) | Total distance of swipe events, unit: pixels, example:"100.0" | iOS、Android、Flutter |
| swipe_total_events_count | Finger | int | Total number of swipe events | iOS、Android、Flutter |
| text_input_total_events_count | Finger | int | Total number of text input events | iOS、Android、Flutter |
| touch_total_events_count | Finger | int | Total number of touch events | iOS、Android、Flutter、Web |
| scroll_total_events_count | Finger | int | Total number of scroll events | iOS、Android、Flutter、Web |
| touch_actions_speed | Finger | string(float) | Touch event speed, unit: events/s, example:"100.0" | iOS、Android、Flutter、Web |
| click_total_events_count | Finger | int | Total number of click events | Web |
| mouse_moving_path_length | Finger | string(float) | Total distance of mouse movement events, unit: pixels, example:"100.0" | Web |
| mouse_moving_speed | Finger | string(float) | Mouse movement speed, unit: pixels/s, example:"100.0" | Web |
| mouse_hover_total_events_count | Finger | int | Total number of mouse hover events,A mouse hover event is triggered when the mouse remains stationary for more than 0.5 seconds. | Web |
| mouse_hover_time_spent_total | Finger | string(float) | Total Time spent in mouse hover state, A mouse hover event is triggered when the mouse remains stationary for more than 0.5 seconds.unit: seconds, example:"100.0" | Web |
| application_as_background_count | Interactions | int | Number of times the application enters background | iOS、Android、Flutter |
| application_as_foreground_count | Interactions | int | Number of times the application enters foreground | iOS、Android、Flutter |
| application_navi_count | Interactions | int | Number of application interface switches | iOS、Android、Flutter |
| client_activity_session_time_spent_total | Interactions | string(float) | Time spent by application in foreground, unit: seconds, example:"100.0" | iOS、Android、Flutter |
| client_interactions_time_spent_total | Interactions | string(float) | Total time of input field cursor focus within the application, unit: seconds, example:"100.0" | iOS、Android、Flutter |
| client_interactions_tracked_events_count | Interactions | int | Number of events triggered during input field cursor focus within the application, event types include touch, scroll, screenEdgePan, swipe, textInput | iOS、Android、Flutter |
| text_input_text_removed_all_count | Interactions | int | Number of complete text deletion input events among text input events, requires text length > 1 before deletion | iOS、Android、Flutter |
| input_delete_actions_count | Interactions | int | Number of delete operation input events when a letter was deleted in the "usual" way during fields filling (1 character per 1 event) | iOS、Android、Flutter、Web |
| input_insert_actions_count | Interactions | int | Number of insert operation input events when a letter was inserted in the "usual" way during fields filling (1 character per 1 event) | iOS、Android、Flutter、Web |
| input_cut_actions_count | Interactions | int | Number of cut operation input events among text input events | Web |
| input_copy_actions_count | Interactions | int | Number of copy operation input events among text input events | Web |
| input_paste_actions_count | Interactions | int | Number of paste operation input events among text input events | iOS、Android、Flutter、Web |
| application_navi_info | Interactions | string | Information on application interface switching, including interface name and dwell time, example:"Main0,2.1211,SignIn0,25.7295" | iOS、Android、Flutter、Web |
| accelerometer_g_rage_actions_count | Sport | int | For time-sorted accelerometer data, take a fixed number of accelerometer data points, calculate if the variance of g values exceeds a threshold, if yes, count +1 | iOS、Android、Flutter |
| gyroscope_x_rage_actions_count | Sport | int | For time-sorted gyroscope data, take a fixed number of gyroscope data points, calculate if the variance of x values exceeds a threshold, if yes, count +1 | iOS、Android、Flutter |
| gyroscope_y_rage_actions_count | Sport | int | For time-sorted gyroscope data, take a fixed number of gyroscope data points, calculate if the variance of y values exceeds a threshold, if yes, count +1 | iOS、Android、Flutter |
| gyroscope_z_rage_actions_count | Sport | int | For time-sorted gyroscope data, take a fixed number of gyroscope data points, calculate if the variance of z values exceeds a threshold, if yes, count +1 | iOS、Android、Flutter |
| orientation_total_events_count | Sport | int | Number of times device orientation changes | iOS、Android、Flutter |
| orientation_rage_actions_count | Sport | int | Number of times device rotation event speed exceeds a threshold per minute, e.g., if current unit speed exceeds 5 device rotation events/minute, count +1 | iOS、Android、Flutter |
| text_input_chars_except_num_and_letters_count | Typing | int | Number of characters when any other character (among symbols, punctuations, marks & separators) was typed in the field or when the number of pasted characters was greater than one per 1 event (incl. the date selection from the calendar picker) | iOS、Android、Flutter |
| text_input_letters_count | Typing | int | Number of text input events when a letter was typed in the "usual" way during fields filling (1 letter per 1 event) | iOS、Android、Flutter |
| text_input_numbers_count | Typing | int | Number of text input events when a number was typed in the "usual" way during fields filling (1 number per 1 event) | iOS、Android、Flutter |
| text_input_speed | Typing | int | Text input speed, unit: characters/s | iOS、Android、Flutter |
| input_start_with_lower_count | Typing | int | Number of text input events when user started to type field with a lower letter | iOS、Android、Flutter、Web |
| input_start_with_number_count | Typing | int | Number of text input events user started to type field with a number | iOS、Android、Flutter、Web |
| input_start_with_upper_count | Typing | int | Number of text input events when user started to type field with a upper letter | iOS、Android、Flutter、Web |
| keyboard_letter_keys_pressed_count | Typing | int | Number of letter key press events among keyboard events | Web |
| keyboard_total_keys_pressed_count | Typing | int | Total number of keyboard key press events | Web |
| keyboard_meta_key_pressed_count | Typing | int | Number of meta key press events among keyboard events | Web |
| keyboard_number_keys_pressed_count | Typing | int | Number of number key press events among keyboard events | Web |
| keyboard_backspace_key_pressed_count | Typing | int | Number of backspace key press events among keyboard events | Web |
| keyboard_shift_key_pressed_count | Typing | int | Number of shift key press events among keyboard events | Web |
| keyboard_ctrl_key_pressed_count | Typing | int | Number of ctrl key press events among keyboard events | Web |
| keyboard_delete_key_pressed_count | Typing | int | Number of delete key press events among keyboard events | Web |
| keyboard_space_key_pressed_count | Typing | int | Number of space key press events among keyboard events | Web |
| keyboard_symbol_key_pressed_count | Typing | int | Number of symbol key press events among keyboard events | Web |
| keyboard_tab_key_pressed_count | Typing | int | Number of tab key press events among keyboard events | Web |
| keyboard_alt_key_pressed_count | Typing | int | Number of alt key press events among keyboard events | Web |
| keyboard_cut_keys_pressed_count | Typing | int | Number of "ctrl + x" key combination press events among keyboard events | Web |
| keyboard_copy_keys_pressed_count | Typing | int | Number of "ctrl + c" key combination press events among keyboard events | Web |
| keyboard_paste_keys_pressed_count | Typing | int | Number of "ctrl + v" key combination press events among keyboard events | Web |
| keyboard_shift_delete_actions_count | Typing | int | Number of "shift + delete" key combination press events among keyboard events | Web |
| keyboard_ctrl_alt_delete_actions_count | Typing | int | Number of "ctrl + alt + delete" key combination press events among keyboard events | Web |
| keyboard_text_shift_key_pressed_count | Typing | int | Number of shift key press events for uppercase letters and special symbols among keyboard events; | Web |
| keyboard_typing_speed | Typing | int | Keyboard event speed, unit: events/s | Web |
| keyboard_is_trusted_key_count | Typing | int | Number of trusted text input events in application flow among keyboard events, i.e., total events where event.isTrusted == true | Web |
| input_from_inside_count | Typing | int | Total number of times user inputs values within the field during interaction with input box (position > 1 and position < string length) | Web |
| input_from_end_count | Typing | int | Total number of times user inputs values at the end of string during first interaction with input box | Web |
| input_from_beginning_count | Typing | int | Number of times user starts input from the first position of the field during interaction with input box | Web |
| touch_prop_force_max | Typing | string(float) | Touch events, maximum pressure value, example:"0.8" | Web |
| touch_prop_force_avg | Typing | string(float) | Touch events, average pressure value, example:"0.5" | Web |
| touch_prop_force_min | Typing | string(float) | Touch events, minimum pressure value, example:"0.2" | Web |
| text_input_count | Typing | int | Total number of characters in all text input events | iOS、Android、Flutter、Web |
Status Code
| Status Code | Suggestion | Charged |
|---|---|---|
| 200 | Yes | |
| 306 | No available traffic, please contact operations | No |
| 406 | Wrong region,Version is not support | No |
| 500 | Application exception, reserved errors, can be ignored | No |
| 512 | Service not purchased, please contact operations | No |
| 513 | Traffic disabled, please contact operations | No |
| 514 | Service expired, please contact operations | No |
| 515 | Lack of traffic, please contact operations | No |
| 9150 | Wrong region,device os not support | No |
| 9151 | Authentication failed, please check the authentication parameters | No |
| 9152 | Service exception, reserved errors, can be ignored | No |
| 9153 | black_box is illegal,please mark | No |
| 9154 | SDK exception, please check the integration | No |
| 9155 | Replay, please mark | No |
| 9156 | Missing file, reserved errors, please check the integration | No |
| 9157 | Time out, please retry | No |
| 9158 | BlackBox forgery, please mark | No |
| 9159 | Missing blackBox, please check your code | No |
| 9160 | Wrong environment, confusion between production and testing environments | No |
| 9161 | BlackBox expired, prohibit caching blackBox | No |
| 9162 | Content type is not support | No |
| 9163 | Wrong region,Wrong address | No |
| 9164 | SDK init exception, please check the apiStatus returned by the SDK | No |
Example of response
JSON
{
"device_risk_score": 0,
"code": 200,
"device_id": "m130x7h5-1531-q60U-627V-6rA9WWUpj7ge",
"channel": "",
"device_risk_label": [
],
"device_risk_tools": {
"running_risk_tools_type": [
],
"installed_risk_tools_type": [
]
},
"device_detail": {
"app_version": "7.6.0",
"language": "en",
"installed_packages": "",
"mcc": "",
"wifi_ip": "",
"device_svn": "",
"available_storage": 53983174656,
"cpu_type": "",
"dns_address": "",
"host": "21DK7B13",
"model": "SM-S928U1",
"brand": "samsung",
"hardware": "qcom",
"longitude": 0,
"cell_ip": "",
"ip": "175.176.18.234",
"screen_resolution": "1080x2340",
"cpu_hardware": "",
"charge_state": "discharging",
"up_time": 249954968,
"audio_mode": 0,
"aid": "53687712-7d92-4b07-bf77-d8ab21fcc28b",
"startup_time": 1757917253720,
"bssid": "",
"latitude": 0,
"running_packages": "",
"proxy_info": "",
"device_name": "e3q",
"total_memory": 11628556288,
"vpn_true_ip": "",
"ipv6": "",
"system_version": "15",
"baseband_version": "S928U1UES4BYG2",
"fp_version": "4.4.4",
"country_iso": "",
"current_time": 1758167208688,
"product": "e3quew",
"mnc": "",
"sim_operator": "",
"battery_level": 67,
"first_seen_at": 1755160627697,
"vpn_ip": "",
"api_version": "35",
"time_zone": "UTC+08:00",
"sign_md5": "cfff917db460d0d2dbf5f692df05fa6341213dd7d3b1261c8916c97fe44be735",
"screen_brightness": 108,
"carrier": "",
"app_install_time": 1755055860261,
"package_name": "com.juanhand.fast.cash.peso.loan.app",
"available_memory": 3186192384,
"total_storage": 239249600512,
"android_id": "4bd6621d636e85d7",
"network_type": "4g"
},
"behavior_detail": {
"anomaly": {
"scale_rage_actions_count": 0,
"scroll_rage_actions_count": 0,
"swipe_rage_actions_count": 0,
"text_input_rage_actions_count": 1,
"touch_rage_actions_count": 0
},
"finger": {
"scale_total_events_count": 0,
"scroll_path_length": 0,
"scroll_total_events_count": 0,
"swipe_path_length": 0,
"swipe_total_events_count": 0,
"text_input_total_events_count": 21,
"touch_actions_speed": 0,
"touch_total_events_count": 0
},
"interactions": {
"application_as_background_count": 0,
"application_as_foreground_count": 0,
"application_navi_count": 0,
"application_navi_info": "SignIn0,25.7295",
"client_activity_session_time_spent_total": "25.8215",
"client_interactions_time_spent_total": "9.6349",
"client_interactions_tracked_events_count": 21,
"input_delete_actions_count": 0,
"input_insert_actions_count": 17,
"input_paste_actions_count": 0,
"text_input_text_removed_all_count": 1
},
"sport": {
"accelerometer_g_rage_actions_count": 22,
"gyroscope_x_rage_actions_count": 22,
"gyroscope_y_rage_actions_count": 22,
"gyroscope_z_rage_actions_count": 22,
"orientation_rage_actions_count": 0,
"orientation_total_events_count": 0
},
"typing": {
"input_start_with_lower_count": 1,
"input_start_with_number_count": 0,
"input_start_with_upper_count": 0,
"text_input_chars_except_num_and_letters_count": 6,
"text_input_count": 23,
"text_input_letters_count": 9,
"text_input_numbers_count": 8,
"text_input_speed": "2.3871"
}
},
"message": "success",
"device_os": "Android",
"ip_location": {
"continent": "Asia",
"country": "Philippines",
"city": "Quezon City",
"region": "National Capital Region",
"country_id": "PH"
},
"vpn_true_ip_location": {
"continent": "",
"country": "",
"city": "",
"region": "",
"country_id": ""
},
"device_history_risk_label": [
],
"sequence_id": "1758167264639870G13406ECB2458495"
}