Device Information Query API


API interface description

Interface method

Base URL

API

URLRequest methodContent-TypeOutput formatCharacter set
api-base-url?partner_code=xxx&partner_key=xxxPOSTapplication/jsonJSONUTF-8

Authentication

FieldTypeMeaningRequired fieldsRemarks
partner_codeStringPartner identifyYesProvided by TD
partner_keyStringPartner secret keyYesProvided by TD

Request

FieldTypeMeaningRequired fieldsRemarks
black_boxStringVouchers for access to device informationYesObtain from SDK
behaviorStringThe Behavior data payload returned by the collect method of the Terminal TDBehavior SDK.Not necessaryObtain 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

FieldTypeMeaningOutput situationRemarks
codeIntegerinterface response status codesAllRefer to the status code description
messageStringstatus InfoAllSpecific reasons for an exception
sequence_idStringunique Identifier IDAllA unique identifier for each request-response
device_idStringdevice unique IDAllUnique identification of the device
device_osStringdevice typeAllAndroid、Harmony、iOS、Web
channelStringchannelAllchannel
device_detailObjectdevice detailsAllPlease refer to the description of the device details
ip_locationObjectlocation information corresponding to the IP of the deviceAllPlease refer to the IP location information description
device_risk_scoreIntegerdevice risk scoreAllRange 0 - 10000,supports customization. For documentation, refer to risk score
device_risk_labelArraydevice risk label listAllPlease refer to the description of the device risk label
device_risk_toolsObjectdevice risk toolsAllPlease refer to the description of the device risk tools
device_history_risk_labelArraydevice history risk label listAllPlease refer to the description of the device history risk labels
vpn_true_ip_locationObjectlocation information corresponding to the VPN real IP of the deviceAllPlease refer to the VPN True IP location information description
behavior_detailObjectBehavior Collection Data DetailsOutput When the behavior parameter is passedReference 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

FieldTypeMeaningRemarks
app_versionStringapp versionsE.g. "4.1.6"
system_versionStringandroid system versionsE.g. "6.0.1"
api_versionStringandroid API versionsE.g. "23"
fp_versionStringSDK versionsE.g. "4.1.6"
modelStringdevice modelE.g. "2014811"
brandStringdevice BrandE.g. "Xiaomi"
device_nameStringdevice nameE.g. "HM2014811"
network_typeStringnetwork typeE.g. "2g"、"3g"、"4g"、"5g"、"wifi"、"mobile"、"bluetooth_tethering"、"unknown"
ipStringIP addressE.g. "123.157.153.130"
time_zoneStringtime zoneE.g. "UTC+08:00"
startup_timeLongboot timeE.g. 1741660150575
up_timeLonguptimeE.g. "568273951"
charge_stateStringcharging statusE.g. "charging"、"full"、"not_charging"、"discharging"、"unknown"
battery_levelIntegerelectrical quantitiesRange 0 - 100
screen_resolutionStringscreen resolutionWidth x Height,Example:"720x1280"
screen_brightnessIntegerscreen brightnessRange -1 - 256
total_memoryLongtotal memory sizeBytes
available_memoryLongavailable memory sizeBytes
total_storageLongtotal storage sizeBytes
available_storageLongavailable storage sizeBytes
latitudeDoublelatitudeAccuracy to 6 decimal places, Example 30.282331
longitudeDoublelongitudeAccuracy to 6 decimal places, Example 120.011395
accuracyDoubleGPS Horizontal Positioning Accuracy (Error Radius, Unit: m)E.g. 15.0
carrierStringcarrierE.g. "Viettel"
bssidStringbssidE.g. "00:1a:8c:a0:69:0a"
wifi_ipStringwifi ipE.g. "10.57.3.135"
wifi_listStringwifi listE.g. "[["38:17:c3:c0:0a:53","Test-Firewall",-49]]"
device_svnStringdevice svnE.g. "07"
hardwareStringhardwareE.g. "qcom"
dns_addressStringdns addressE.g. "211.137.32.178"
productStringproductE.g. "A37T"
hostStringhostE.g. "qh-miui-ota-offline07"
sim_operatorStringsim operatorE.g. "Viettel,VinaPhone"
ssidStringssidE.g. "xiaoming 的 wifi"
vpn_ipStringvpn ipE.g. "10.251.37.229"
cell_ipStringcell ipE.g. "10.3.4.9"
current_timeLongcurrent timeE.g. "1687764437374"
package_nameStringpackage nameE.g. "cn.tongdun. android&3.0.0"
languageStringlanguageE.g. "zh"
android_idStringandroid idE.g. "952b0b1edda80b44"
cpu_hardwareStringcpu hardwareE.g. "ARMv7 Processor rev 0 (v7l)"
cpu_typeStringcpu typeE.g. "Qualcomm Technologies"
baseband_versionStringbaseband versionE.g. "MPSS.DPM.1.0.c7. 18-00023"
mncStringmobile network codeE.g. "01"
mccStringmobile country codeE.g. "460"
installed_packagesStringinstalled packagesE.g. "[{\"package\":\"com.miui.screenrecorder\",\"name\":\"-\"},{\"package\":\"com.miui.fm\",\"name\":\"-\"}]"
running_packagesStringrunning packagesE.g. "com.xiaomi.shop"
ipv6Stringipv6E.g. "fe80::bfd7:21d8:318a:693b"
sign_md5Stringsign md5E.g. "6fb472cac420436b773a6325d4cdd7bd"
proxy_infoStringproxy infoE.g. "42.235.30.24:8080"
country_isoStringiso country codeE.g. "cn,cn"
aidStringgoogle advertising idE.g. "db13e159-1058-46fc-a4dc-4d2f8197f3af"
vpn_true_ipStringvpn true ip addressE.g. "123.157.153.130"
audio_modeIntegeraudio modeE.g. 0 - Normal mode,1 - Ringtone mode,2 - Call mode,3 - Communication mode,4 - Call screening is in progress
first_seen_atLongfirst seen atE.g. 1734342323000
app_install_timeLongapp install timeE.g. 1743587909428

