Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/dirty-eels-wash.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"java-sdk": minor
---

Add `Simulator` signal for iOS platform
5 changes: 5 additions & 0 deletions .changeset/nervous-boats-poke.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"java-sdk": minor
---

Add `VirtualMachineMlScore` field for `VirtualMachine` signal
5 changes: 5 additions & 0 deletions .changeset/ninety-scissors-laugh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"java-sdk": minor
---

Add `highRecallId` and `simulator` filters for the `SearchEvents` method
5 changes: 5 additions & 0 deletions .changeset/orange-coats-roll.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"java-sdk": minor
---

Add `TamperingConfidence` and `TamperingMlScore` fields for `Tampering` smart signal
5 changes: 5 additions & 0 deletions .changeset/tame-seals-breathe.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"java-sdk": patch
---

Remove `REQUEST_NOT_FOUND` value from the `ErrorCode` enum
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,7 @@ Class | Method | HTTP request | Description
- [IPInfoV6](docs/IPInfoV6.md)
- [Identification](docs/Identification.md)
- [IdentificationConfidence](docs/IdentificationConfidence.md)
- [IncrementalIdentificationStatus](docs/IncrementalIdentificationStatus.md)
- [Integration](docs/Integration.md)
- [IntegrationSubintegration](docs/IntegrationSubintegration.md)
- [PluginsInner](docs/PluginsInner.md)
Expand All @@ -333,9 +334,11 @@ Class | Method | HTTP request | Description
- [RuleActionType](docs/RuleActionType.md)
- [SDK](docs/SDK.md)
- [SearchEventsBot](docs/SearchEventsBot.md)
- [SearchEventsIncrementalIdentificationStatus](docs/SearchEventsIncrementalIdentificationStatus.md)
- [SearchEventsSdkPlatform](docs/SearchEventsSdkPlatform.md)
- [SearchEventsVpnConfidence](docs/SearchEventsVpnConfidence.md)
- [SupplementaryIDHighRecall](docs/SupplementaryIDHighRecall.md)
- [TamperingConfidence](docs/TamperingConfidence.md)
- [TamperingDetails](docs/TamperingDetails.md)
- [TouchSupport](docs/TouchSupport.md)
- [Velocity](docs/Velocity.md)
Expand Down
3 changes: 0 additions & 3 deletions docs/ErrorCode.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ Error code:
* `subscription_not_active` - Fingerprint workspace is not active.
* `wrong_region` - Server and workspace region differ.
* `feature_not_enabled` - This feature (for example, Delete API) is not enabled for your workspace.
* `request_not_found` - The specified event ID was not found. It never existed, expired, or it has been deleted.
* `visitor_not_found` - The specified visitor ID was not found. It never existed or it may have already been deleted.
* `too_many_requests` - The limit on secret API key requests per second has been exceeded.
* `state_not_ready` - The event specified with event ID is
Expand Down Expand Up @@ -46,8 +45,6 @@ Error code:

* `FEATURE_NOT_ENABLED` (value: `"feature_not_enabled"`)

* `REQUEST_NOT_FOUND` (value: `"request_not_found"`)

* `VISITOR_NOT_FOUND` (value: `"visitor_not_found"`)

