Documentation Index
Fetch the complete documentation index at: https://docs.fingerprint.com/llms.txt
Use this file to discover all available pages before exploring further.
Add your Secret API Key to the Authorization header using the standard Bearer format: Authorization: Bearer <secret_api_key>
If configured, a Webhook event will be posted to the provided endpoint. The webhook has the same data as our /v4/events endpoint.
Contains results from Fingerprint Identification and all active Smart Signals.
Unique identifier of the user's request. The first portion of the event_id is a unix epoch milliseconds timestamp For example: 1758130560902.8tRtrH
Timestamp of the event with millisecond precision in Unix time.
Only included for requests using incremental identification.
partially_completed - Indicates this event corresponds to a 'minimal' request. Smart Signals, even if included in your plan, are not computed; hence, their values must be ignored.completed - Indicates this event corresponds to a 'complete' request. Smart Signals, if included in your plan, are computed; hence, their values are valid and relevant.partially_completed, completed A customer-provided id that was sent with the request.
Environment Id of the event. For example: ae_47abaca3db2c7c43
Field is true if you have previously set the suspect flag for this event using the Server API Update event endpoint.
Contains information about the SDK used to perform the request.
true if we determined that this payload was replayed, false otherwise.
The High Recall ID is a supplementary browser identifier designed for use cases that require wider coverage over precision. Compared to the standard visitor ID, the High Recall ID strives to match incoming browsers more generously (rather than precisely) with existing browsers and thus identifies fewer browsers as new. The High Recall ID is best suited for use cases that are sensitive to browsers being identified as new and where mismatched browsers are not detrimental.
A customer-provided value or an object that was sent with the identification request or updated later.
Page URL from which the request was sent. For example https://example.com/
Bundle Id of the iOS application integrated with the Fingerprint SDK for the event. For example: com.foo.app
Package name of the Android application integrated with the Fingerprint SDK for the event. For example: com.foo.app
IP address of the requesting browser or bot.
User Agent of the client, for example: Mozilla/5.0 (Windows NT 6.1; Win64; x64) ....
Client Referrer field corresponds to the document.referrer field gathered during an identification request. The value is an empty string if the user navigated to the page directly (not through a link, but, for example, by using a bookmark) For example: https://example.com/blog/my-article
Proximity ID represents a fixed geographical zone in a discrete global grid within which the device is observed.
Bot detection result:
bad - bad bot detected, such as Selenium, Puppeteer, Playwright, headless browsers, and so ongood - good bot detected, such as Google bot, Baidu Spider, AlexaBot and so onnot_detected - the visitor is not a botbad, good, not_detected Additional classification of the bot type if detected.
Extended bot information.
Android specific cloned application detection. There are 2 values:
true - Presence of app cloners work detected (e.g. fully cloned application found or launch of it inside of a not main working profile detected).false - No signs of cloned application detected or the client is not Android.true if the browser has DevTools open (Chrome, Firefox) or the Android/iOS device has Developer Tools enabled, false otherwise.
Android specific emulator detection. There are 2 values:
true - Emulated environment detected (e.g. launch inside of AVD).false - No signs of emulated environment detected or the client is not Android.The time of the most recent factory reset that happened on the mobile device is expressed as Unix epoch time. When a factory reset cannot be detected on the mobile device or when the request is initiated from a browser, this field will correspond to the epoch time (i.e 1 Jan 1970 UTC) as a value of 0. See Factory Reset Detection to learn more about this Smart Signal.
Details about the request IP address. Has separate fields for v4 and v6 IP address versions.
IP address was used by a public proxy provider or belonged to a known recent residential proxy
Confidence level of the proxy detection. If a proxy is not detected, confidence is "high". If it's detected, can be "low", "medium", or "high".
low, medium, high Proxy detection details (present if proxy is true)
Machine learning–based proxy score, represented as a floating-point value between 0 and 1 (inclusive), with up to three decimal places of precision. A higher score means a higher confidence in the positive proxy detection result. This Smart Signal is currently in beta and only available to select customers. If you are interested, please contact our support team.
0 <= x <= 1true if we detected incognito mode used in the browser, false otherwise.
iOS specific jailbreak detection. There are 2 values:
true - Jailbreak detected.false - No signs of jailbreak or the client is not iOS.Flag indicating whether the request came from a mobile device with location spoofing enabled.
true - When requests made from your users' mobile devices to Fingerprint servers have been intercepted and potentially modified.false - Otherwise or when the request originated from a browser.
See MitM Attack Detection to learn more about this Smart Signal.true if the request is from a privacy aware browser (e.g. Tor) or from a browser in which fingerprinting is blocked. Otherwise false.
Android specific root management apps detection. There are 2 values:
true - Root Management Apps detected (e.g. Magisk).false - No Root Management Apps detected or the client isn't Android.Informs the client that the request should be forwarded to the origin with optional request header modifications.
iOS specific simulator detection. There are 2 values:
true - Simulator environment detected.false - No signs of simulator or the client is not iOS.Suspect Score is an easy way to integrate Smart Signals into your fraud protection work flow. It is a weighted representation of all Smart Signals present in the payload that helps identify suspicious activity. The value range is [0; S] where S is sum of all Smart Signals weights. See more details here: https://docs.fingerprint.com/docs/suspect-score
The field can be used as a standalone flag for tampering detection. Alternatively, the more granular fields documented below can be used for workflows that require more context.
true if tampering is detected through an anomalous browser signature, anti-detect browser detection, or other tampering-related methodsfalse if none of the tampering checks return a positive resultThe confidence level indicates how certain Fingerprint is that the current request involves browser tampering. This confidence level is determined by evaluating multiple factors, such as heuristic rules, probabilistic anomaly detection, an anti detect browser ml model, and other relevant methods. It is conveyed as a string with possible values such as high, medium, or low
In case of tampering: true
In case of tampering: false
low, medium, high The output of this model is captured as tampering_ml_score, a number indicating how likely an event is coming from an anti detect browser. Values close to 1 signify higher confidence and we consider anything above the threshold of 0.8 to be actionable (the result and anti_detect_browser fields conveniently captures that fact)
0 <= x <= 1Sums key data points for a specific visitor_id, ip_address and linked_id at three distinct time
intervals: 5 minutes, 1 hour, and 24 hours as follows:
The 24h interval of distinct_ip, distinct_linked_id, distinct_country,
distinct_ip_by_linked_id and distinct_visitor_id_by_linked_id will be omitted
if the number of events for the visitor Id in the last 24
hours (events.['24h']) is higher than 20.000.
All will not necessarily be returned in a response, some may be omitted if the associated event does not have the required data, such as a linked_id.
true if the request came from a browser running inside a virtual machine (e.g. VMWare), false otherwise.
Machine learning–based virtual machine score, represented as a floating-point value between 0 and 1 (inclusive), with up to three decimal places of precision. A higher score means a higher confidence in the positive virtual_machine detection result. This Smart Signal is currently in beta and only available to select customers. If you are interested, please contact our support team.
0 <= x <= 1VPN or other anonymizing service has been used when sending the request.
A confidence rating for the VPN detection result — "low", "medium", or "high". Depends on the combination of results returned from all VPN detection methods.
low, medium, high Local timezone which is used in timezone_mismatch method.
Country of the request (only for Android SDK version >= 2.4.0, ISO 3166 format or unknown).
Flag indicating if the request came from a high-activity visitor.
true if the device is considered rare based on its combination of hardware and software attributes. A device is classified as rare if it falls within the top 99.9 percentile (lowest-frequency segment) of observed traffic, or if its configuration has not been previously seen (not_seen).
This Smart Signal is currently in beta and only available to select customers. If you are interested, please contact our support team.
The rarity percentile bucket of the device, indicating how uncommon the device configuration is compared to all observed devices.
This Smart Signal is currently in beta and only available to select customers. If you are interested, please contact our support team.
<p95, p95-p99, p99-p99.5, p99.5-p99.9, p99.9+, not_seen A curated subset of raw browser/device attributes that the API surface exposes. Each property contains a value or object with the data for the collected signal.
Each label returns a prediction (true or false) for a specific use case (label field) based on a machine learning score. The machine learning score is determined by a model trained on customer data for that use case. This field is in the beta phase and only available to select customers. If you are interested, please contact our support team.
Return a 200 status to indicate that the data was received successfully