iOS

FieldTypeMeaningRemarks
app_versionStringapp versionsE.g. "1.0.3"
system_versionStringios system versionsE.g. "10.2.1"
fp_versionStringSDK versionsE.g. "4.1.2"
modelStringdevice modelE.g. "iPhone 6s"
device_nameStringdevice nameE.g. "iPhone"
network_typeStringnetwork typeE.g. "2g"、"3g"、"4g"、"5g"、"wifi"、"mobile"、"bluetooth_tethering"、"unknown"
ipStringIP addressE.g. "123.157.153.130"
time_zoneStringtime zoneE.g. "UTC+08:00"
startup_timeLongboot timeE.g.1741660150575
up_timeLonguptimeE.g. 568273951
charge_stateStringcharging statusE.g. "charging"、"unplugged"、"unknown"
battery_levelIntegerelectrical quantitiesRange 0 - 100
screen_resolutionStringscreen resolutionWidth x Height,Example:"720x1280"
screen_brightnessIntegerscreen brightnessRange 0 - 100
total_memoryLongtotal memory sizeBytes
total_storageLongtotal storage sizeBytes
available_storageLongavailable storage sizeBytes
latitudeDoublelatitudeAccuracy to 6 decimal places, Example 30.282331
longitudeDoublelongitudeAccuracy to 6 decimal places, Example 120.011395
accuracyDoubleGPS Horizontal Positioning Accuracy (Error Radius, Unit: m)E.g. 15.0
current_timeStringcurrent timeE.g. "1687764437374"
cell_ipStringcell ipE.g. "10.5.2.39"
wifi_ipStringwifi ipE.g. "192.168.10.111"
languageStringlanguageE.g. "en"
carrierStringcarrierE.g. "Viettel,VinaPhone"
mncStringmobile network codeE.g. "0"
mccStringmobile country codeE.g. "460"
country_isoStringiso country codeE.g. "cn"
bundle_idStringbundle idE.g. "cn.fraudmetrix. FMDeviceManager"
proxy_infoStringproxy infoE.g. "10.2.3.4:8080"
ssidStringssidE.g. "TP-LINK_03FE"
bssidStringbssidE.g. "80:2f:3e:dd:03:fe"
dns_addressStringdns addressE.g. "192.168.10.1"
vpn_ipStringvpn ipE.g. "10.32.3.98"
ipv6Stringipv6E.g. "fe08:393ed3"
idfaStringidentifier for dvertisersE.g. "5D26C201-7FEF-44A6-B57A-1D10E2E2EC63"
idfvStringIdentifier for VendorE.g. "C767FCBE-6135-4F23-82EB-BBF35E493CDF"
issue_regionStringissue regionE.g. "CH/A"
vpn_true_ipStringvpn true ip addressE.g. "123.157.153.13
microphone_use_stateIntegermicrophone use stateE.g.-1: No available microphone,0: Not in a call state,1: In a call state
first_seen_atLongfirst seen atE.g. 1734342323000
app_install_timeLongapp install timeE.g. 1743587909428