* `TOO_MANY_REQUESTS` (value: `"too_many_requests"`)
Expand Down
5 changes: 5 additions & 0 deletions docs/Event.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Contains results from Fingerprint Identification and all active Smart Signals.
|------------ | ------------- | ------------- | -------------|
|**eventId** | **String** | 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** | **Long** | Timestamp of the event with millisecond precision in Unix time. | |
|**incrementalIdentificationStatus** | [**IncrementalIdentificationStatus**](IncrementalIdentificationStatus.md) | | [optional] |
|**linkedId** | **String** | A customer-provided id that was sent with the request. | [optional] |
|**environmentId** | **String** | Environment Id of the event. For example: `ae_47abaca3db2c7c43` | [optional] |
|**suspect** | **Boolean** | Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event endpoint](https://docs.fingerprint.com/reference/server-api-v4-update-event). | [optional] |
Expand Down Expand Up @@ -46,11 +47,15 @@ Contains results from Fingerprint Identification and all active Smart Signals.
|**privacySettings** | **Boolean** | `true` if the request is from a privacy aware browser (e.g. Tor) or from a browser in which fingerprinting is blocked. Otherwise `false`. | [optional] |
|**rootApps** | **Boolean** | 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. | [optional] |
|**ruleAction** | [**EventRuleAction**](EventRuleAction.md) | | [optional] |
|**simulator** | **Boolean** | iOS specific simulator detection. There are 2 values: * `true` - Simulator environment detected. * `false` - No signs of simulator or the client is not iOS. | [optional] |
|**suspectScore** | **Integer** | 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 | [optional] |
|**tampering** | **Boolean** | Flag indicating browser tampering was detected. This happens when either: * There are inconsistencies in the browser configuration that cross internal tampering thresholds (see `tampering_details.anomaly_score`). * The browser signature resembles an \"anti-detect\" browser specifically designed to evade fingerprinting (see `tampering_details.anti_detect_browser`). | [optional] |
|**tamperingConfidence** | [**TamperingConfidence**](TamperingConfidence.md) | | [optional] |
|**tamperingMlScore** | **Double** | A score that indicates the models calculated probability that an event is coming from an anti detect browser. * Values above `0.8` indicate that the request is an anti detect browser based on the ml model * Values below `0.8` indicate that the request is not an anti detect browser based on the ml model | [optional] |
|**tamperingDetails** | [**TamperingDetails**](TamperingDetails.md) | | [optional] |
|**velocity** | [**Velocity**](Velocity.md) | | [optional] |
|**virtualMachine** | **Boolean** | `true` if the request came from a browser running inside a virtual machine (e.g. VMWare), `false` otherwise. | [optional] |
|**virtualMachineMlScore** | **Double** | 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 | [optional] |
|**vpn** | **Boolean** | VPN or other anonymizing service has been used when sending the request. | [optional] |
|**vpnConfidence** | [**VpnConfidence**](VpnConfidence.md) | | [optional] |
|**vpnOriginTimezone** | **String** | Local timezone which is used in timezone_mismatch method. | [optional] |
Expand Down
19 changes: 14 additions & 5 deletions docs/FingerprintApi.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,8 @@ public class FingerprintApiExample {
FingerprintApi api = new FingerprintApi(FPJS_API_SECRET, Region.EUROPE);
Integer limit = 10; // Integer | Limit the number of events returned.
String paginationKey = "paginationKey_example"; // String | Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 100 results for your query using `limit`, but there are more than 100 events total matching your request), the `pagination_key` field is added to the response. The pagination key is an arbitrary string that should not be interpreted in any way and should be passed as-is. In the following request, use that value in the `pagination_key` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/events?limit=100` 2. Use `response.pagination_key` to get the next page of results: `GET api-base-url/events?limit=100&pagination_key=1740815825085`
String visitorId = "visitorId_example"; // String | Unique [visitor identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#visitor_id) issued by Fingerprint Identification and all active Smart Signals. Filter for events matching this `visitor_id`.
String visitorId = "visitorId_example"; // String | Unique [visitor identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#visitor_id) issued by Fingerprint Identification and all active Smart Signals. Filter events by matching Visitor ID (`identification.visitor_id` property).
String highRecallId = "highRecallId_example"; // String | 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. Filter events by matching High Recall ID (`supplementary_id_high_recall.visitor_id` property).
SearchEventsBot bot = SearchEventsBot.fromValue("all"); // SearchEventsBot | Filter events by the Bot Detection result, specifically: `all` - events where any kind of bot was detected. `good` - events where a good bot was detected. `bad` - events where a bad bot was detected. `none` - events where no bot was detected. > Note: When using this parameter, only events with the `bot` property set to a valid value are returned. Events without a `bot` Smart Signal result are left out of the response.
String ipAddress = "ipAddress_example"; // String | Filter events by IP address or IP range (if CIDR notation is used). If CIDR notation is not used, a /32 for IPv4 or /128 for IPv6 is assumed. Examples of range based queries: 10.0.0.0/24, 192.168.0.1/32
String asn = "asn_example"; // String | Filter events by the ASN associated with the event's IP address. This corresponds to the `ip_info.(v4|v6).asn` property in the response.
Expand Down Expand Up @@ -293,15 +294,18 @@ public class FingerprintApiExample {
Boolean proxy = true; // Boolean | Filter events by Proxy detection result. > Note: When using this parameter, only events with the `proxy` property set to `true` or `false` are returned. Events without a `proxy` Smart Signal result are left out of the response.
String sdkVersion = "sdkVersion_example"; // String | Filter events by a specific SDK version associated with the identification event (`sdk.version` property). Example: `3.11.14`
SearchEventsSdkPlatform sdkPlatform = SearchEventsSdkPlatform.fromValue("js"); // SearchEventsSdkPlatform | Filter events by the SDK Platform associated with the identification event (`sdk.platform` property) . `js` - Javascript agent (Web). `ios` - Apple iOS based devices. `android` - Android based devices.
List<String> environment = Arrays.asList(); // List<String> | Filter for events by providing one or more environment IDs (`environment_id` property).
List<String> environment = Arrays.asList(); // List<String> | Filter for events by providing one or more environment IDs (`environment_id` property). ### Array syntax To provide multiple environment IDs, use the repeated keys syntax (`environment=env1&environment=env2`). Other notations like comma-separated (`environment=env1,env2`) or bracket notation (`environment[]=env1&environment[]=env2`) are not supported.
String proximityId = "proximityId_example"; // String | Filter events by the most precise Proximity ID provided by default. > Note: When using this parameter, only events with the `proximity.id` property matching the provided ID are returned. Events without a `proximity` result are left out of the response.
Long totalHits = 56L; // Long | When set, the response will include a `total_hits` property with a count of total query matches across all pages, up to the specified limit.
Boolean torNode = true; // Boolean | Filter events by Tor Node detection result. > Note: When using this parameter, only events with the `tor_node` property set to `true` or `false` are returned. Events without a `tor_node` detection result are left out of the response.
SearchEventsIncrementalIdentificationStatus incrementalIdentificationStatus = SearchEventsIncrementalIdentificationStatus.fromValue("partially_completed"); // SearchEventsIncrementalIdentificationStatus | Filter events by their incremental identification status (`incremental_identification_status` property). Non incremental identification events are left out of the response.
Boolean simulator = true; // Boolean | Filter events by iOS Simulator Detection result. > Note: When using this parameter, only events with the `simulator` property set to `true` or `false` are returned. Events without a `simulator` Smart Signal result are left out of the response.
try {
EventSearch result = api.searchEvents(new FingerprintApi.SearchEventsOptionalParams()
.setLimit(limit)
.setPaginationKey(paginationKey)
.setVisitorId(visitorId)
.setHighRecallId(highRecallId)
.setBot(bot)
.setIpAddress(ipAddress)
.setAsn(asn)
Expand Down Expand Up @@ -337,7 +341,9 @@ public class FingerprintApiExample {
.setEnvironment(environment)
.setProximityId(proximityId)
.setTotalHits(totalHits)
.setTorNode(torNode));
.setTorNode(torNode)
.setIncrementalIdentificationStatus(incrementalIdentificationStatus)
.setSimulator(simulator));
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling FingerprintApi.searchEvents:" + e.getMessage());
Expand All @@ -362,7 +368,8 @@ Object containing optional parameters for API method. Supports a fluent interfac
|------------- | ------------- | ------------- | -------------|
| **limit** | **Integer**| Limit the number of events returned. | [optional] [default to 10] |
| **paginationKey** | **String**| Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 100 results for your query using `limit`, but there are more than 100 events total matching your request), the `pagination_key` field is added to the response. The pagination key is an arbitrary string that should not be interpreted in any way and should be passed as-is. In the following request, use that value in the `pagination_key` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/events?limit=100` 2. Use `response.pagination_key` to get the next page of results: `GET api-base-url/events?limit=100&pagination_key=1740815825085` | [optional] |
| **visitorId** | **String**| Unique [visitor identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#visitor_id) issued by Fingerprint Identification and all active Smart Signals. Filter for events matching this `visitor_id`. | [optional] |
| **visitorId** | **String**| Unique [visitor identifier](https://docs.fingerprint.com/reference/js-agent-v4-get-function#visitor_id) issued by Fingerprint Identification and all active Smart Signals. Filter events by matching Visitor ID (`identification.visitor_id` property). | [optional] |
| **highRecallId** | **String**| 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. Filter events by matching High Recall ID (`supplementary_id_high_recall.visitor_id` property). | [optional] |
| **bot** | **SearchEventsBot**| Filter events by the Bot Detection result, specifically: `all` - events where any kind of bot was detected. `good` - events where a good bot was detected. `bad` - events where a bad bot was detected. `none` - events where no bot was detected. > Note: When using this parameter, only events with the `bot` property set to a valid value are returned. Events without a `bot` Smart Signal result are left out of the response. | [optional] [enum: all, good, bad, none] |
| **ipAddress** | **String**| Filter events by IP address or IP range (if CIDR notation is used). If CIDR notation is not used, a /32 for IPv4 or /128 for IPv6 is assumed. Examples of range based queries: 10.0.0.0/24, 192.168.0.1/32 | [optional] |
| **asn** | **String**| Filter events by the ASN associated with the event's IP address. This corresponds to the `ip_info.(v4|v6).asn` property in the response. | [optional] |
Expand Down Expand Up @@ -395,10 +402,12 @@ Object containing optional parameters for API method. Supports a fluent interfac
| **proxy** | **Boolean**| Filter events by Proxy detection result. > Note: When using this parameter, only events with the `proxy` property set to `true` or `false` are returned. Events without a `proxy` Smart Signal result are left out of the response. | [optional] |
| **sdkVersion** | **String**| Filter events by a specific SDK version associated with the identification event (`sdk.version` property). Example: `3.11.14` | [optional] |
| **sdkPlatform** | **SearchEventsSdkPlatform**| Filter events by the SDK Platform associated with the identification event (`sdk.platform` property) . `js` - Javascript agent (Web). `ios` - Apple iOS based devices. `android` - Android based devices. | [optional] [enum: js, android, ios] |
| **environment** | **List&lt;String&gt;**| Filter for events by providing one or more environment IDs (`environment_id` property). | [optional] |
| **environment** | **List&lt;String&gt;**| Filter for events by providing one or more environment IDs (`environment_id` property). ### Array syntax To provide multiple environment IDs, use the repeated keys syntax (`environment=env1&environment=env2`). Other notations like comma-separated (`environment=env1,env2`) or bracket notation (`environment[]=env1&environment[]=env2`) are not supported. | [optional] |
| **proximityId** | **String**| Filter events by the most precise Proximity ID provided by default. > Note: When using this parameter, only events with the `proximity.id` property matching the provided ID are returned. Events without a `proximity` result are left out of the response. | [optional] |
| **totalHits** | **Long**| When set, the response will include a `total_hits` property with a count of total query matches across all pages, up to the specified limit. | [optional] |
| **torNode** | **Boolean**| Filter events by Tor Node detection result. > Note: When using this parameter, only events with the `tor_node` property set to `true` or `false` are returned. Events without a `tor_node` detection result are left out of the response. | [optional] |
| **incrementalIdentificationStatus** | **SearchEventsIncrementalIdentificationStatus**| Filter events by their incremental identification status (`incremental_identification_status` property). Non incremental identification events are left out of the response. | [optional] [enum: partially_completed, completed] |
| **simulator** | **Boolean**| Filter events by iOS Simulator Detection result. > Note: When using this parameter, only events with the `simulator` property set to `true` or `false` are returned. Events without a `simulator` Smart Signal result are left out of the response. | [optional] |

### Return type

Expand Down
19 changes: 19 additions & 0 deletions docs/IncrementalIdentificationStatus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@


# IncrementalIdentificationStatus
Only included for requests using incremental identification.
- `partially_completed` - the event did not receive the second "update" request.
- `completed` - the event was updated and all information is available.


## Enum


* `PARTIALLY_COMPLETED` (value: `"partially_completed"`)

* `COMPLETED` (value: `"completed"`)

* `UNSUPPORTED_VALUE_SDK_UPGRADE_REQUIRED` (value: `"unsupported_value_sdk_upgrade_required"`)



Loading
Loading