{"openapi":"3.0.3","info":{"description":"\nThis document describes the NeuroID API v6. The API provides access to risk signals computed using behavior and device technology.\n\nCommon use cases are:\n* Retrieving data synchronously at login for a risk assessment on whether a login should proceed.\n* Retrieving data at a high risk transaction to determine whether the transaction should proceed.\n* Retrieving data after an account onboarding event indicating whether the application was suspicious.\n\nThe risk signals returned vary with the product accessed and the license purchased.\n\nNotes:\n\n* For Account Defense, the `ato_risk` is a rolled up signal which summarizes the overall risk recommendation. The other signals are provided as extra information.\n","version":"6.0","title":"Analytics API V6"},"externalDocs":{"description":"Documentation","url":"https://neuro-id.readme.io/"},"servers":[{"url":"https://api.neuro-id.com/v6"},{"url":"https://api.neuro-dev.com/v6"}],"paths":{"/sessions/{identity_id}/products/{product}":{"get":{"tags":["Risk Signals Endpoint"],"summary":"Risk Signals","operationId":"getSessionRisk","description":"\n\nThis document describes the NeuroID API v6. The API provides access to risk signals computed using behavior and device technology.\n\nCommon use cases are:\n* Retrieving data synchronously at login for a risk assessment on whether a login should proceed.\n* Retrieving data at a high risk transaction to determine whether the transaction should proceed.\n* Retrieving data after an account onboarding event indicating whether the application was suspicious.\n\nThe risk signals returned vary with the product accessed and the license purchased.\n\nNotes:\n\n* For Account Defense, the `ato_risk` is a rolled up signal which summarizes the overall risk recommendation. The other signals are provided as extra information.\n\nTest Cases:\n\nTo retrieve sample responses for different scenarios, you can add the example identity_id for the product feature you are interested in to the URL.\nFor example, for the Account Defense product, you can use the identity_id `example_account_defense_signals_risky` as follows. Other arguments are ignored.\n\n```\n  /v6/sessions/example_account_defense_signals_risky/products/account_defense\n```\n\nOpen API Specification:\nThe Open API Specification is available at [Open API Specification](https://neuro-id.readme.io/openapi/)\n","parameters":[{"name":"identity_id","description":"identity_id written into javascript or sdk with identify() command.","in":"path","required":true,"schema":{"type":"string"}},{"name":"product","description":"product set of risk signals desired.","in":"path","required":true,"schema":{"type":"string","enum":["account_opening","account_defense","transaction"]}},{"name":"api_checkpoint_name","description":"metadata string that describes where in the flow the api is called. For example \"attempted_login\". This is used for debugging and also for billing purposes (if billed by api calls)","in":"query","required":true,"schema":{"type":"string"}},{"name":"registered_user_id","description":"customer defined identifier for user. Required for login blocking use cases. Preferred in other use cases but optional","in":"query","required":false,"schema":{"type":"string"}},{"name":"alias_id","description":"customer defined identifier for session. Not required but can be used to link and query sessions.","in":"query","required":false,"schema":{"type":"string"}},{"name":"nid-version","description":"Specify sub version (in 'YYYY-MM-DD' format). The most recent version is `2025-03-24`","in":"header","required":true,"schema":{"type":"string","format":"date","example":"2025-03-24"}},{"name":"partner_id","description":"Optional metadata parameter to enable partners in multi-tenant integrations.","in":"query","required":false,"schema":{"type":"string","maxLength":50}},{"name":"tenant_id","description":"Optional metadata parameter to identify the partner’s customer.","in":"query","required":false,"schema":{"type":"string","maxLength":50}}],"security":[{"api_key":[]}],"responses":{"200":{"description":"successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultObject"},"examples":{"example_account_defense_signals_not_risky":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_defense_signals_not_risky","product":"account_defense","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"asn":{"asn":"20115","name":"CHARTER-20115","network":"47.224.0.0/17"},"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"773","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"111aaa222bbb333","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"deviceFirstSeenEpochSeconds":1734062290,"funnel":"FRA","hasFlashPlugin":false,"jsFrameWorks":["jQuery.js"],"screenResolution":[1124,648],"secondsSinceFirstSeen":11887417,"sessionStartTimeMs":1741277081128,"url":"website.com"},"signals":[{"version":"1.0","model":"automated_activity","label":"false","attributes":{},"score":0,"reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":0},"label":"false","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{"device_first_seen_epoch_seconds":1732314700},"label":"false","model":"changed_device","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":null,"bot_class":"notDetected"},"label":"false","model":"bot_framework","score":0,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":0},"label":"false","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":false,"publicVPN":false,"osMismatch":false,"auxiliary":false,"relay":false},"label":"false","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"low","model":"behavioral_analytics_recognition","score":89.795411,"version":"1.0.0","reasonCodes":[]},{"attributes":{},"label":"low","model":"ato_risk","score":0,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{},"label":false,"model":"call_in_progress","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"distance":70.25,"time_hours":1003.5},"label":false,"model":"rapid_location_change","reasonCodes":[],"score":1,"version":"4.0"}]}},"example_account_defense_signals_risky":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_defense_signals_risky","product":"account_defense","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"asn":{"asn":"20115","name":"CHARTER-20115","network":"47.224.0.0/17"},"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"773","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"111aaa222bbb333","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"deviceFirstSeenEpochSeconds":1734062290,"funnel":"FRA","hasFlashPlugin":false,"jsFrameWorks":["jQuery.js"],"screenResolution":[1124,648],"secondsSinceFirstSeen":11887417,"sessionStartTimeMs":1741277081128,"url":"website.com"},"signals":[{"version":"2.0","model":"automated_activity","label":"true","attributes":{},"score":1,"reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":10},"label":"true","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{"device_first_seen_epoch_seconds":1732314700},"label":"true","model":"changed_device","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":"headless","bot_class":"bad"},"label":"true","model":"bot_framework","score":1,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":10},"label":"true","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":true,"publicVPN":true,"osMismatch":true,"auxiliary":true,"relay":true},"label":"true","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"high","model":"behavioral_analytics_recognition","score":89.795411,"version":"1.0.0","reasonCodes":[]},{"attributes":{},"label":"high","model":"ato_risk","score":1,"version":"2.0","reasonCodes":["changed_device"]},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{},"label":false,"model":"call_in_progress","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":1,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":1,"version":"4.0"},{"attributes":{"distance":670.25,"time_hours":1.5},"label":true,"model":"rapid_location_change","reasonCodes":[],"score":1,"version":"4.0"}]}},"example_account_defense_signals_medium_risk":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_defense_signals_medium_risk","product":"account_defense","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"asn":{"asn":"20115","name":"CHARTER-20115","network":"47.224.0.0/17"},"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"773","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"111aaa222bbb333","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"deviceFirstSeenEpochSeconds":1734062290,"funnel":"FRA","hasFlashPlugin":false,"jsFrameWorks":["jQuery.js"],"screenResolution":[1124,648],"secondsSinceFirstSeen":11887417,"sessionStartTimeMs":1741277081128,"url":"website.com"},"signals":[{"version":"2.0","model":"automated_activity","label":"false","attributes":{},"score":0,"reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":0},"label":"false","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{"device_first_seen_epoch_seconds":0},"label":"true","model":"changed_device","score":0.5,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":null,"bot_class":"notDetected"},"label":"false","model":"bot_framework","score":0,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":0},"label":"false","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":false,"publicVPN":false,"osMismatch":false},"label":"false","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"low","model":"behavioral_analytics_recognition","score":86.169952,"version":"1.0.0","reasonCodes":[]},{"attributes":{},"label":"medium","model":"ato_risk","score":0.5,"version":"2.0","reasonCodes":["changed_device"]},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":1,"version":"4.0"},{"attributes":{},"label":true,"model":"call_in_progress","reasonCodes":[],"score":1,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"distance":70.25,"time_hours":1003.5},"label":false,"model":"rapid_location_change","reasonCodes":[],"score":1,"version":"4.0"}]}},"example_account_opening_signals_not_risky":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_opening_signals_not_risky","product":"account_opening","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"asn":{"asn":"20115","name":"CHARTER-20115","network":"47.224.0.0/17"},"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"773","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"111aaa222bbb333","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"deviceFirstSeenEpochSeconds":1734062290,"funnel":"FRA","hasFlashPlugin":false,"jsFrameWorks":["jQuery.js"],"screenResolution":[1124,648],"secondsSinceFirstSeen":11887417,"sessionStartTimeMs":1741277081128,"url":"website.com"},"signals":[{"version":"3.0.0","model":"familiarity","label":"high","score":97.68,"reasonCodes":[]},{"version":"1.0","model":"combined_digital_intent","label":"genuine","attributes":{},"reasonCodes":[],"score":0},{"version":"1.0","model":"fraud_ring_indicator","label":"false","attributes":{},"score":0,"reasonCodes":[]},{"version":"1.0","model":"automated_activity","label":"false","attributes":{},"score":0,"reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":0},"label":"false","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":"headless","bot_class":"good"},"label":"false","model":"bot_framework","score":0,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":0},"label":"false","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":false,"publicVPN":false,"osMismatch":false,"auxiliary":false,"relay":false},"label":"false","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{},"label":false,"model":"call_in_progress","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"version":"1.0","attributes":{},"label":"low","model":"ao_risk","score":0,"reasonCodes":[]}]}},"example_account_opening_signals_risky":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_opening_signals_risky","product":"account_opening","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"63","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"6TI3Pg2l40DQgkHLv0PH","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"sessionStartTimeMs":1741277081128},"signals":[{"version":"3.0.0","model":"familiarity","label":"low","score":13.68,"reasonCodes":[]},{"version":"1.0","model":"combined_digital_intent","label":"risky","attributes":{},"score":0,"reasonCodes":[]},{"version":"1.0","model":"fraud_ring_indicator","label":"true","attributes":{},"score":1,"reasonCodes":[]},{"version":"1.0","model":"automated_activity","label":"true","attributes":{},"score":1,"reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":10},"label":"true","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":"headless","bot_class":"bad"},"label":"true","model":"bot_framework","score":1,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":10},"label":"true","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":true,"publicVPN":false,"osMismatch":true,"auxiliary":false,"relay":false},"label":"true","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{},"label":false,"model":"call_in_progress","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":1,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":1,"version":"4.0"},{"version":"1.0","attributes":{},"label":"high","model":"ao_risk","score":1,"reasonCodes":[]}]}},"example_account_opening_signals_medium_risk":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_opening_signals_medium_risk","product":"account_opening","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"asn":{"asn":"20115","name":"CHARTER-20115","network":"47.224.0.0/17"},"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"773","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"111aaa222bbb333","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"deviceFirstSeenEpochSeconds":1734062290,"funnel":"FRA","hasFlashPlugin":false,"jsFrameWorks":["jQuery.js"],"screenResolution":[1124,648],"secondsSinceFirstSeen":11887417,"sessionStartTimeMs":1741277081128,"url":"website.com"},"signals":[{"version":"1.0","attributes":{},"label":"medium","model":"ao_risk","score":0.5,"reasonCodes":[]},{"version":"3.0.0","model":"familiarity","label":"high","score":97.68,"reasonCodes":[]},{"version":"1.0","model":"combined_digital_intent","label":"genuine","attributes":{},"reasonCodes":[],"score":0},{"version":"1.0","model":"fraud_ring_indicator","label":"false","attributes":{},"score":0,"reasonCodes":[]},{"version":"1.0","model":"automated_activity","label":"false","attributes":{},"score":0,"reasonCodes":[]},{"version":"2.0","model":"tor_exit_node","label":"true","reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":0},"label":"false","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":"headless","bot_class":"good"},"label":"false","model":"bot_framework","score":0,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":0},"label":"false","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":false,"publicVPN":false,"osMismatch":false},"label":"false","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":1,"version":"4.0"},{"attributes":{},"label":false,"model":"call_in_progress","reasonCodes":[],"score":1,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":0,"version":"4.0"}]}},"example_account_opening_no_device":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_opening_no_device","product":"account_opening","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"sessionStartTimeMs":1741277081128},"signals":[{"version":"3.0.0","model":"familiarity","label":"low","score":97.68,"reasonCodes":[]},{"version":"1.0","model":"combined_digital_intent","label":"risky","attributes":{},"score":0,"reasonCodes":[]},{"version":"1.0","model":"fraud_ring_indicator","label":"true","attributes":{},"score":1,"reasonCodes":[]},{"version":"1.0","model":"automated_activity","label":"true","attributes":{},"score":1,"reasonCodes":[]},{"version":"4.0","model":"risky_device","label":false,"attributes":{},"score":0,"reasonCodes":[]},{"version":"4.0","model":"call_in_progress","label":false,"attributes":{},"score":0,"reasonCodes":[]},{"version":"4.0","model":"ip_allowlist","label":false,"attributes":{"customer_allowlist":false},"score":0,"reasonCodes":[]},{"version":"4.0","model":"device_allowlist","label":false,"attributes":{"customer_allowlist":false},"score":0,"reasonCodes":[]}]}},"example_account_opening_custom_attributes":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_opening_custom_attributes","product":"account_opening","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"63","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"6TI3Pg2l40DQgkHLv0PH","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"sessionStartTimeMs":1741277081128},"signals":[{"version":"1.0","model":"custom_attributes","attributes":{"context":{"is_pc":true},"#your_app_field_target_2":{"interaction_count":1,"transition_to_entry_ratio":0.2616580310880829,"left_window":0,"transition_type__is_in_page_copy":0,"transition_type__is_flip":0,"transition_type__is_autofill":0,"transition_type__is_auto_advance":0,"transition_type__is_kbd":0,"transition_type__is_back":0,"transition_type__is_tap":0,"transition_type__is_mouse":1,"transition_type__is_other":0,"transition_pause_to_movement_ratio":0,"transition_is_suspicious":0,"transition_deviation":1.1518665435331068,"entry_type__is_paste":0,"entry_type__is_assist":0,"entry_type__is_autofill":0,"entry_type__is_kbd":0,"entry_type__is_transcribe":0,"entry_type__is_slow":0,"entry_type__is_fast":0,"entry_type__is_type":1,"entry_type__is_no_change":0,"entry_type__is_unknown":0,"entry_type__is_password":0,"entry_type__is_click":0,"entry_type__is_flip":0,"entry_type__is_other":0,"entry_has_support":0,"entry_shortcut_cnt":0,"entry_pause_to_interacting_ratio":0,"entry_typing_fluency":null,"entry_has_edits":0,"entry_pause_cnt":0},"#your_app_field_target_1":{"interaction_count":1,"transition_to_entry_ratio":0.25,"left_window":0,"transition_type__is_in_page_copy":0,"transition_type__is_flip":0,"transition_type__is_autofill":0,"transition_type__is_auto_advance":0,"transition_type__is_kbd":0,"transition_type__is_back":0,"transition_type__is_tap":0,"transition_type__is_mouse":1,"transition_type__is_other":0,"transition_pause_to_movement_ratio":0,"transition_is_suspicious":0,"transition_deviation":1.2082106550915572,"entry_type__is_paste":0,"entry_type__is_assist":0,"entry_type__is_autofill":0,"entry_type__is_kbd":0,"entry_type__is_transcribe":0,"entry_type__is_slow":0,"entry_type__is_fast":0,"entry_type__is_type":1,"entry_type__is_no_change":0,"entry_type__is_unknown":0,"entry_type__is_password":0,"entry_type__is_click":0,"entry_type__is_flip":0,"entry_type__is_other":0,"entry_has_support":0,"entry_shortcut_cnt":0,"entry_pause_to_interacting_ratio":0,"entry_typing_fluency":null,"entry_has_edits":0,"entry_pause_cnt":0}}},{"version":"3.0.0","model":"familiarity","label":"low","score":97.68,"reasonCodes":[]},{"version":"1.0","model":"combined_digital_intent","label":"risky","attributes":{},"score":0,"reasonCodes":[]},{"version":"1.0","model":"fraud_ring_indicator","label":"true","attributes":{},"score":1,"reasonCodes":[]},{"version":"1.0","model":"automated_activity","label":"true","attributes":{},"score":1,"reasonCodes":[]}]}},"example_transaction_signals_not_risky":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_transaction_signals_not_risky","product":"transaction","api_checkpoint_name":"transaction","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"asn":{"asn":"20115","name":"CHARTER-20115","network":"47.224.0.0/17"},"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"773","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"111aaa222bbb333","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"deviceFirstSeenEpochSeconds":1734062290,"funnel":"FRA","hasFlashPlugin":false,"jsFrameWorks":["jQuery.js"],"screenResolution":[1124,648],"secondsSinceFirstSeen":11887417,"sessionStartTimeMs":1741277081128,"url":"website.com"},"signals":[{"version":"1.0","model":"automated_activity","label":"false","attributes":{},"score":0,"reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":0},"label":"false","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{"device_first_seen_epoch_seconds":1732314700},"label":"false","model":"changed_device","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":null,"bot_class":"notDetected"},"label":"false","model":"bot_framework","score":0,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":0},"label":"false","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":false,"publicVPN":false,"osMismatch":false,"auxiliary":false,"relay":false},"label":"false","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"low","model":"behavioral_analytics_recognition","score":89.795411,"version":"1.0.0","reasonCodes":[]},{"attributes":{},"label":"low","model":"transaction_risk","score":0,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"remote_access","score":0,"version":"1.0","reasonCodes":[]},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{},"label":false,"model":"call_in_progress","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":0,"version":"4.0"}]}},"example_transaction_signals_risky":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_transaction_signals_risky","product":"transaction","api_checkpoint_name":"transaction","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"asn":{"asn":"20115","name":"CHARTER-20115","network":"47.224.0.0/17"},"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"773","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"111aaa222bbb333","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"deviceFirstSeenEpochSeconds":1734062290,"funnel":"FRA","hasFlashPlugin":false,"jsFrameWorks":["jQuery.js"],"screenResolution":[1124,648],"secondsSinceFirstSeen":11887417,"sessionStartTimeMs":1741277081128,"url":"website.com"},"signals":[{"version":"2.0","model":"automated_activity","label":"true","attributes":{},"score":1,"reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":10},"label":"true","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{"device_first_seen_epoch_seconds":1732314700},"label":"true","model":"changed_device","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":"headless","bot_class":"bad"},"label":"true","model":"bot_framework","score":1,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"true","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":10},"label":"true","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":true,"publicVPN":true,"osMismatch":true,"auxiliary":true,"relay":true},"label":"true","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"high","model":"behavioral_analytics_recognition","reasonCodes":[],"score":89.795411,"version":"1.0.0"},{"attributes":{},"label":"high","model":"transaction_risk","reasonCodes":["changed_device"],"score":1,"version":"2.0"},{"attributes":{},"label":"true","model":"remote_access","reasonCodes":[],"score":1,"version":"1.0"},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{},"label":false,"model":"call_in_progress","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":0,"version":"4.0"}]}},"example_transaction_signals_medium_risk":{"value":{"status":"SUCCESS","message":"Success","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_transaction_signals_medium_risk","product":"transaction","api_checkpoint_name":"transaction","registered_user_id":12345,"nid_version":"2025-03-24"},"interactionAttributes":{"asn":{"asn":"20115","name":"CHARTER-20115","network":"47.224.0.0/17"},"deviceDetails":{"browserFullVersion":"63","browserMajorVersion":"773","browserName":"CustomApp","device":"iOS-Device","os":"iOS","osVersion":"","userAgent":"CustomApp/63 CFNetwork/1498.700.2 Darwin/23.6.0"},"deviceId":"111aaa222bbb333","ipGeoLocation":{"accuracyRadius":20,"city":{"name":"Paris"},"continent":{"code":"EU","name":"Europe"},"country":{"code":"FR","name":"France"},"latitude":48.8558,"longitude":2.3494,"postalCode":"75001","subdivisions":[{"isoCode":"IDF","name":"Île-de-France"},{"isoCode":"75","name":"Paris"}],"timezone":"Europe/Paris"},"deviceFirstSeenEpochSeconds":1734062290,"funnel":"FRA","hasFlashPlugin":false,"jsFrameWorks":["jQuery.js"],"screenResolution":[1124,648],"secondsSinceFirstSeen":11887417,"sessionStartTimeMs":1741277081128,"url":"website.com"},"signals":[{"version":"2.0","model":"automated_activity","label":"false","attributes":{},"score":0,"reasonCodes":[]},{"attributes":{"factory_reset_time_epoch_seconds":1732314700,"time_since_factory_reset_seconds":0},"label":"false","model":"recent_factory_reset","version":"2.0","reasonCodes":[]},{"attributes":{"device_first_seen_epoch_seconds":0},"label":"true","model":"changed_device","score":0.5,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"frida","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"emulator","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"jailbroken","version":"2.0","reasonCodes":[]},{"attributes":{"bot_type":null,"bot_class":"notDetected"},"label":"false","model":"bot_framework","score":0,"version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"cloned_app","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"public_proxy","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"false","model":"incognito","version":"2.0","reasonCodes":[]},{"attributes":{"count":0},"label":"false","model":"multiple_users_per_device","version":"2.0","reasonCodes":[]},{"attributes":{"originTimezone":"Europe/Berlin","originCountry":"unknown","timezoneMismatch":false,"publicVPN":false,"osMismatch":false},"label":"false","model":"vpn","version":"2.0","reasonCodes":[]},{"attributes":{},"label":"low","model":"behavioral_analytics_recognition","score":86.169952,"version":"1.0.0","reasonCodes":[]},{"attributes":{},"label":"medium","model":"transaction_risk","score":0.5,"version":"2.0","reasonCodes":["changed_device"]},{"attributes":{},"label":"true","model":"remote_access","score":1,"version":"1.0","reasonCodes":[]},{"attributes":{},"label":false,"model":"risky_device","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{},"label":false,"model":"call_in_progress","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"ip_allowlist","reasonCodes":[],"score":0,"version":"4.0"},{"attributes":{"customer_allowlist":false},"label":false,"model":"device_allowlist","reasonCodes":[],"score":0,"version":"4.0"}]}}}}}},"400":{"description":"Bad Request -- Your request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseError"},"examples":{"example_missing_required_query_parameter":{"value":{"status":"MISSING_REQUIRED_QUERY_PARAMETER","message":"Missing a required query parameter"}},"example_bad_request":{"value":{"status":"BAD_REQUEST","message":"Malformed request"}}}}}},"401":{"description":"Bad Request -- Your request is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseError"},"examples":{"example_missing_api_key":{"value":{"status":"MISSING_API_KEY","message":"Missing API key"}},"example_unauthorized_access":{"value":{"status":"UNAUTHORIZED_ACCESS","message":"Invalid API key"}}}}}},"403":{"description":"Access denied","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BaseError"},"examples":{"example_access_denied":{"value":{"status":"ACCESS_DENIED","message":"Access denied"}}}}}},"404":{"description":"Resource not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotFoundError"},"examples":{"example_not_found":{"value":{"status":"NOT_FOUND","message":"Resource not found","query":{"request_id":"req_12345","request_timestamp_ms":1741277081128,"identity_id":"example_account_defense_signals_not_risky","product":"account_defense","api_checkpoint_name":"login","registered_user_id":12345,"nid_version":"2025-03-24"}}}}}}}}}}},"components":{"schemas":{"ResultObject":{"title":"Result Object","type":"object","additionalProperties":false,"required":["status","message","query","interactionAttributes","signals"],"properties":{"status":{"$ref":"#/components/schemas/StatusCode"},"message":{"type":"string"},"query":{"$ref":"#/components/schemas/QueryObject"},"interactionAttributes":{"$ref":"#/components/schemas/InteractionAttributes"},"signals":{"description":"An array of signal dictionary objects. The exact set returned depends on the product requested and the license purchased.\n\nNote: The order of signals in this array is not guaranteed and may change over time as new signals are introduced. Developers should not iterate through the array using positional indices. Instead, use the signal dictionary objects and their identifiers to access specific signals reliably.\n\nPlease note that the signal array includes signals relevant to mobile and web platforms. It is recommended to ignore signals that are not relevant for your platform. Platform specific signals are called out in the per-signal documentation.\n","type":"array","items":{"anyOf":[{"$ref":"#/components/schemas/FamiliaritySignal"},{"$ref":"#/components/schemas/FraudRingIndicatorSignal"},{"$ref":"#/components/schemas/CombinedDigitalIntentSignal"},{"$ref":"#/components/schemas/CustomAttributesSignal"},{"$ref":"#/components/schemas/RiskyDeviceSignal"},{"$ref":"#/components/schemas/AtoRiskSignal"},{"$ref":"#/components/schemas/AoRiskSignal"},{"$ref":"#/components/schemas/TransactionRiskSignal"},{"$ref":"#/components/schemas/RemoteAccessDetectionSignal"},{"$ref":"#/components/schemas/BehavioralAnalyticsRecognitionSignal"},{"$ref":"#/components/schemas/MultipleUsersPerDeviceSignal"},{"$ref":"#/components/schemas/ChangedDeviceSignal"},{"$ref":"#/components/schemas/FridaSignal"},{"$ref":"#/components/schemas/JailbrokenSignal"},{"$ref":"#/components/schemas/GPSSpoofingSignal"},{"$ref":"#/components/schemas/ClonedAppSignal"},{"$ref":"#/components/schemas/EmulatorSignal"},{"$ref":"#/components/schemas/RecentFactoryResetSignal"},{"$ref":"#/components/schemas/CallInProgressSignal"},{"$ref":"#/components/schemas/BotFrameworkSignal"},{"$ref":"#/components/schemas/AutomatedActivitySignal"},{"$ref":"#/components/schemas/VPNSignal"},{"$ref":"#/components/schemas/PublicProxySignal"},{"$ref":"#/components/schemas/IncognitoSignal"},{"$ref":"#/components/schemas/TorExitNodeSignal"},{"$ref":"#/components/schemas/IPAddressAssociationSignal"},{"$ref":"#/components/schemas/IPBlocklistSignal"},{"$ref":"#/components/schemas/DeviceBlocklistSignal"},{"$ref":"#/components/schemas/IPAllowlistSignal"},{"$ref":"#/components/schemas/DeviceAllowlistSignal"},{"$ref":"#/components/schemas/RapidLocationChangeSignal"}],"discriminator":{"propertyName":"model"}}}}},"InteractionAttributes":{"title":"Interaction attributes","description":"Dictionary of information about the session. Future versions of the api may add extra key-value data to this object.","type":"object","additionalProperties":false,"properties":{"deviceId":{"type":"string","example":"12345dfgq3"},"ipGeoLocation":{"$ref":"#/components/schemas/IPGeoLocation"},"deviceDetails":{"$ref":"#/components/schemas/DeviceDetails"},"asn":{"$ref":"#/components/schemas/asn"},"deviceFirstSeenEpochSeconds":{"type":"integer","example":1734062290},"sessionStartTimeMs":{"type":"integer","description":"Session start time in epoch milliseconds (utc)","example":1743464562387},"secondsSinceFirstSeen":{"type":"integer","description":"Seconds elapsed since the device ID was first seen","example":1744919929},"funnel":{"type":"string","description":"Identifies the user's entry point for the form"},"cookiesEnabled":{"type":"boolean","example":true},"hasFlashPlugin":{"type":"boolean","example":false},"jsFrameWorks":{"type":"array","items":{"type":"string","example":"jQuery.js"}},"screenResolution":{"description":"array of two integers representing horizontal and vertical resolutions of device screen","type":"array","items":{"type":"integer","example":1124}},"url":{"type":"string","example":"website.com/form.html"}}},"IPGeoLocation":{"title":"IP Geolocation","description":"Geolocation information","type":"object","properties":{"accuracyRadius":{"type":"integer","example":50},"latitude":{"type":"number","example":48.4106},"longitude":{"type":"number","example":114.3353},"postalCode":{"type":"string","example":"59937"},"timezone":{"type":"string","example":"America/Denver"},"city":{"type":"object","properties":{"name":{"type":"string","example":"Whitefish"}}},"country":{"type":"object","properties":{"code":{"type":"string","example":"US"},"name":{"type":"string","example":"United States"}}},"continent":{"type":"object","properties":{"code":{"type":"string","example":"NA"},"name":{"type":"string","example":"North America"}}},"subdivisions":{"type":"array","items":{"type":"object","properties":{"isoCode":{"type":"string","example":"MT"},"name":{"type":"string","example":"Montana"}}}}}},"DeviceDetails":{"title":"Device details","description":"Device metadata","type":"object","properties":{"os":{"type":"string","example":"Android"},"osVersion":{"type":"string","example":"10"},"browserName":{"type":"string","example":"Chrome Mobile"},"browserMajorVersion":{"type":"string","example":"132"},"userAgent":{"type":"string","example":"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Mobile Safari/537.36"},"device":{"type":"string","example":"Generic Smartphone"},"browserFullVersion":{"type":"string","example":"132.0.0"}}},"asn":{"title":"Asn (Autonomous system number)","description":"Autonomous system number information","properties":{"asn":{"type":"string","example":"20111"},"name":{"type":"string","example":"charter-20111"},"network":{"type":"string","example":"47.2.0.0/17"}}},"QueryObject":{"title":"Query Object","description":"Echoing back information about the parameters in the query and debugging information. Key name formatting match calling convention on api.","type":"object","additionalProperties":false,"properties":{"request_id":{"type":"string","description":"The server assigned identifier for this request"},"request_timestamp_ms":{"type":"integer","description":"The timestamp in epoch milliseconds (utc) of this request"},"identity_id":{"type":"string","description":"The identity_id in the request"},"product":{"type":"string","description":"The product in the request"},"api_checkpoint_name":{"type":"string","description":"The api_checkpoint_name in the request"},"registered_user_id":{"type":"string","description":"The registered user id in the request"},"nid_version":{"type":"string","description":"Sub version of the api, e.g. 2025-03-15","example":"2025-03-25"}}},"BaseSignal":{"type":"object","required":["model","version","score","label"],"properties":{"model":{"description":"The name of the signal","type":"string"},"version":{"description":"The version of the signal","type":"string","example":"1.0"},"score":{"type":"number","example":0.5},"label":{"type":"string"},"reasonCodes":{"description":"Array of string reason codes","type":"array","items":{"type":"string","example":"A1010"}},"attributes":{"type":"object","description":"This field contains a dictionary of metadata associated with the signal. Each signal has a different set of attributes.\nIndividual signals are documented with the expected attributes for each type.\nThe dictionary is normally key-value pairs, but in some cases there are nested dictionaries (for example see custom attributes)\n"}}},"AutomatedActivitySignal":{"title":"automated_activity","description":"The automated_activity signal flags that this session has automated behaviors.\n\nThe label field is a string with values:\n\n* `true` means the user is exhibiting behavior associated with a malicious bot.\n* `false` means the user is not exhibiting behavior associated with a malicious bot.\n\nThere are no attributes for automated activity.\n\nAdditional details about the session are reflected in the reason codes and the customer portal using the Activity Types listed below:\n\n* `Unusual Activity` - An Unusual Activity label will trigger on TRUE if malicious bot activity was observed within the navigation of the browser or application.\n* `Suspicious Browser` - A Suspicious Browser label will trigger on TRUE if configurations within the browser being used are indicative of malicious bot activity.\n* `Automated Data Entry` - An Automated Data Entry label will trigger on TRUE if malicious bot activity is observed in how data is being entered.\n* `Not Automated` - A Not Automated label will trigger on FALSE if no malicious bot activity was observed.\n* `Legitimate Bot` - A Legitimate Bot label is specific to version 2.0 and will trigger on FALSE if legitimate bot activity from web crawlers, web scrapers, and search engine bots was observed.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["automated_activity"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"description":"No attributes provided","type":"object"},"reasonCodes":{"description":"Array of additional details about the session","type":"array","items":{"type":"string","example":["Unusual Activity","Not Automated"]}}}}]},"CombinedDigitalIntentSignal":{"title":"combined_digital_intent","description":"The combined_digital_intent signal is a classification of the user's intent based on the outcomes of Familiarity, Fraud Ring Indicator, and Automated Activity.\n\nThe label field is a string.\n\n* `genuine` means the user exhibited behavior reflective of pulling their personal information from their long-term memory.\n* `neutral` means the user has not exhibited behavior that could be classified as Genuine or Risky.\n* `risky` means the user has demonstrated suspicious behavior across the application.\n* `insufficient data` means the user has not interacted with enough of the application to make a decision.\n\nThere are no attributes for combined_digital_intent.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["combined_digital_intent"]},"label":{"type":"string","enum":["genuine","neutral","risky","insufficient data"]},"attributes":{"description":"No attributes provided","type":"object"}}}]},"CustomAttributesSignal":{"title":"custom_attributes","description":"These attributes are configured to be specific to your mobile/web application. These attributes require configuration in your application's site-config. These attributes are tied to specific targets on your mobile/web application.\n\n*Important note on target names in regards to custom attributes*\n\nIf target names change on your mobile/web application, that are configured for custom attributes, they will no longer be available in the API response. You must update your backend application that consumes these attributes to consume the newly named targets.\n\nThe version field contains the version of the configured attributes. This is set your application's site-config when attributes are configured and is incremented as custom_attributes are updated on your site. This field follows the pattern: major.minor.patch\n\nThe attributes field contains a dictionary of attributes. The key of the dictionary is the target name configured in your application's site-config.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["custom_attributes"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"description":"nested dictionary giving behavior data by target","type":"object","example":{"context":{"is_pc":true},"#your_app_field_target_2":{"interaction_count":1,"transition_to_entry_ratio":0.2616580310880829,"left_window":0,"transition_type__is_in_page_copy":0,"transition_type__is_flip":0,"transition_type__is_autofill":0,"transition_type__is_auto_advance":0,"transition_type__is_kbd":0,"transition_type__is_back":0,"transition_type__is_tap":0,"transition_type__is_mouse":1,"transition_type__is_other":0,"transition_pause_to_movement_ratio":0,"transition_is_suspicious":0,"transition_deviation":1.1518665435331068,"entry_type__is_paste":0,"entry_type__is_assist":0,"entry_type__is_autofill":0,"entry_type__is_kbd":0,"entry_type__is_transcribe":0,"entry_type__is_slow":0,"entry_type__is_fast":0,"entry_type__is_type":1,"entry_type__is_no_change":0,"entry_type__is_unknown":0,"entry_type__is_password":0,"entry_type__is_click":0,"entry_type__is_flip":0,"entry_type__is_other":0,"entry_has_support":0,"entry_shortcut_cnt":0,"entry_pause_to_interacting_ratio":0,"entry_typing_fluency":null,"entry_has_edits":0,"entry_pause_cnt":0},"#your_app_field_target_1":{"interaction_count":1,"transition_to_entry_ratio":0.25,"left_window":0,"transition_type__is_in_page_copy":0,"transition_type__is_flip":0,"transition_type__is_autofill":0,"transition_type__is_auto_advance":0,"transition_type__is_kbd":0,"transition_type__is_back":0,"transition_type__is_tap":0,"transition_type__is_mouse":1,"transition_type__is_other":0,"transition_pause_to_movement_ratio":0,"transition_is_suspicious":0,"transition_deviation":1.2082106550915572,"entry_type__is_paste":0,"entry_type__is_assist":0,"entry_type__is_autofill":0,"entry_type__is_kbd":0,"entry_type__is_transcribe":0,"entry_type__is_slow":0,"entry_type__is_fast":0,"entry_type__is_type":1,"entry_type__is_no_change":0,"entry_type__is_unknown":0,"entry_type__is_password":0,"entry_type__is_click":0,"entry_type__is_flip":0,"entry_type__is_other":0,"entry_has_support":0,"entry_shortcut_cnt":0,"entry_pause_to_interacting_ratio":0,"entry_typing_fluency":null,"entry_has_edits":0,"entry_pause_cnt":0}}}}}]},"FraudRingIndicatorSignal":{"title":"fraud_ring_indicator","description":"The fraud_ring_indicator signal flags that this session has behavior associated to fraud ring activities.\n\nThe label field is a string.\n\n* `true` means the applicant has behavior associated to fraud ring activities.\n\n* `false` means the applicant did not have behavior associated to fraud ring activities.\n\nThere are no attributes for Fraud Ring Indicator.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["fraud_ring_indicator"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"description":"No attributes provided","type":"object"}}}]},"AtoRiskSignal":{"title":"ato_risk","description":"The ato_risk signal is a heuristic signal that identifies the risk of a login being tied to an account takeover attempt. This signal leverages behavior, device, and network data features to analyze new and returning users.\n\nThe label field is a string.\n\n* `high` indicates high likelihood that a login is associated with an account takeover attempt.\n* `medium` indicates moderate likelihood that a login is associated with an account takeover attempt.\n* `low` indicates low likelihood that a login is associated with an account takeover attempt.\n* `insufficient data` indicates that this is the first observed session for a user or the current session does not have enough user interaction to determine account takeover risk.\n\nThe score field is a numeric value representing whether or not a session is associated with an account takeover attempt. A value of 0.0 indicates the session is not likely to be related to an account takeover, and a value of 1.0 indicates high risk that the session is related to an account takeover.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["ato_risk"]},"label":{"type":"string","enum":["high","medium","low","insufficient data"]}}}]},"AoRiskSignal":{"title":"ao_risk","description":"The ao_risk signal is a heuristic signal that identifies the risk of an account opening being tied to fraudulent activity. This signal leverages behavior, device, and network data features to analyze new users and returning devices.\n\nThe label field is a string.\n\n* `high` indicates high likelihood that an account opening is associated with fraudulent activity.\n* `medium` indicates moderate likelihood that an account opening is associated with fraudulent activity.\n* `low` indicates low  likelihood that an account opening is associated with fraudulent activity.\n* `insufficient data` indicates that the current session does not have enough user interaction to determine risk.\n\nThe score field is a numeric value representing whether or not a session is associated with fraudulent activity. A value of 0.0 indicates the session is not likely to be related to fraudulent activity, and a value of 1.0 indicates high risk that the session is related to fraudulent activity.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["ao_risk"]},"label":{"type":"string","enum":["high","medium","low","insufficient data"]},"reasonCodes":{"description":"Array of additional details about the session","type":"array","items":{"type":"string","example":["first_contact"]}}}}]},"TransactionRiskSignal":{"title":"transaction_risk","description":"The transaction_risk signal is a heuristic signal that identifies the risk of the active session being tied to an account takeover attempt. This signal leverages behavior, device, and network data features to analyze new and returning users. This signal should be called after the user has logged in, before a transaction occurs.\n\nThe label field is a string.\n\n* `high` indicates high likelihood that the transaction occurring is associated with an account takeover attempt.\n* `medium` indicates moderate likelihood that the transaction occurring is associated with an account takeover attempt.\n* `low` indicates low likelihood that the transaction occurring is associated with an account takeover attempt.\n* `insufficient data` indicates that this is the first observed session for a user or the current session does not have enough user interaction to determine account takeover risk.\n\nThe score field is a numeric value representing whether or not a session is associated with an account takeover attempt. A value of 0.0 indicates the session is not likely to be related to an account takeover, and a value of 1.0 indicates high risk that the session is related to an account takeover.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["transaction_risk"]},"label":{"type":"string","enum":["high","medium","low","insufficient data"]}}}]},"BehavioralAnalyticsRecognitionSignal":{"title":"behavioral_analytics_recognition","description":"The behavioral_analytics_recognition signal identifies sets of behavioral features (typing, swiping, etc.) that establish a profile to analyze sessions against.\n\nThe label field is a string containing one of the following:\n\n* `high` risk value indicates different observed behavior.\n* `low` risk indicates similar behavior previously observed\n* `neutral` indicates a session with no behavior indicating risky or genuine.\n\nThe score field represents a numeric value with a value between 0 - 100. A score of 0 indicates that the current login behavior is not the same as previous logins, and a score of 100 indicates that the current login behavior is the same as previous logins.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["behavioral_analytics_recognition"]},"label":{"type":"string","enum":["high","low","neutral"]}}}]},"RemoteAccessDetectionSignal":{"title":"remote_access","description":"> Web only\n\nThe remote_access signal identifies if behaviors associated with a browser-based session are being controlled by remote access. This is a leading indicator of risk associated with scams and social engineering attacks.\n\nThe label field is a string.\n\n* `true` indicates that remote access behaviors were detected.\n* `false` indicates that remote access behaviors were not present.\n* `insufficient data` indicates that the user has not interacted with enough of the application to make a decision on remote access behaviors.\n\nThe score field is a numeric value representing whether or not remote access behaviors were detected. A value of 0.0 indicates the current session is not associated with remote access behaviors, and a value of 1.0 indicates remote access behaviors are present.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["remote_access"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"RiskyDeviceSignal":{"title":"risky_device","description":"\nThe risky_device signal identifies if a returning device has been previously associated with a high-risk application.\n\nThe label field is a string.\n\n* `true` indicates that the device was previously flagged as risky.\n* `false` indicates that the device was not previously flagged as risky.\n* `insufficient data` indicates that the user has not interacted with enough of the application to make a decision on risky device behavior.\n\nThe score field is a numeric value representing whether or not risky device behavior was detected. A value of 0.0 indicates the current session is not associated with risky device behaviors, and a value of 1.0 indicates risky device behaviors are present.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["risky_device"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"reasonCodes":{"description":"Array of signals that were found risky","type":"array","items":{"type":"string","example":["familiarity","fraud_ring_indicator"]}},"attributes":{"description":"This field contains a dictionary of signals that were found risky.\nIndividual signals are documented with the total number of occurrences and the timestamp of the latest occurrence.\n","type":"object","properties":{"id":{"type":"string","description":"Unique identifier for the signal","example":"GWX9yuzwkewsv0uEOF69"},"type":{"type":"string","description":"Type of identifier","enum":["device_id","client_id"],"example":"device_id"},"count":{"type":"integer","description":"Number of times the signal was found risky","example":1},"last_ts":{"type":"integer","description":"Timestamp of the most recent occurrence","example":1761600173082}}}}}]},"CallInProgressSignal":{"title":"call_in_progress","description":"> Mobile only\n\nThe call_in_progress signal identifies whether the device has an active phone call while interacting with the customer application. The attributes give information about how much behavior was observed while the phone call was active.\n\nThe label field is a string.\n\n* `true` indicates that there were call in progress events with 2 or greater number of target interactions.\n* `false` indicates that call in progress events did not occur with target interactions.\n* `insufficient data` indicates that the user has not interacted with enough of the application to make a decision on call in progress behavior.\n\nThe score field is a numeric value representing whether or not call in progress behavior was detected. A value of 0.0 indicates the current session is not associated with call in progress behavior, and a value of 1.0 indicates call in progress behavior is present.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["call_in_progress"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"keystroke_count":{"description":"Number of keystrokes typed while the phone call was active","type":"integer","example":5},"targets_with_data_entry":{"description":"List of targets with data entry","type":"array","example":["#input_1","#input_2"]},"targets_with_data_entry_count":{"description":"Number of unique targets with data entry while a call was in progress","type":"integer","example":2}}}}}]},"FamiliaritySignal":{"title":"familiarity","description":"The familiarity model provides information on how familiar a user is with the Personal Information data that they enter into your mobile/web application.\n\nThe label field contains one of high, medium, low, or insufficient data values where\n\n* `high` means the user is very familiar with the Personal Information data they are entering into the application.\n* `medium` means the user is somewhat familiar with the Personal Information data they are entering into the application.\n* `low` means the user is not familiar with the Personal Information data they are entering into the application.\n* `insufficient data` means the user has not interacted with enough of the application to make a decision on the user's familiarity.\n\nThe `score` field, if purchased, contains the raw value used in the label field.\n\nThe `reasonCodes` field, if purchased, contains the codes associated to the decisioning that resulted in the score of the model.\n","allOf":[{"type":"object"},{"required":["model","version","score","label"],"properties":{"model":{"type":"string","enum":["familiarity"]},"version":{"type":"string","description":"The version of the signal"},"score":{"description":"Numeric score for signal","type":"number","example":36.4},"label":{"type":"string","enum":["low","medium","high","insufficient data"]},"reasonCodes":{"description":"String reason codes describing background information for risk score/label","type":"array","items":{"type":"string","example":"A1010"}},"attributes":{"type":"object","description":"This field contains a dictionary of metadata associated with the signal. Each signal has a different set of attributes.\nIndividual signals are documented with the expected attributes for each type.\nThe dictionary is normally key-value pairs, but in some cases there are nested dictionaries (for example see custom attributes)\n"}},"discriminator":{"propertyName":"model"}}]},"BotFrameworkSignal":{"title":"bot_framework","description":"\nThe bot_framework signal identifies if a device has properties that are typically associated with automation tools.\n\nThe label field is a string.\n\n* `true` means the device of the applicant has properties associated with automation tools.\n* `false` means the device of the applicant does not have properties associated with automation tools.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["bot_framework"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"bot_type":{"description":"The type of framework detected","type":"string"},"bot_class":{"description":"The classification of the bot into `good` - legitimate (e.g web crawler or search engine), `bad` - more likely to be malicious, or `notDetected`.","type":"string","enum":["good","bad","notDetected"]}}}}}]},"DeviceBlocklistSignal":{"title":"device_blocklist","description":"The device_blocklist signal identifies if the device is associated with a blocklist you have provided or one of the available NeuroID blocklists.\n\nThe label field is a string.\n\n* `true` means the device is associated with a blocklist.\n* `false`  means the device is not associated with a blocklist.\n\nThe attributes field has the following values:\n\n* `customer_blocklist` - A boolean signaling the deviceId for a device was identified on a blocklist that you have provided.\n* `global_blocklist` - A boolean signaling the deviceId for a device was found on the NeuroID blocklist of known fraudulent devices.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["device_blocklist"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"customer_blocklist":{"type":"boolean"},"global_blocklist":{"type":"boolean"}}}}}]},"RecentFactoryResetSignal":{"title":"recent_factory_reset","description":"> Mobile only\n\nThe recent_factory_reset signal identifies if a mobile device has been recently reset to the default factory settings. If a device has been reset to default factory settings, this signal also provides the time at which that occurred.\n\nThe label field is a string.\n\n* `true` means the device has been reset to default factory settings recently.\n* `false` value means the device has not been reset to default factory settings recently.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["recent_factory_reset"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"factory_reset_time_epoch_seconds":{"description":"timestamp of last factory reset. 0 if not present","type":"integer"},"time_since_factory_reset_seconds":{"type":"integer"}}}}}]},"ChangedDeviceSignal":{"title":"changed_device","description":"The changed_device signal identifies if the device used by a user has changed from the one observed previously.\n\nThe label field is a string.\n\n* `true` value means the device has not previously been used by this user\n* `false` value means the device had been previously used by this user\n* `insufficient data` means this is the first time we have seen this user\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["changed_device"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"device_first_seen_epoch_seconds":{"type":"integer","description":"Timestamp that device was first detected."}}}}}]},"GPSSpoofingSignal":{"title":"gps_spoofing","description":"> Mobile only\n\nThe gps_spoofing signal identifies if the location of a mobile device has been spoofed. Location spoofing is a common practice among fraudsters to fool fraud detection systems.\n\nNote: this signal requires the host app to be granted Location Permission for iOS.\n\nThe label field is a string.\n\n* `true` means the location of the mobile device has been spoofed.\n* `false` means the location of the mobile device has not been spoofed.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["gps_spoofing"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"IncognitoSignal":{"title":"incognito","description":"> Web only\n\nThe incognito signal identifies if the web browser accessing your web application is being run in incognito mode.\n\nThe label field is a string.\n\n* `true` means the web browser accessing your web application is being run in incognito mode.\n* `false` means the web browser accessing your web application is not being run in incognito mode.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["incognito"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"FridaSignal":{"title":"frida","description":"> Mobile only\n\nA boolean flagging if Frida is being used to instrument the app. Frida is a toolkit that fraudsters use to spoof an app at runtime and change its behavior.\n\nNote: this signal will always be false for web sessions.\n\n* `true` means Frida was detected\n* `false` means Frida was not detected\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["frida"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"EmulatorSignal":{"title":"emulator","description":"> Mobile only\n\nA boolean flagging if the device is running in simulator mode.\n\nNote: This signal will always be false for web sessions.\n\n* `true` means an emulator was detected\n* `false` means an emulator was not detected\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["emulator"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"JailbrokenSignal":{"title":"jailbroken","description":"> Mobile only\n\nA boolean flagging if the device has jailbroken applications installed on the device. This suggests the device has been jailbroken.\n\nNote: This signal will always be false for web sessions.\n\n* `true` means a jailbroken device was detected\n* `false` means a jailbroken device was not detected\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["jailbroken"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"IPAddressAssociationSignal":{"title":"ip_address_association","description":"The ip_address_association signal identifies if the public IP of the user is associated with known IP addresses of various cloud providers.\n\nThe label field is a string.\n\n* `true` means the public IP of the user is associated with a known IP address of various cloud providers.\n* `false` means the public IP of the user is not associated with a known IP address of various cloud providers.\n\nThe attributes field has the following values:\n\n* `aws_ip_set` - A boolean signaling the public IP address of the user is associated with the AWS (Amazon Web Services) public IP list.\n* `azure_*` - A boolean signaling the public IP address of the user is associated with one of Microsoft Azure's public IP lists. The different lists from Microsoft Azure are: China, Germany, Government, and Public.\n* `digital_ocean_ip_set` - A boolean signaling the public IP address of the user is associated with the Digital Ocean public IP list.\n* `google_ip_set` - A boolean signaling the public IP address of the user is associated with the Google Cloud public IP list.\n* `vultr_ip_set` - A boolean signaling the public IP address of the user is associated with the Vultr public IP list.\n* `oracle_ip_set` - A boolean signaling the public IP address of the user is associated with the Oracle public IP list.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["ip_address_association"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"aws_ip_set":{"type":"boolean"},"azure_china_ip_set":{"type":"boolean"},"azure_germany_ip_set":{"type":"boolean"},"azure_government_ip_set":{"type":"boolean"},"azure_public_ip_set":{"type":"boolean"},"digital_ocean_ip_set":{"type":"boolean"},"google_ip_set":{"type":"boolean"},"vultr_ip_set":{"type":"boolean"},"oracle_ip_set":{"type":"boolean"}}}}}]},"IPBlocklistSignal":{"title":"ip_blocklist","description":"The ip_blocklist signal identifies if the public IP of the user is associated with a blocklist you have provided or one of the available NeuroID blocklists.\n\nThe label field is a string.\n\n* `true` value means the public IP of the user is found on a blocklist\n* `false` value means the public IP of the user is not found on a blocklist\n\nThe attributes field has the following values:\n\n* `customer_blocklist` - A boolean signaling the public IP address of the user was found on a blocklist that you provided.\n* `global_blocklist` - A boolean signaling the public IP address of the user was found on the NeuroID blocklist of known fraudulent IP addresses.\n* `partner_blocklist` - A boolean signaling the public IP address of the user was found on a blocklist provided by third party partners.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["ip_blocklist"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"customer_blocklist":{"type":"boolean"},"global_blocklist":{"type":"boolean"},"partner_blocklist":{"type":"boolean"}}}}}]},"VPNSignal":{"title":"vpn","description":"The vpn signal identifies if the public IP of the user is associated with a VPN (Virtual Private Network) Provider. A VPN creates an encrypted tunnel for your customers that hides their IP address, and encrypts the data sent across the web.\n\nThe label field is a string.\n\n* `true` value means the public IP of the user is associated with a VPN provider.\n* `false` value means the public IP of the user is not associated with a VPN provider.\n\nInformational attributes are provided indicating the properties of the vpn connection. These are device type dependent. More details available on request.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["vpn"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"originTimezone":{"type":"string"},"originCountry":{"type":"string"},"timezoneMismatch":{"type":"boolean"},"publicVPN":{"type":"boolean"},"osMismatch":{"type":"boolean"},"relay":{"type":"boolean"},"auxiliary":{"type":"boolean"}}}}}]},"TorExitNodeSignal":{"title":"tor_exit_node","description":"The tor_exit_node signal identifies if the public IP of the user is associated with a TOR (The Onion Router) exit node.\n\nThe label field is a string.\n\n* `true` means the public IP of the user is associated with a TOR exit node.\n* `false` means the public IP of the user is not associated with a TOR exit node.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["tor_exit_node"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"ClonedAppSignal":{"title":"cloned_app","description":"> Mobile only\n\nAndroid specific cloned application detection.\n\nThe label field is a string.\n\n* `true` means app cloners detected\n* `false` means no app cloners detected\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["cloned_app"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"PublicProxySignal":{"title":"public_proxy","description":"The public_proxy signal identifies if the public IP of the user is associated with a proxy server. A proxy server acts as an intermediary server separating end users from web pages they visit.\n\nThe label field is a string.\n\n* `true` value means the public IP of the user is associated with a proxy network provider.\n* `false` value means the public IP of the user is not associated with a proxy network provider.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["public_proxy"]},"label":{"type":"string","enum":["true","false","insufficient data"]}}}]},"MultipleUsersPerDeviceSignal":{"title":"multiple_users_per_device","description":"The multiple_users_per_device signal identifies if multiple users are associated with a single device.\n\nThe label field is a string.\n\n* `true` indicates the number of userIDs associated with a device exceeds the threshold.\n* `false` indicates the number of userIDs associated with a device does not exceed the threshold.\n\nThe multiple_users_per_device_threshold is configured by NeuroID based on the application type and has a default of 3 sessions.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["multiple_users_per_device"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"count":{"type":"integer","description":"count of the total number of users associated with the device"}}}}}]},"DeviceAllowlistSignal":{"title":"device_allowlist","description":"The device_allowlist signal identifies if the device is associated with a allowlist you have provided.\n\nThe label field is a string.\n\n* `true` means the device is associated with a allowlist.\n* `false`  means the device is not associated with a allowlist.\n\nThe attributes field has the following values:\n\n* `customer_allowlist` - A boolean signaling the deviceId for a device was identified on a allowlist that you have provided.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["device_allowlist"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"customer_allowlist":{"type":"boolean"}}}}}]},"IPAllowlistSignal":{"title":"ip_allowlist","description":"The ip_allowlist signal identifies if the public IP of the user is associated with a allowlist you have provided.\n\nThe label field is a string.\n\n* `true` value means the public IP of the user is found on the allowlist\n* `false` value means the public IP of the user is not found on the allowlist\n\nThe attributes field has the following values:\n\n* `customer_allowlist` - A boolean signaling the public IP address of the user was found on a allowlist that you provided.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["ip_allowlist"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"customer_allowlist":{"type":"boolean"}}}}}]},"RapidLocationChangeSignal":{"title":"rapid_location_change","description":"The rapid_location_change signal determines the distance a user has traveled since their most recent session.\n\nThe max_travel_speed_km_h is configured to 1059 kilometers per hour. This speed corresponds with the max speed of a Boeing 747-8, which is the fastest commercial airplane today.\n\nThe label field is a string.\n\n* `true` means the user has traveled an unrealistic distance since the last session. The user's distance over time since the last session exceeds the max_travel_speed_km_h.\n* `false` means indicates the user has not traveled an unrealistic distance since the last session. The user's distance over time since the last session does not exceed the max_travel_speed_km_h.\n\nThe attributes field has the following values:\n\n* `distance` - A numeric value representing the total distance in kilometers between the user's current session and the user's most recent previous session.\n* `time_hours` - A numeric value representing the total time in hours between the user's current session and the user's most recent previous session.\n","allOf":[{"$ref":"#/components/schemas/BaseSignal"},{"type":"object","properties":{"model":{"type":"string","enum":["rapid_location_change"]},"label":{"type":"string","enum":["true","false","insufficient data"]},"attributes":{"type":"object","properties":{"distance":{"type":"number","example":650.5},"time_hours":{"type":"number","example":0.5}}}}}]},"StatusCode":{"title":"Status Code","type":"string","enum":["SUCCESS","MISSING_API_KEY","NOT_ENOUGH_INTERACTION_DATA","PROFILE_NOT_FOUND","UNAUTHORIZED_ACCESS","UNAUTHORIZED_API_KEY","BAD_REQUEST","MISSING_REQUIRED_QUERY_PARAMETER","MISSING_REQUIRED_QUERY_PARAM","NOT_FOUND","ACCESS_DENIED","NOT_ACCEPTABLE","UNKNOWN_ERROR"]},"BaseError":{"title":"Base Error","type":"object","properties":{"status":{"$ref":"#/components/schemas/StatusCode"},"message":{"description":"Long form description of the error","type":"string"}},"required":["status","message"]},"NotFoundError":{"title":"Not Found Error","allOf":[{"$ref":"#/components/schemas/BaseError"},{"type":"object","properties":{"query":{"$ref":"#/components/schemas/QueryObject"}}}]}},"securitySchemes":{"api_key":{"type":"apiKey","name":"api-key","in":"header"}}},"x-readme":{"explorer-enabled":true,"proxy-enabled":true}}