Harmony

FieldTypeMeaningRemarks
fp_versionStringdevice typeE.g. "1.0.2"
screen_resolutionStringscreen resolutionE.g. "1344x2772"
current_timeLongcurrent timeE.g. 1711594081876
startup_timeLongboot timeE.g. 1741660150575
up_timeLongup timeE.g. 3503141
time_zoneStringtime zoneE.g. UTC+08:00
languageStringlanguageE.g. "zh-Hans"
charge_stateStringcharging statusE.g. "unknown"、"charging"、"unplugged、"unplugged"、"full"
battery_levelIntegerbattery levelE.g. 20
network_typestringnetwork typeE.g. "wifi"
total_storageLongtotal storage sizeE.g. 243041042432
available_storageLongavailable storage sizeE.g. 231078236160
cell_ipStringcell ipE.g. "10.24.207.224"
wifi_ipStringwifi ipE.g. "192.168.101.38"
vpn_ipStringvpn ipE.g. "198.18.0.1"
proxy_infostringproxy infoE.g. "10.57.241.80:8888"
device_typeStringdevice typeE.g. "phone"
brandStringdevice brandE.g. "HUAWEI"
market_nameStringmarket nameE.g. "HUAWEI Mate 40 Pro"
modelStringmodelE.g. "NON-AN00"
hardwareStringhardwareE.g. "HN1NOAHM"
serial_noStringserial noE.g. "05b37354f0dd7f2e"
system_versionStringsystem versionE.g. "2.1.6.6(Beta2)"
api_versionStringAPI versionsE.g. "11"
udidStringudidE.g. "default"
package_namestringpackage nameE.g. "com.example.harmonyosdemo"
app_versionstringapp versionsE.g. "1.0.1"
sign_md5stringsign md5E.g. "8CC29B99116E11A24A7762539327BB566D65773CB64C1521D68E67316DE1923F"
country_isostringiso country codeE.g. "cn,-"
sim_operatorstringsim operatorE.g. "Viettel,VinaPhone"
latitudedoublelatitudeAccuracy to 6 decimal places, Example 30.282331
longitudedoublelongitudeAccuracy to 6 decimal places, Example 120.011395
ipStringIP address223.104.160.62
audio_modeIntegeraudio mode0 - Default,1 - Ringing mode,2 - Telephone mode,3 - Voice mode
first_seen_atLongfirst seen atE.g. 1734342323000
app_install_timeLongapp install timeE.g. 1743587909428

Web

FieldTypeMeaningRemarks
browser_nameStringbrowser nameE.g. "Chrome"
browser_versionStringbrowser versionE.g. "56.0.2924.87"
fp_versionStringSDK versionsE.g."3.8.5"
user_agentStringbrowser userAgentE.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"
urlStringuniform resource locatorE.g. "file:///Users/td/Documents/td/fp/demo_web.html"
device_typeStringdevice typeE.g. "Mac"
osStringdevice operating systemE.g. "Mac OS"
ipStringip addressesE.g. "123.157.153.130"
time_zoneStringtime zoneE.g. "UTC+08:00"
screen_resolutionStringscreen resolutionWidth x Height,Example:"720x1280"
languageStringlanguageE.g. "zh-CN"
refererStringrefererE.g."http://10.57.30.164:8088/"
canvasStringcanvasE.g. "c8a8455d02d7cec9e dbe980b6b9e0ff8"
current_timeLongcurrent timeE.g. "1481694227762"
vpn_true_ipStringvpn true ip addressE.g. "123.157.153.13
latitudeDoublelatitudeAccuracy to 6 decimal places, Example 30.282331
longitudeDoublelongitudeAccuracy to 6 decimal places, Example 120.011395
first_seen_atLongfirst seen atE.g. 1734342323000

IP Location Information

FieldTypeMeaningRemarks
continentStringcontinentE.g. "North America"
countryStringcountryE.g. "The United States"
country_idStringcountry codeE.g. "US"
regionStringprovince/state/regionE.g. "Virginia"
cityStringcityE.g. "Ashburn"
accuracy_radiusDoublePositioning Error Radius Value, Unit: mE.g. 35.6001
latitudeDoubleIP latitudeE.g. 30.384272
longitudeDoubleIP longitudeE.g. 119.987002

Device Risk Label

Risk Label

Device Risk Tools

FieldtypeDescriptionRemarks
installed_risk_tools_typeArrayinstallation risk tool Type descriptionPlease refer to installation risk tool Type description
running_risk_tools_typeArraydescription of the type of risk tool runningPlease refer to the description of the type of risk tool running

Installation Risk Tools

FieldApplicable platformDescription
quick_macroAndroid, iOSauto click tool
cydiaAndroid, iOSCydia
agent_appAndroid, iOSagent app
more_openAndroiddouble open tool
machine_change_toolsAndroid, iOShook tools
code_receiving_platformAndroidcode receiving platform
magiskAndroidMagisk
group_control_softwareAndroidgroup control software
virtual_appAndroidVirtualApp
virtual_positioningAndroid, iOSGPS location fake
xposedAndroidXposed
game_transmissionAndroidgame transmission
game_modifierAndroid, iOSgame modifier
cloud_simulatorAndroidcloud simulator
crowdsourcing_appAndroidcrowdsourcing app
skip_adsAndroidskip ads
anti_crash_frameAndroidanti crash frame
capture_toolAndroidcapture tool
fridaAndroid, iOSfrida
troll_storeiOSTrollStore
cloud_phoneiOScloud phone
root_managerAndroidroot manager
remote_controlAndroidremote control
screen_casting_softwareAndroidscreen casting software
face_spoofingAndroidface spoofing

Running Risk Tools

FieldApplicable platformDescription
quick_macroAndroid, iOSauto click tool
machine_change_toolsiOShook tools
cydiaAndroidCydia
magiskAndroidMagisk
test_frameAndroidTestFrame
virtual_appAndroidVirtualApp
xposedAndroidXposed
capture_toolAndroidcapture tool
fridaAndroid,iOSfrida
troll_storeiOSTrollStore

Device History Risk Labels

FieldtypeDescriptionRemarks
labelStringrisk labelReference device history risk label list "f"
last_timeStringlast time13 digit timestamp

Device History Risk Label List

Risk Label

VPN True IP Location Information

FieldTypeMeaningRemarks
continentStringcontinentE.g. "North America"
countryStringcountryE.g. "The United States"
country_idStringcountry codeE.g. "US"
regionStringprovince/state/regionE.g. "Virginia"
cityStringcityE.g. "Ashburn"
accuracy_radiusDoublePositioning Error Radius Value, Unit: mE.g. 35.6001
latitudeDoubleIP latitudeE.g. 30.384272
longitudeDoubleIP longitudeE.g. 119.987002

Behavior collection information

When the behavior parameter is included in the request, the response returns a behavior_detail map. Behavior fields are not directly flattened under behavior_detail; instead, they are placed in the corresponding sub map by category. Different client platforms may return different fields.

Top-level fields of behavior_detail

FieldTypeDescriptionPlatform
behavior_risk_labelArrayRisk labels for behavior collection. Default value: []. Currently supports rapid_input, indicating excessively fast input.iOS、Android、Flutter、Web
bot_confidenceFloatBot behavior confidence score. Value range: [0, 1]; default value: 0. A higher value indicates higher confidence that the behavior is bot-generated.iOS、Android、Flutter、Web
anomalyMapAbnormal behavior statistics. See the anomaly type for fields.iOS、Android、Flutter、Web
fingerMapTouch, swipe, mouse, and other gesture behavior data. See the finger type for fields.iOS、Android、Flutter、Web
interactionsMapApplication or page interaction behavior data. See the interactions type for fields.iOS、Android、Flutter、Web
sportMapAccelerometer, gyroscope, and device orientation data. See the sport type for fields.iOS、Android、Flutter
typingMapText input and keyboard behavior data. See the typing type for fields.iOS、Android、Flutter、Web

Behavior collection information anomaly type

FieldTypeDescriptionPlatform
scale_rage_actions_countintNumber of times scale event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 scale events/second (> 5 events/s), count +1.iOS、Android、Flutter
scroll_rage_actions_countintNumber of times scroll event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 scroll events/second (> 5 events/s), count +1.iOS、Android、Flutter
swipe_rage_actions_countintNumber of times swipe event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 swipe events/second (> 5 events/s), count +1.iOS、Android、Flutter
text_input_rage_actions_countintNumber of times text input event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 text input events/second (> 5 events/s), count +1.iOS、Android、Flutter
touch_rage_actions_countintNumber of times touch event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 touch events/second (> 5 events/s), count +1.iOS、Android、Flutter、Web
keyboard_rage_actions_countintNumber of times keyboard event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 keyboard events/second (> 5 events/s), count +1.Web
mouse_rage_actions_countintNumber of times mouse event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 mouse events/second (> 5 events/s), count +1.Web
click_rage_actions_countintNumber of times click event speed exceeds a threshold per second, e.g., if current unit speed exceeds 5 click events/second (> 5 events/s), count +1.Web

Behavior collection information finger type

FieldTypeDescriptionPlatform
scale_total_events_countintTotal number of scale events.iOS, Android, Flutter
scroll_path_lengthfloatTotal distance of scroll events, unit: logical pixels, example: 100.0iOS, Android, Flutter
swipe_path_lengthfloatTotal distance of swipe events, unit: logical pixels, example: 100.0iOS, Android, Flutter
swipe_total_events_countintTotal number of swipe events.iOS, Android, Flutter
text_input_total_events_countintTotal number of text input events.iOS, Android, Flutter
touch_total_events_countintTotal number of touch events.iOS, Android, Flutter, Web
scroll_total_events_countintTotal number of scroll events.iOS, Android, Flutter, Web
touch_actions_speedfloatTouch event speed, unit: events/s, example: 10.0iOS, Android, Flutter, Web
click_total_events_countintTotal number of click events.Web
mouse_moving_path_lengthfloatTotal distance of mouse movement events, unit: logical pixels, example: 100.0Web
mouse_moving_speedfloatMouse movement speed, unit: logical pixels/s, example: 100.0Web
mouse_hover_total_events_countintTotal time spent in mouse hover state. A mouse hover event is triggered when the mouse remains stationary for more than 500 milliseconds ( > 500 ms).Web
mouse_hover_time_spent_totalintTotal time spent in mouse hover state. A mouse hover event is triggered when the mouse remains stationary for more than 500 milliseconds ( > 500 ms). Unit: milliseconds, example: 10000Web
touch_time_seqstring(int)Touch event timestamp sequence, example: "2,30,40,55,569"iOS, Android, Flutter
touch_in_main_area_ratiofloatRatio of touch events located in the main touch area. Value range: [0, 1].iOS, Android, Flutter
touch_main_area_centerstring(float)Center point of the main touch area, example: "112.0100,206.2022"iOS, Android, Flutter
touch_repeatseq_lengthintLength of the repeated control sequence in touch events.iOS, Android, Flutter
touch_repeat_seq_countintNumber of repeated control sequences in touch events.iOS, Android, Flutter
touch_repeat_seq_similarfloatSimilarity of repeated control sequences in touch events.iOS, Android, Flutter
touch_center_offset_liststring(float)List of distances from touch points to the control center, example: "1.6250,5.0389,10.4231,7.1948,6.3258,5.0760"iOS, Android, Flutter
scroll_curve_lengthfloatCurve distance of scroll events, unit: logical pixels, example: 160.0iOS, Android, Flutter
mouse_moving_curve_lengthfloatCurve distance of mouse movement events, unit: logical pixels, example: 160.0Web
touch_deep_liststring(float)Touch intensity list, example: "0.3000,0.0167,0.0333,0.1167,0.1333,0.0833"iOS, Android
touch_deep_area_liststring(float)Touch contact area list, example: "0.0000,25.6476"iOS, Android

Behavior collection information interactions type

FieldTypeDescriptionPlatform
application_as_background_countintNumber of times the application enters background.iOS, Android, Flutter
application_as_foreground_countintNumber of times the application enters foreground.iOS, Android, Flutter
application_navi_countintNumber of application interface switches.iOS, Android, Flutter
client_activity_session_time_spent_totalintTime spent by the application in foreground, unit: milliseconds, example: 10000iOS, Android, Flutter
client_interactions_time_spent_totalintTotal time of input field cursor focus within the application, unit: milliseconds, example: 10000iOS, Android, Flutter、Web
client_interactions_tracked_events_countintNumber of events triggered during input field cursor focus within the application. Event types include touch, scroll, screenEdgePan, swipe, and textInput.iOS, Android, Flutter、Web
text_input_text_removed_all_countintNumber of complete text deletion input events among text input events; requires text length > 1 before deletion.iOS, Android, Flutter
input_delete_actions_countintNumber of delete operation input events when a letter was deleted in the "usual" way during field filling (1 character per event).iOS, Android, Flutter, Web
input_insert_actions_countintNumber of insert operation input events when a letter was inserted in the "usual" way during field filling (1 character per event).iOS, Android, Flutter, Web
input_cut_actions_countintNumber of cut operation input events among text input events.Web
input_copy_actions_countintNumber of copy operation input events among text input events.Web
input_paste_actions_countintNumber of paste operation input events among text input events.iOS, Android, Flutter, Web
application_navi_infostringInformation on application interface switching, including interface name and dwell time(milliseconds), example: "Main0,3306,SignIn0,7399".iOS, Android, Flutter, Web

Behavior collection information sport type

FieldTypeDescriptionPlatform
accelerometer_g_rage_actions_countintFor time-sorted accelerometer data, take a fixed number of accelerometer data points and calculate whether the variance of g values exceeds a threshold. If yes, count +1.iOS, Android, Flutter
gyroscope_x_rage_actions_countintFor time-sorted gyroscope data, take a fixed number of gyroscope data points and calculate whether the variance of x values exceeds a threshold. If yes, count +1.iOS, Android, Flutter
gyroscope_y_rage_actions_countintFor time-sorted gyroscope data, take a fixed number of gyroscope data points and calculate whether the variance of y values exceeds a threshold. If yes, count +1.iOS, Android, Flutter
gyroscope_z_rage_actions_countintFor time-sorted gyroscope data, take a fixed number of gyroscope data points and calculate whether the variance of z values exceeds a threshold. If yes, count +1.iOS, Android, Flutter
orientation_total_events_countintNumber of times device orientation changes.iOS, Android, Flutter
orientation_rage_actions_countintNumber 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

Behavior collection information typing type

FieldTypeDescriptionPlatform
text_input_chars_except_num_and_letters_countintNumber of characters when any other character (including symbols, punctuation, marks, and separators) was typed in the field or when the number of pasted characters was greater than one per event (including date selection from a calendar picker).iOS, Android, Flutter
text_input_speedfloatText input speed, unit: characters/s.iOS, Android, Flutter
keyboard_total_keys_pressed_countintTotal number of keyboard key press events.Web
keyboard_backspace_key_pressed_countintNumber of backspace key press events.Web
keyboard_shift_key_pressed_countintNumber of shift key press events.Web
keyboard_delete_key_pressed_countintNumber of delete key press events.Web
keyboard_symbol_key_pressed_countintNumber of symbol key press events.Web
keyboard_cut_keys_pressed_countintNumber of "ctrl + x" key combination press events.Web
keyboard_copy_keys_pressed_countintNumber of "ctrl + c" key combination press events.Web
keyboard_paste_keys_pressed_countintNumber of "ctrl + v" key combination press events.Web
keyboard_shift_delete_actions_countintNumber of "shift + delete" key combination press events.Web
keyboard_ctrl_alt_delete_actions_countintNumber of "ctrl + alt + delete" key combination press events.Web
keyboard_typing_speedintKeyboard event speed, unit: events/s.Web
keyboard_is_trusted_key_countintNumber of trusted input events in the application flow among keyboard events, i.e., total events where event.isTrusted == true.Web
input_from_inside_countintTotal number of times users input values within the field during interaction with the input box (position > 1 and position < string length).Web
input_from_end_countintTotal number of times users input values at the end of the string during first interaction with the input box.Web
input_from_beginning_countintNumber of times users start input from the first position of the field during interaction with the input box.Web
touch_prop_force_maxfloatTouch event maximum pressure value, example: 0.8Web
touch_prop_force_avgfloatTouch event average pressure value, example: 0.5Web
touch_prop_force_minfloatTouch event minimum pressure value, example: 0.2Web
text_input_countintTotal number of characters in all text input events.iOS, Android, Flutter, Web
text_input_sourceintInput source, 32-bit bitmap.
From right to left:
bit 1: unknown source;
bit 2: keyboard input;
bit 3: paste;
bit 4: autofill (passwords, verification codes, etc.);
bit 5: app program fill;
bit 6: third-party SDK injection;
Example: 5 = 0b101, indicating paste and unknown source.
iOS, Android, Flutter, Web
text_input_interval_cv_liststring(float)Input rhythm list, example: "0.5051,0.7367"iOS, Android, Flutter, Web

See Example of response below for the full behavior collection information returned by the API

Status Code

Status CodeSuggestionCharged
200Yes
306No available traffic, please contact operationsNo
406Wrong region,Version is not supportNo
500Application exception, reserved errors, can be ignoredNo
512Service not purchased, please contact operationsNo
513Traffic disabled, please contact operationsNo
514Service expired, please contact operationsNo
515Lack of traffic, please contact operationsNo
9150Wrong region,device os not supportNo
9151Authentication failed, please check the authentication parametersNo
9152Service exception, reserved errors, can be ignoredNo
9153black_box is illegal,please markNo
9154SDK exception, please check the integrationNo
9155Replay, please markNo
9156Missing file, reserved errors, please check the integrationNo
9157Time out, please retryNo
9158BlackBox forgery, please markNo
9159Missing blackBox, please check your codeNo
9160Wrong environment, confusion between production and testing environmentsNo
9161BlackBox expired, prohibit caching blackBoxNo
9162Content type is not supportNo
9163Wrong region,Wrong addressNo
9164SDK init exception, please check the apiStatus returned by the SDKNo

Example of response

{
    "device_risk_score": 8,
    "code": 200,
    "device_id": "c1nG3793-Z5a0-p97J-180N-0nC1DYQh12Yj",
    "channel": "apitest",
    "device_risk_label": [
        "no_sim",
        "adb_link"
    ],
    "device_risk_tools": {
        "running_risk_tools_type": [],
        "installed_risk_tools_type": []
    },
    "device_detail": {
        "app_version": "4.8.0.2",
        "language": "zh",
        "installed_packages": "[{\"package\":\"cn.tongdun.mobrisk.demo\",\"name\":\"-\"}]",
        "mcc": "",
        "gps_location": {
            "address": "",
            "province": "",
            "city": "",
            "region": "",
            "township": ""
        },
        "wifi_ip": "",
        "device_svn": "20",
        "available_storage": 137275531264,
        "cpu_type": "",
        "dns_address": "",
        "host": "cn-west-hcd-5a-acab910141717386065435-588c6955d6-48x72",
        "model": "OXF-AN10",
        "brand": "HONOR",
        "hardware": "kirin990",
        "longitude": 0,
        "cell_ip": "",
        "ip": "183.129.232.236",
        "screen_resolution": "1080x2400",
        "cpu_hardware": "",
        "charge_state": "charging",
        "up_time": 82841770,
        "audio_mode": 0,
        "aid": "",
        "startup_time": 1757472801887,
        "bssid": "",
        "latitude": 0,
        "running_packages": "cn.tongdun.mobrisk.demo",
        "proxy_info": "",
        "device_name": "HWOXF",
        "total_memory": 7868047360,
        "vpn_true_ip": "",
        "ipv6": "",
        "system_version": "12",
        "baseband_version": "21C93B398S000C000",
        "fp_version": "4.8.0.2",
        "country_iso": "cn,-",
        "current_time": 1757555643657,
        "product": "OXF-AN10",
        "mnc": "",
        "sim_operator": "-,-",
        "battery_level": 67,
        "first_seen_at": 1735097180012,
        "vpn_ip": "",
        "api_version": "31",
        "time_zone": "UTC+08:00",
        "sign_md5": "03ce925f76ceb40e1c2ed8bfe3fcdd0c480a7ba8689ff814c601edfbf79e339e",
        "screen_brightness": 71,
        "carrier": "-,-",
        "app_install_time": 1757482908393,
        "package_name": "cn.tongdun.mobrisk.demo",
        "available_memory": 3286253568,
        "total_storage": 245389852672,
        "android_id": "0828e7ca28dae28c",
        "network_type": "wifi",
        "wifi_list": "[{\"wifi_bssid\":\"28:6c:07:47:c3:bb\",\"wifi_ssid\":\"ZD_5G\",\"wifi_level\":-54},{\"wifi_bssid\":\"dc:f0:90:33:02:92\",\"wifi_ssid\":\"nunu\",\"wifi_level\":-58},{\"wifi_bssid\":\"e8:ac:23:cb:34:76\",\"wifi_ssid\":\"tdiot\",\"wifi_level\":-69},{\"wifi_bssid\":\"e8:ac:23:cb:34:74\",\"wifi_ssid\":\"TD-Phone\",\"wifi_level\":-69},{\"wifi_bssid\":\"e8:ac:23:cb:34:73\",\"wifi_ssid\":\"TD-GUEST\",\"wifi_level\":-69},{\"wifi_bssid\":\"e8:ac:23:cb:34:72\",\"wifi_ssid\":\"Tongdun\",\"wifi_level\":-69},{\"wifi_bssid\":\"e8:ac:23:cb:34:71\",\"wifi_ssid\":\"TrustDecision\",\"wifi_level\":-69},{\"wifi_bssid\":\"e8:ac:23:cb:34:70\",\"wifi_ssid\":\"Zhongboxin\",\"wifi_level\":-69},{\"wifi_bssid\":\"76:8d:2a:32:71:49\",\"wifi_ssid\":\"608-TDXT\",\"wifi_level\":-75},{\"wifi_bssid\":\"e8:ac:23:ca:89:a2\",\"wifi_ssid\":\"Tongdun\",\"wifi_level\":-91}]",
        "accuracy": 15.0,
        "ssid": "ZD_5G",
        "oaid": "f976d3ee-7168-4f06-a7a5-4dea08a9662a"
    },
    "behavior_detail": {
        "behavior_risk_label": [
            "rapid_input"
        ],
        "bot_confidence": 0.3,
        "anomaly": {
            "scroll_rage_actions_count": 0,
            "touch_rage_actions_count": 0,
            "scale_rage_actions_count": 0,
            "text_input_rage_actions_count": 9,
            "swipe_rage_actions_count": 0
        },
        "finger": {
            "touch_center_offset_list": "10.6719,15.3659",
            "touch_time_seq": "849,29582",
            "touch_actions_speed": 0.0675,
            "touch_repeat_seq_similar": 0,
            "swipe_total_events_count": 4,
            "touch_total_events_count": 2,
            "scroll_path_length": 358.48,
            "touch_in_main_area_ratio": 0.5,
            "scroll_total_events_count": 5,
            "touch_deep_list": "0.0000;0.0000",
            "touch_main_area_center": "364.3333,346.6667",
            "swipe_path_length": 254.9274,
            "touch_deep_area_list": "0.0000,12.1039;6.0519",
            "touch_repeat_seq_length": 0,
            "text_input_total_events_count": 56,
            "touch_repeat_seq_count": 1,
            "scroll_curve_length": 359.2585,
            "scale_total_events_count": 0
        },
        "interactions": {
            "input_delete_actions_count": 0,
            "application_as_background_count": 0,
            "client_interactions_tracked_events_count": 57,
            "input_insert_actions_count": 56,
            "input_paste_actions_count": 0,
            "client_activity_session_time_spent_total": 29583,
            "client_interactions_time_spent_total": 15199,
            "application_navi_count": 0,
            "application_navi_info": "TDMain0,29583",
            "text_input_text_removed_all_count": 0,
            "application_as_foreground_count": 0
        },
        "sport": {
            "accelerometer_g_rage_actions_count": 0,
            "orientation_total_events_count": 0,
            "gyroscope_z_rage_actions_count": 0,
            "gyroscope_y_rage_actions_count": 0,
            "gyroscope_x_rage_actions_count": 0,
            "orientation_rage_actions_count": 0
        },
        "typing": {
            "text_input_count": 56,
            "text_input_source": 2,
            "text_input_interval_cv_list": "0.4273",
            "text_input_chars_except_num_and_letters_count": 0,
            "text_input_speed": 5.253
        }
    },
    "message": "success",
    "device_os": "Android",
    "ip_location": {
        "continent": "Asia",
        "country": "China",
        "city": "Hangzhou",
        "region": "Zhejiang",
        "country_id": "CN",
        "latitude": 30.384272,
        "accuracy_radius": 35.6001,
        "longitude": 119.987002
    },
    "vpn_true_ip_location": {
        "continent": "",
        "country": "",
        "city": "",
        "region": "",
        "country_id": "",
        "latitude": 0.0,
        "accuracy_radius": 0.0,
        "longitude": 0.0
    },
    "device_history_risk_label": [
        {
            "last_time": "1749105497989",
            "label": "app_multiple_running"
        },
        {
            "last_time": "1753944006009",
            "label": "vpn_detected"
        },
        {
            "last_time": "1749105497989",
            "label": "camera_fake"
        },
        {
            "last_time": "1757555625652",
            "label": "no_sim"
        },
        {
            "last_time": "1742286486244",
            "label": "short_uptime"
        },
        {
            "last_time": "1757555625652",
            "label": "adb_link"
        },
        {
            "last_time": "1749105497989",
            "label": "gps_fake"
        },
        {
            "last_time": "1746762648790",
            "label": "repackaged"
        },
        {
            "last_time": "1753944006009",
            "label": "device_info_tampered"
        },
        {
            "last_time": "1757498166978",
            "label": "abnormal_time"
        },
        {
            "last_time": "1748338101708",
            "label": "cloud_phone"
        },
        {
            "last_time": "1753944006009",
            "label": "proxy_detected"
        },
        {
            "last_time": "1757498166978",
            "label": "replay_attacks"
        }
    ],
    "sequence_id": "1757555737405256F8BD761B87527878"
}