From 3d2ddc63f41bee80f0cc775fc4234d6dfba1efe5 Mon Sep 17 00:00:00 2001 From: Juraj Uhlar Date: Thu, 5 Mar 2026 14:19:10 +0000 Subject: [PATCH 1/6] docs: add deprecation warning pointing to new java sdk repo --- README.md | 3 +++ template/README.mustache | 3 +++ 2 files changed, 6 insertions(+) diff --git a/README.md b/README.md index 34842e12..13a26851 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +> [!WARNING] +> This repository is deprecated. Please use the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). +

diff --git a/template/README.mustache b/template/README.mustache index dfa6e872..ab76b541 100644 --- a/template/README.mustache +++ b/template/README.mustache @@ -1,3 +1,6 @@ +> [!WARNING] +> This repository is deprecated. Please use the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). +

From 0658903eca26ed9fe79492b3ae2a03f5f9f7196d Mon Sep 17 00:00:00 2001 From: Juraj Uhlar Date: Thu, 5 Mar 2026 14:25:10 +0000 Subject: [PATCH 2/6] docs: update deprecation warning in README files to point to latest SDK version --- README.md | 6 +++--- template/README.mustache | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 13a26851..428dbfd7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,3 @@ -> [!WARNING] -> This repository is deprecated. Please use the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). -

@@ -21,6 +18,9 @@ # Fingerprint Server API Java SDK +> [!WARNING] +> This repository is deprecated. Please use [latest version](https://github.com/fingerprintjs/java-sdk/releases/latest) of the SDK in the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). + [Fingerprint](https://fingerprint.com/) is a device intelligence platform offering industry-leading accuracy. The Fingerprint Server Java SDK is an easy way to interact with the Fingerprint [Server API](https://dev.fingerprint.com/reference/pro-server-api) from your Java application. You can search, update, and delete identification events. diff --git a/template/README.mustache b/template/README.mustache index ab76b541..2f60ccab 100644 --- a/template/README.mustache +++ b/template/README.mustache @@ -1,6 +1,3 @@ -> [!WARNING] -> This repository is deprecated. Please use the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). -

@@ -21,6 +18,9 @@ # Fingerprint Server API Java SDK +> [!WARNING] +> This repository is deprecated. Please use [latest version](https://github.com/fingerprintjs/java-sdk/releases/latest) of the SDK in the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). + [Fingerprint](https://fingerprint.com/) is a device intelligence platform offering industry-leading accuracy. The Fingerprint Server Java SDK is an easy way to interact with the Fingerprint [Server API](https://dev.fingerprint.com/reference/pro-server-api) from your Java application. You can search, update, and delete identification events. From 128e2eb708423c79c54ecb8e305fbd42050086b4 Mon Sep 17 00:00:00 2001 From: Juraj Uhlar Date: Thu, 5 Mar 2026 15:37:30 +0000 Subject: [PATCH 3/6] feat: regenerate with latest v3 schema --- README.md | 2 + docs/ErrorCode.md | 3 + docs/EventsGetResponse.md | 2 +- docs/FactoryReset.md | 2 +- docs/FingerprintApi.md | 128 ++++++++----- docs/IPInfoASN.md | 1 + docs/Integration.md | 15 ++ docs/IntegrationSubintegration.md | 14 ++ docs/SDK.md | 1 + docs/WebhookFactoryReset.md | 2 +- res/fingerprint-server-api.yaml | 178 +++++++++++++++--- scripts/sync.sh | 31 +-- .../com/fingerprint/api/FingerprintApi.java | 128 ++++++------- .../model/AbstractOpenApiSchema.java | 4 +- .../java/com/fingerprint/model/ErrorCode.java | 4 +- .../fingerprint/model/EventsGetResponse.java | 4 +- .../com/fingerprint/model/FactoryReset.java | 4 +- .../java/com/fingerprint/model/IPInfoASN.java | 38 +++- .../com/fingerprint/model/Integration.java | 162 ++++++++++++++++ .../model/IntegrationSubintegration.java | 130 +++++++++++++ .../main/java/com/fingerprint/model/SDK.java | 49 ++++- .../model/WebhookFactoryReset.java | 4 +- .../com/fingerprint/sdk/ApiException.java | 4 +- .../java/com/fingerprint/sdk/ApiResponse.java | 4 +- .../com/fingerprint/sdk/Configuration.java | 4 +- .../fingerprint/sdk/JavaTimeFormatter.java | 4 +- .../main/java/com/fingerprint/sdk/Pair.java | 4 +- .../fingerprint/sdk/RFC3339DateFormat.java | 4 +- .../java/com/fingerprint/sdk/StringUtil.java | 4 +- .../com/fingerprint/sdk/auth/ApiKeyAuth.java | 4 +- .../fingerprint/sdk/auth/Authentication.java | 4 +- .../fingerprint/sdk/auth/HttpBasicAuth.java | 4 +- .../fingerprint/sdk/auth/HttpBearerAuth.java | 4 +- 33 files changed, 735 insertions(+), 215 deletions(-) create mode 100644 docs/Integration.md create mode 100644 docs/IntegrationSubintegration.md create mode 100644 sdk/src/main/java/com/fingerprint/model/Integration.java create mode 100644 sdk/src/main/java/com/fingerprint/model/IntegrationSubintegration.java diff --git a/README.md b/README.md index 428dbfd7..e5e8eee3 100644 --- a/README.md +++ b/README.md @@ -335,6 +335,8 @@ Class | Method | HTTP request | Description - [IdentificationConfidence](docs/IdentificationConfidence.md) - [IdentificationSeenAt](docs/IdentificationSeenAt.md) - [Incognito](docs/Incognito.md) + - [Integration](docs/Integration.md) + - [IntegrationSubintegration](docs/IntegrationSubintegration.md) - [Jailbroken](docs/Jailbroken.md) - [LocationSpoofing](docs/LocationSpoofing.md) - [MitMAttack](docs/MitMAttack.md) diff --git a/docs/ErrorCode.md b/docs/ErrorCode.md index c1074513..b3593179 100644 --- a/docs/ErrorCode.md +++ b/docs/ErrorCode.md @@ -9,6 +9,7 @@ * `SubscriptionNotActive` - Fingerprint application is not active. * `WrongRegion` - server and application region differ. * `FeatureNotEnabled` - this feature (for example, Delete API) is not enabled for your application. + * `WorkspaceScopedSecretKeyRequired` - The provided secret API key is scoped to an environment, but this operation requires a workspace-scoped secret API key. * `RequestNotFound` - the specified request ID was not found. It never existed, expired, or it has been deleted. * `VisitorNotFound` - The specified visitor ID was not found. It never existed or it may have already been deleted. * `TooManyRequests` - the limit on secret API key requests per second has been exceeded. @@ -36,6 +37,8 @@ * `FEATURE_NOT_ENABLED` (value: `"FeatureNotEnabled"`) +* `WORKSPACE_SCOPED_SECRET_KEY_REQUIRED` (value: `"WorkspaceScopedSecretKeyRequired"`) + * `REQUEST_NOT_FOUND` (value: `"RequestNotFound"`) * `VISITOR_NOT_FOUND` (value: `"VisitorNotFound"`) diff --git a/docs/EventsGetResponse.md b/docs/EventsGetResponse.md index 50fa1961..324440b9 100644 --- a/docs/EventsGetResponse.md +++ b/docs/EventsGetResponse.md @@ -2,7 +2,7 @@ # EventsGetResponse -Contains results from all activated products - Fingerprint Pro, Bot Detection, and others. +Contains results from Fingerprint Identification and all active Smart Signals. ## Properties diff --git a/docs/FactoryReset.md b/docs/FactoryReset.md index d684683e..96b05127 100644 --- a/docs/FactoryReset.md +++ b/docs/FactoryReset.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**time** | **OffsetDateTime** | Indicates the time (in UTC) of the most recent factory reset that happened on the **mobile device**. 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). See [Factory Reset Detection](https://dev.fingerprint.com/docs/smart-signals-overview#factory-reset-detection) to learn more about this Smart Signal. | | -|**timestamp** | **Long** | This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. | | +|**timestamp** | **Long** | This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. | | diff --git a/docs/FingerprintApi.md b/docs/FingerprintApi.md index e8904c7a..9afdc126 100644 --- a/docs/FingerprintApi.md +++ b/docs/FingerprintApi.md @@ -20,6 +20,10 @@ All URIs are relative to *https://api.fpjs.io* Delete data by visitor ID +> 🚧 Deprecation Notice +> +> This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. + Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. ### Which data is deleted? - Browser (or device) properties @@ -121,6 +125,10 @@ null (empty response body) Get event by request ID +> 🚧 Deprecation Notice +> +> This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-events) to migrate from this deprecated version to the new one. + Get a detailed analysis of an individual identification event, including Smart Signals. Please note that the response includes mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. It is highly recommended that you **ignore** the mobile signals for such requests. @@ -203,6 +211,10 @@ public class FingerprintApiExample { Get Related Visitors +> 🚧 Deprecation Notice +> +> This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). + Related visitors API lets you link web visits and in-app browser visits that originated from the same mobile device. It searches the past 6 months of identification events to find the visitor IDs that belong to the same mobile device as the given visitor ID. @@ -289,6 +301,10 @@ public class FingerprintApiExample { Get visits by visitor ID +> 🚧 Deprecation Notice +> +> This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-visitors) to migrate from this deprecated version to the new one. + Get a history of visits (identification events) for a specific `visitorId`. Use the `visitorId` as a URL path parameter. Only information from the _Identification_ product is returned. @@ -326,11 +342,11 @@ public class FingerprintApiExample { */ ApiClient client = Configuration.getDefaultApiClient(FPJS_API_SECRET, Region.EUROPE); FingerprintApi api = new FingerprintApi(client); - String visitorId = "visitorId_example"; // String | Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. - String requestId = "requestId_example"; // String | Filter visits by `requestId`. Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned. - String linkedId = "linkedId_example"; // String | Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. - Integer limit = 56; // Integer | Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. - String paginationKey = "paginationKey_example"; // String | Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j` Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned. + String visitorId = "visitorId_example"; // String | Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Identification and all active Smart Signals. + String requestId = "requestId_example"; // String | Filter visits by `requestId`. Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned. + String linkedId = "linkedId_example"; // String | Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. + Integer limit = 56; // Integer | Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. + String paginationKey = "paginationKey_example"; // String | Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j` Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned. Long before = 56L; // Long | ⚠️ Deprecated pagination method, please use `paginationKey` instead. Timestamp (in milliseconds since epoch) used to paginate results. try { VisitorsGetResponse result = api.getVisits(visitorId, requestId, linkedId, limit, paginationKey, before); @@ -348,11 +364,11 @@ public class FingerprintApiExample { | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **visitorId** | **String**| Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. | | -| **requestId** | **String**| Filter visits by `requestId`. Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned. | [optional] | -| **linkedId** | **String**| Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. | [optional] | -| **limit** | **Integer**| Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. | [optional] | -| **paginationKey** | **String**| Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j` Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned. | [optional] | +| **visitorId** | **String**| Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Identification and all active Smart Signals. | | +| **requestId** | **String**| Filter visits by `requestId`. Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned. | [optional] | +| **linkedId** | **String**| Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. | [optional] | +| **limit** | **Integer**| Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. | [optional] | +| **paginationKey** | **String**| Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j` Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned. | [optional] | | **before** | **Long**| ⚠️ Deprecated pagination method, please use `paginationKey` instead. Timestamp (in milliseconds since epoch) used to paginate results. | [optional] | ### Return type @@ -383,6 +399,10 @@ public class FingerprintApiExample { Get events via search +> 🚧 Deprecation Notice +> +> This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-eventssearch) to migrate from this deprecated version to the new one. + Search for identification events, including Smart Signals, using multiple filtering criteria. If you don't provide `start` or `end` parameters, the default search range is the last 7 days. Please note that events include mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. We recommend you **ignore** mobile signals for such requests. @@ -418,31 +438,31 @@ public class FingerprintApiExample { ApiClient client = Configuration.getDefaultApiClient(FPJS_API_SECRET, Region.EUROPE); FingerprintApi api = new FingerprintApi(client); 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 200 results for your search using `limit`, but there are more than 200 events total matching your request), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `timestamp` of the last returned event. 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/search?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/events/search?limit=200&pagination_key=1740815825085` - String visitorId = "visitorId_example"; // String | Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. Filter for events matching this `visitor_id`. - String bot = "all"; // String | 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 `products.botd.data.bot.result` property set to a valid value are returned. Events without a `products.botd` Smart Signal result are left out of the response. - String ipAddress = "ipAddress_example"; // String | Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 - String linkedId = "linkedId_example"; // String | Filter events by your custom identifier. You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. + 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 200 results for your search using `limit`, but there are more than 200 events total matching your request), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `timestamp` of the last returned event. 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/search?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/events/search?limit=200&pagination_key=1740815825085` + String visitorId = "visitorId_example"; // String | Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Identification and all active Smart Signals. Filter for events matching this `visitor_id`. + String bot = "all"; // String | 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 `products.botd.data.bot.result` property set to a valid value are returned. Events without a `products.botd` Smart Signal result are left out of the response. + String ipAddress = "ipAddress_example"; // String | Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 + String linkedId = "linkedId_example"; // String | Filter events by your custom identifier. You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. Long start = 56L; // Long | Filter events with a timestamp greater than the start time, in Unix time (milliseconds). Long end = 56L; // Long | Filter events with a timestamp smaller than the end time, in Unix time (milliseconds). Boolean reverse = true; // Boolean | Sort events in reverse timestamp order. - Boolean suspect = true; // Boolean | Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events with undefined `suspect` property are left out of the response. - Boolean vpn = true; // Boolean | Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are returned. Events without a `products.vpn` Smart Signal result are left out of the response. - Boolean virtualMachine = true; // Boolean | Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or `false` are returned. Events without a `products.virtualMachine` Smart Signal result are left out of the response. - Boolean tampering = true; // Boolean | Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. - Boolean antiDetectBrowser = true; // Boolean | Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. - Boolean incognito = true; // Boolean | Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` are returned. Events without a `products.incognito` Smart Signal result are left out of the response. - Boolean privacySettings = true; // Boolean | Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or `false` are returned. Events without a `products.privacySettings` Smart Signal result are left out of the response. - Boolean jailbroken = true; // Boolean | Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` are returned. Events without a `products.jailbroken` Smart Signal result are left out of the response. - Boolean frida = true; // Boolean | Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are returned. Events without a `products.frida` Smart Signal result are left out of the response. - Boolean factoryReset = true; // Boolean | Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or `false` are returned. Events without a `products.factoryReset` Smart Signal result are left out of the response. - Boolean clonedApp = true; // Boolean | Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` are returned. Events without a `products.clonedApp` Smart Signal result are left out of the response. - Boolean emulator = true; // Boolean | Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` are returned. Events without a `products.emulator` Smart Signal result are left out of the response. - Boolean rootApps = true; // Boolean | Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` are returned. Events without a `products.rootApps` Smart Signal result are left out of the response. - String vpnConfidence = "high"; // String | Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. `medium` - events with medium VPN Detection confidence. `low` - events with low VPN Detection confidence. > Note: When using this parameter, only events with the `products.vpn.data.confidence` property set to a valid value are returned. Events without a `products.vpn` Smart Signal result are left out of the response. + Boolean suspect = true; // Boolean | Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events with undefined `suspect` property are left out of the response. + Boolean vpn = true; // Boolean | Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are returned. Events without a `products.vpn` Smart Signal result are left out of the response. + Boolean virtualMachine = true; // Boolean | Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or `false` are returned. Events without a `products.virtualMachine` Smart Signal result are left out of the response. + Boolean tampering = true; // Boolean | Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. + Boolean antiDetectBrowser = true; // Boolean | Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. + Boolean incognito = true; // Boolean | Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` are returned. Events without a `products.incognito` Smart Signal result are left out of the response. + Boolean privacySettings = true; // Boolean | Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or `false` are returned. Events without a `products.privacySettings` Smart Signal result are left out of the response. + Boolean jailbroken = true; // Boolean | Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` are returned. Events without a `products.jailbroken` Smart Signal result are left out of the response. + Boolean frida = true; // Boolean | Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are returned. Events without a `products.frida` Smart Signal result are left out of the response. + Boolean factoryReset = true; // Boolean | Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or `false` are returned. Events without a `products.factoryReset` Smart Signal result are left out of the response. + Boolean clonedApp = true; // Boolean | Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` are returned. Events without a `products.clonedApp` Smart Signal result are left out of the response. + Boolean emulator = true; // Boolean | Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` are returned. Events without a `products.emulator` Smart Signal result are left out of the response. + Boolean rootApps = true; // Boolean | Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` are returned. Events without a `products.rootApps` Smart Signal result are left out of the response. + String vpnConfidence = "high"; // String | Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. `medium` - events with medium VPN Detection confidence. `low` - events with low VPN Detection confidence. > Note: When using this parameter, only events with the `products.vpn.data.confidence` property set to a valid value are returned. Events without a `products.vpn` Smart Signal result are left out of the response. Float minSuspectScore = 3.4F; // Float | Filter events with Suspect Score result above a provided minimum threshold. > Note: When using this parameter, only events where the `products.suspectScore.data.result` property set to a value exceeding your threshold are returned. Events without a `products.suspectScore` Smart Signal result are left out of the response. - Boolean ipBlocklist = true; // Boolean | Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` are returned. Events without a `products.ipBlocklist` Smart Signal result are left out of the response. - Boolean datacenter = true; // Boolean | Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or `products.ipInfo.data.v6.datacenter.result` property set to `true` or `false` are returned. Events without a `products.ipInfo` Smart Signal result are left out of the response. + Boolean ipBlocklist = true; // Boolean | Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` are returned. Events without a `products.ipBlocklist` Smart Signal result are left out of the response. + Boolean datacenter = true; // Boolean | Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or `products.ipInfo.data.v6.datacenter.result` property set to `true` or `false` are returned. Events without a `products.ipInfo` Smart Signal result are left out of the response. Boolean developerTools = true; // Boolean | Filter events by Developer Tools detection result. > Note: When using this parameter, only events with the `products.developerTools.data.result` property set to `true` or `false` are returned. Events without a `products.developerTools` Smart Signal result are left out of the response. Boolean locationSpoofing = true; // Boolean | Filter events by Location Spoofing detection result. > Note: When using this parameter, only events with the `products.locationSpoofing.data.result` property set to `true` or `false` are returned. Events without a `products.locationSpoofing` Smart Signal result are left out of the response. Boolean mitmAttack = true; // Boolean | Filter events by MITM (Man-in-the-Middle) Attack detection result. > Note: When using this parameter, only events with the `products.mitmAttack.data.result` property set to `true` or `false` are returned. Events without a `products.mitmAttack` Smart Signal result are left out of the response. @@ -511,31 +531,31 @@ Object containing optional parameters for API method. Supports a fluent interfac | Name | Type | Description | Notes | |------------- | ------------- | ------------- | -------------| -| **paginationKey** | **String**| Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 200 results for your search using `limit`, but there are more than 200 events total matching your request), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `timestamp` of the last returned event. 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/search?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/events/search?limit=200&pagination_key=1740815825085` | [optional] | -| **visitorId** | **String**| Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. Filter for events matching this `visitor_id`. | [optional] | -| **bot** | **String**| 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 `products.botd.data.bot.result` property set to a valid value are returned. Events without a `products.botd` Smart Signal result are left out of the response. | [optional] [enum: all, good, bad, none] | -| **ipAddress** | **String**| Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 | [optional] | -| **linkedId** | **String**| Filter events by your custom identifier. You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. | [optional] | +| **paginationKey** | **String**| Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 200 results for your search using `limit`, but there are more than 200 events total matching your request), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `timestamp` of the last returned event. 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/search?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/events/search?limit=200&pagination_key=1740815825085` | [optional] | +| **visitorId** | **String**| Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Identification and all active Smart Signals. Filter for events matching this `visitor_id`. | [optional] | +| **bot** | **String**| 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 `products.botd.data.bot.result` property set to a valid value are returned. Events without a `products.botd` Smart Signal result are left out of the response. | [optional] [enum: all, good, bad, none] | +| **ipAddress** | **String**| Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 | [optional] | +| **linkedId** | **String**| Filter events by your custom identifier. You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. | [optional] | | **start** | **Long**| Filter events with a timestamp greater than the start time, in Unix time (milliseconds). | [optional] | | **end** | **Long**| Filter events with a timestamp smaller than the end time, in Unix time (milliseconds). | [optional] | | **reverse** | **Boolean**| Sort events in reverse timestamp order. | [optional] | -| **suspect** | **Boolean**| Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events with undefined `suspect` property are left out of the response. | [optional] | -| **vpn** | **Boolean**| Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are returned. Events without a `products.vpn` Smart Signal result are left out of the response. | [optional] | -| **virtualMachine** | **Boolean**| Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or `false` are returned. Events without a `products.virtualMachine` Smart Signal result are left out of the response. | [optional] | -| **tampering** | **Boolean**| Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. | [optional] | -| **antiDetectBrowser** | **Boolean**| Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. | [optional] | -| **incognito** | **Boolean**| Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` are returned. Events without a `products.incognito` Smart Signal result are left out of the response. | [optional] | -| **privacySettings** | **Boolean**| Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or `false` are returned. Events without a `products.privacySettings` Smart Signal result are left out of the response. | [optional] | -| **jailbroken** | **Boolean**| Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` are returned. Events without a `products.jailbroken` Smart Signal result are left out of the response. | [optional] | -| **frida** | **Boolean**| Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are returned. Events without a `products.frida` Smart Signal result are left out of the response. | [optional] | -| **factoryReset** | **Boolean**| Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or `false` are returned. Events without a `products.factoryReset` Smart Signal result are left out of the response. | [optional] | -| **clonedApp** | **Boolean**| Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` are returned. Events without a `products.clonedApp` Smart Signal result are left out of the response. | [optional] | -| **emulator** | **Boolean**| Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` are returned. Events without a `products.emulator` Smart Signal result are left out of the response. | [optional] | -| **rootApps** | **Boolean**| Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` are returned. Events without a `products.rootApps` Smart Signal result are left out of the response. | [optional] | -| **vpnConfidence** | **String**| Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. `medium` - events with medium VPN Detection confidence. `low` - events with low VPN Detection confidence. > Note: When using this parameter, only events with the `products.vpn.data.confidence` property set to a valid value are returned. Events without a `products.vpn` Smart Signal result are left out of the response. | [optional] [enum: high, medium, low] | +| **suspect** | **Boolean**| Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events with undefined `suspect` property are left out of the response. | [optional] | +| **vpn** | **Boolean**| Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are returned. Events without a `products.vpn` Smart Signal result are left out of the response. | [optional] | +| **virtualMachine** | **Boolean**| Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or `false` are returned. Events without a `products.virtualMachine` Smart Signal result are left out of the response. | [optional] | +| **tampering** | **Boolean**| Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. | [optional] | +| **antiDetectBrowser** | **Boolean**| Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. | [optional] | +| **incognito** | **Boolean**| Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` are returned. Events without a `products.incognito` Smart Signal result are left out of the response. | [optional] | +| **privacySettings** | **Boolean**| Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or `false` are returned. Events without a `products.privacySettings` Smart Signal result are left out of the response. | [optional] | +| **jailbroken** | **Boolean**| Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` are returned. Events without a `products.jailbroken` Smart Signal result are left out of the response. | [optional] | +| **frida** | **Boolean**| Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are returned. Events without a `products.frida` Smart Signal result are left out of the response. | [optional] | +| **factoryReset** | **Boolean**| Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or `false` are returned. Events without a `products.factoryReset` Smart Signal result are left out of the response. | [optional] | +| **clonedApp** | **Boolean**| Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` are returned. Events without a `products.clonedApp` Smart Signal result are left out of the response. | [optional] | +| **emulator** | **Boolean**| Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` are returned. Events without a `products.emulator` Smart Signal result are left out of the response. | [optional] | +| **rootApps** | **Boolean**| Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` are returned. Events without a `products.rootApps` Smart Signal result are left out of the response. | [optional] | +| **vpnConfidence** | **String**| Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. `medium` - events with medium VPN Detection confidence. `low` - events with low VPN Detection confidence. > Note: When using this parameter, only events with the `products.vpn.data.confidence` property set to a valid value are returned. Events without a `products.vpn` Smart Signal result are left out of the response. | [optional] [enum: high, medium, low] | | **minSuspectScore** | **Float**| Filter events with Suspect Score result above a provided minimum threshold. > Note: When using this parameter, only events where the `products.suspectScore.data.result` property set to a value exceeding your threshold are returned. Events without a `products.suspectScore` Smart Signal result are left out of the response. | [optional] | -| **ipBlocklist** | **Boolean**| Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` are returned. Events without a `products.ipBlocklist` Smart Signal result are left out of the response. | [optional] | -| **datacenter** | **Boolean**| Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or `products.ipInfo.data.v6.datacenter.result` property set to `true` or `false` are returned. Events without a `products.ipInfo` Smart Signal result are left out of the response. | [optional] | +| **ipBlocklist** | **Boolean**| Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` are returned. Events without a `products.ipBlocklist` Smart Signal result are left out of the response. | [optional] | +| **datacenter** | **Boolean**| Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or `products.ipInfo.data.v6.datacenter.result` property set to `true` or `false` are returned. Events without a `products.ipInfo` Smart Signal result are left out of the response. | [optional] | | **developerTools** | **Boolean**| Filter events by Developer Tools detection result. > Note: When using this parameter, only events with the `products.developerTools.data.result` property set to `true` or `false` are returned. Events without a `products.developerTools` Smart Signal result are left out of the response. | [optional] | | **locationSpoofing** | **Boolean**| Filter events by Location Spoofing detection result. > Note: When using this parameter, only events with the `products.locationSpoofing.data.result` property set to `true` or `false` are returned. Events without a `products.locationSpoofing` Smart Signal result are left out of the response. | [optional] | | **mitmAttack** | **Boolean**| Filter events by MITM (Man-in-the-Middle) Attack detection result. > Note: When using this parameter, only events with the `products.mitmAttack.data.result` property set to `true` or `false` are returned. Events without a `products.mitmAttack` Smart Signal result are left out of the response. | [optional] | @@ -573,6 +593,10 @@ Object containing optional parameters for API method. Supports a fluent interfac Update an event with a given request ID +> 🚧 Deprecation Notice +> +> This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-update-events) to migrate from this deprecated version to the new one. + Change information in existing events specified by `requestId` or *flag suspicious events*. When an event is created, it is assigned `linkedId` and `tag` submitted through the JS agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact. diff --git a/docs/IPInfoASN.md b/docs/IPInfoASN.md index a8200b5b..c2022f73 100644 --- a/docs/IPInfoASN.md +++ b/docs/IPInfoASN.md @@ -10,6 +10,7 @@ |**asn** | **String** | | | |**name** | **String** | | | |**network** | **String** | | | +|**type** | **String** | | [optional] | diff --git a/docs/Integration.md b/docs/Integration.md new file mode 100644 index 00000000..bb9d12a4 --- /dev/null +++ b/docs/Integration.md @@ -0,0 +1,15 @@ + + +# Integration + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the specific integration, e.g. \"fingerprint-pro-react\". | [optional] | +|**version** | **String** | The version of the specific integration, e.g. \"3.11.10\". | [optional] | +|**subintegration** | [**IntegrationSubintegration**](IntegrationSubintegration.md) | | [optional] | + + + diff --git a/docs/IntegrationSubintegration.md b/docs/IntegrationSubintegration.md new file mode 100644 index 00000000..4ccc429b --- /dev/null +++ b/docs/IntegrationSubintegration.md @@ -0,0 +1,14 @@ + + +# IntegrationSubintegration + + +## Properties + +| Name | Type | Description | Notes | +|------------ | ------------- | ------------- | -------------| +|**name** | **String** | The name of the specific subintegration, e.g. \"preact\". | [optional] | +|**version** | **String** | The version of the specific subintegration, e.g. \"10.21.0\". | [optional] | + + + diff --git a/docs/SDK.md b/docs/SDK.md index fa24ade4..9e44bd58 100644 --- a/docs/SDK.md +++ b/docs/SDK.md @@ -10,6 +10,7 @@ Contains information about the SDK used to perform the request. |------------ | ------------- | ------------- | -------------| |**platform** | **String** | Platform of the SDK. | | |**version** | **String** | SDK version string. | | +|**integrations** | [**List<Integration>**](Integration.md) | | [optional] | diff --git a/docs/WebhookFactoryReset.md b/docs/WebhookFactoryReset.md index df083a97..415d60ca 100644 --- a/docs/WebhookFactoryReset.md +++ b/docs/WebhookFactoryReset.md @@ -8,7 +8,7 @@ | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**time** | **OffsetDateTime** | Indicates the time (in UTC) of the most recent factory reset that happened on the **mobile device**. 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). See [Factory Reset Detection](https://dev.fingerprint.com/docs/smart-signals-overview#factory-reset-detection) to learn more about this Smart Signal. | [optional] | -|**timestamp** | **Long** | This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. | [optional] | +|**timestamp** | **Long** | This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. | [optional] | diff --git a/res/fingerprint-server-api.yaml b/res/fingerprint-server-api.yaml index 71a4fa75..21caa11d 100644 --- a/res/fingerprint-server-api.yaml +++ b/res/fingerprint-server-api.yaml @@ -1,7 +1,20 @@ openapi: 3.0.3 info: - title: Fingerprint Server API + title: Server API v3 (deprecated) description: > + > 🚧 Deprecation Notice + + > + + > This version of Server API is marked as deprecated starting on **Jan 7th + 2026** and will be fully defunct on **Jan 7th 2027** according to our [API + Deprecation + Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If + you still use this version, please follow our [migration + guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) + to migrate from this deprecated version to the new one. + + Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. @@ -42,6 +55,19 @@ paths: operationId: getEvent summary: Get event by request ID description: > + > 🚧 Deprecation Notice + + > + + > This version of Server API is marked as deprecated starting on **Jan + 7th 2026** and will be fully removed on **Jan 7th 2027** according to + our [API Deprecation + Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). + If you still use this version, please follow our [migration + guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-events) + to migrate from this deprecated version to the new one. + + Get a detailed analysis of an individual identification event, including Smart Signals. @@ -91,6 +117,19 @@ paths: operationId: updateEvent summary: Update an event with a given request ID description: > + > 🚧 Deprecation Notice + + > + + > This version of Server API is marked as deprecated starting on **Jan + 7th 2026** and will be fully removed on **Jan 7th 2027** according to + our [API Deprecation + Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). + If you still use this version, please follow our [migration + guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-update-events) + to migrate from this deprecated version to the new one. + + Change information in existing events specified by `requestId` or *flag suspicious events*. @@ -153,6 +192,19 @@ paths: operationId: searchEvents summary: Get events via search description: > + > 🚧 Deprecation Notice + + > + + > This version of Server API is marked as deprecated starting on **Jan + 7th 2026** and will be fully removed on **Jan 7th 2027** according to + our [API Deprecation + Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). + If you still use this version, please follow our [migration + guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-eventssearch) + to migrate from this deprecated version to the new one. + + Search for identification events, including Smart Signals, using multiple filtering criteria. If you don't provide `start` or `end` parameters, the default search range is the last 7 days. @@ -177,7 +229,7 @@ paths: schema: type: string description: > - Use `pagination_key` to get the next page of results. + Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 200 @@ -202,7 +254,7 @@ paths: description: > Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) - issued by Fingerprint Pro. + issued by Fingerprint Identification and all active Smart Signals. Filter for events matching this `visitor_id`. - name: bot @@ -215,7 +267,7 @@ paths: - bad - none description: > - Filter events by the Bot Detection result, specifically: + 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. @@ -230,7 +282,7 @@ paths: type: string description: > Filter events by IP address range. The range can be as specific as a - single IP (/32 for IPv4 or /128 for IPv6) + single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 @@ -239,7 +291,7 @@ paths: schema: type: string description: > - Filter events by your custom identifier. + Filter events by your custom identifier. You can use [linked @@ -276,7 +328,7 @@ paths: type: boolean description: > Filter events previously tagged as suspicious via the [Update - API](https://dev.fingerprint.com/reference/updateevent). + API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events @@ -286,7 +338,7 @@ paths: schema: type: boolean description: > - Filter events by VPN Detection result. + Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are @@ -297,7 +349,7 @@ paths: schema: type: boolean description: > - Filter events by Virtual Machine Detection result. + Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or @@ -308,7 +360,7 @@ paths: schema: type: boolean description: > - Filter events by Tampering Detection result. + Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` @@ -319,7 +371,7 @@ paths: schema: type: boolean description: > - Filter events by Anti-detect Browser Detection result. + Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` @@ -330,7 +382,7 @@ paths: schema: type: boolean description: > - Filter events by Browser Incognito Detection result. + Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` @@ -341,7 +393,7 @@ paths: schema: type: boolean description: > - Filter events by Privacy Settings Detection result. + Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or @@ -352,7 +404,7 @@ paths: schema: type: boolean description: > - Filter events by Jailbroken Device Detection result. + Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` @@ -363,7 +415,7 @@ paths: schema: type: boolean description: > - Filter events by Frida Detection result. + Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are @@ -374,7 +426,7 @@ paths: schema: type: boolean description: > - Filter events by Factory Reset Detection result. + Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or @@ -385,7 +437,7 @@ paths: schema: type: boolean description: > - Filter events by Cloned App Detection result. + Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` @@ -396,7 +448,7 @@ paths: schema: type: boolean description: > - Filter events by Android Emulator Detection result. + Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` @@ -407,7 +459,7 @@ paths: schema: type: boolean description: > - Filter events by Rooted Device Detection result. + Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` @@ -422,7 +474,7 @@ paths: - medium - low description: > - Filter events by VPN Detection result confidence level. + Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. @@ -453,7 +505,7 @@ paths: schema: type: boolean description: > - Filter events by IP Blocklist Detection result. + Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` @@ -464,7 +516,7 @@ paths: schema: type: boolean description: > - Filter events by Datacenter Detection result. + Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or @@ -611,6 +663,19 @@ paths: operationId: getVisits summary: Get visits by visitor ID description: > + > 🚧 Deprecation Notice + + > + + > This version of Server API is marked as deprecated starting on **Jan + 7th 2026** and will be fully removed on **Jan 7th 2027** according to + our [API Deprecation + Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). + If you still use this version, please follow our [migration + guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-visitors) + to migrate from this deprecated version to the new one. + + Get a history of visits (identification events) for a specific `visitorId`. Use the `visitorId` as a URL path parameter. @@ -634,13 +699,13 @@ paths: description: >- Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) - issued by Fingerprint Pro. + issued by Fingerprint Identification and all active Smart Signals. - name: request_id in: query schema: type: string description: > - Filter visits by `requestId`. + Filter visits by `requestId`. Every identification request has a unique identifier associated with @@ -655,7 +720,7 @@ paths: schema: type: string description: > - Filter visits by your custom identifier. + Filter visits by your custom identifier. You can use @@ -672,7 +737,7 @@ paths: format: int32 minimum: 0 description: > - Limit scanned results. + Limit scanned results. For performance reasons, the API first scans some number of events @@ -689,7 +754,7 @@ paths: schema: type: string description: > - Use `paginationKey` to get the next page of results. + Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results @@ -766,6 +831,19 @@ paths: operationId: deleteVisitorData summary: Delete data by visitor ID description: > + > 🚧 Deprecation Notice + + > + + > This version of Server API is marked as deprecated starting on **Jan + 7th 2026** and will be fully removed on **Jan 7th 2027** according to + our [API Deprecation + Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). + If you still use this version, please follow our [migration + guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) + to migrate from this deprecated version to the new one. + + Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. @@ -869,6 +947,16 @@ paths: operationId: getRelatedVisitors summary: Get Related Visitors description: > + > 🚧 Deprecation Notice + + > + + > This version of Server API is marked as deprecated starting on **Jan + 7th 2026** and will be fully removed on **Jan 7th 2027** according to + our [API Deprecation + Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). + + Related visitors API lets you link web visits and in-app browser visits that originated from the same mobile device. @@ -1170,6 +1258,26 @@ components: the generic type provided here. additionalProperties: $ref: '#/components/schemas/RawDeviceAttribute' + Integration: + type: object + additionalProperties: false + properties: + name: + type: string + description: The name of the specific integration, e.g. "fingerprint-pro-react". + version: + type: string + description: The version of the specific integration, e.g. "3.11.10". + subintegration: + type: object + additionalProperties: false + properties: + name: + type: string + description: The name of the specific subintegration, e.g. "preact". + version: + type: string + description: The version of the specific subintegration, e.g. "10.21.0". SDK: type: object description: Contains information about the SDK used to perform the request. @@ -1184,6 +1292,10 @@ components: version: type: string description: SDK version string. + integrations: + type: array + items: + $ref: '#/components/schemas/Integration' Identification: type: object additionalProperties: false @@ -1277,6 +1389,7 @@ components: - SubscriptionNotActive - WrongRegion - FeatureNotEnabled + - WorkspaceScopedSecretKeyRequired - RequestNotFound - VisitorNotFound - TooManyRequests @@ -1292,6 +1405,7 @@ components: * `SubscriptionNotActive` - Fingerprint application is not active. * `WrongRegion` - server and application region differ. * `FeatureNotEnabled` - this feature (for example, Delete API) is not enabled for your application. + * `WorkspaceScopedSecretKeyRequired` - The provided secret API key is scoped to an environment, but this operation requires a workspace-scoped secret API key. * `RequestNotFound` - the specified request ID was not found. It never existed, expired, or it has been deleted. * `VisitorNotFound` - The specified visitor ID was not found. It never existed or it may have already been deleted. * `TooManyRequests` - the limit on secret API key requests per second has been exceeded. @@ -1477,6 +1591,8 @@ components: type: string network: type: string + type: + type: string IPInfoDataCenter: type: object additionalProperties: false @@ -1858,7 +1974,7 @@ components: field. The time of the most recent factory reset that happened on the - **mobile device** is expressed as Unix epoch time. + **mobile device** is expressed as Unix epoch time. ProductFactoryReset: type: object additionalProperties: false @@ -2293,8 +2409,8 @@ components: EventsGetResponse: type: object description: >- - Contains results from all activated products - Fingerprint Pro, Bot - Detection, and others. + Contains results from Fingerprint Identification and all active Smart + Signals. additionalProperties: false required: - products @@ -2619,7 +2735,7 @@ components: field. The time of the most recent factory reset that happened on the - **mobile device** is expressed as Unix epoch time. + **mobile device** is expressed as Unix epoch time. WebhookJailbroken: type: object additionalProperties: false diff --git a/scripts/sync.sh b/scripts/sync.sh index f43376c5..3a54ff32 100755 --- a/scripts/sync.sh +++ b/scripts/sync.sh @@ -1,33 +1,8 @@ #!/bin/bash +# Download latest schema. Examples are no longer published at the upstream URL +# (fingerprintjs.github.io/.../examples/ returns 404). Mock files in +# sdk/src/test/resources/mocks/ are maintained locally. curl -o ./res/fingerprint-server-api.yaml https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/schemas/fingerprint-server-api-compact.yaml -examplesList=( - 'get_event_200.json' - 'get_event_200_all_errors.json' - 'get_event_200_botd_failed_error.json' - 'get_event_200_botd_too_many_requests_error.json' - 'get_event_200_extra_fields.json' - 'get_event_200_identification_failed_error.json' - 'get_event_200_identification_too_many_requests_error.json' - 'get_event_200_identification_too_many_requests_error_all_fields.json' - 'get_event_403_error.json' - 'get_event_404_error.json' - 'get_visits_200_limit_1.json' - 'get_visits_200_limit_500.json' - 'get_visits_403_error.json' - 'get_visits_429_too_many_requests_error.json' - 'update_event_400_error.json' - 'update_event_403_error.json' - 'update_event_404_error.json' - 'update_event_409_error.json' - 'update_event_multiple_fields_request.json' - 'update_event_one_field_request.json' - 'webhook.json' -) - -for example in ${examplesList[*]}; do - curl -o ./sdk/src/test/resources/mocks/"$example" https://fingerprintjs.github.io/fingerprint-pro-server-api-openapi/examples/"$example" -done - ./scripts/generate.sh diff --git a/sdk/src/main/java/com/fingerprint/api/FingerprintApi.java b/sdk/src/main/java/com/fingerprint/api/FingerprintApi.java index 94fac060..39cbd701 100644 --- a/sdk/src/main/java/com/fingerprint/api/FingerprintApi.java +++ b/sdk/src/main/java/com/fingerprint/api/FingerprintApi.java @@ -64,7 +64,7 @@ public void setApiClient(ApiClient apiClient) { /** * Delete data by visitor ID - * Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. ### Which data is deleted? - Browser (or device) properties - Identification requests made from this browser (or device) #### Browser (or device) properties - Represents the data that Fingerprint collected from this specific browser (or device) and everything inferred and derived from it. - Upon request to delete, this data is deleted asynchronously (typically within a few minutes) and it will no longer be used to identify this browser (or device) for your [Fingerprint Workspace](https://dev.fingerprint.com/docs/glossary#fingerprint-workspace). #### Identification requests made from this browser (or device) - Fingerprint stores the identification requests made from a browser (or device) for up to 30 (or 90) days depending on your plan. To learn more, see [Data Retention](https://dev.fingerprint.com/docs/regions#data-retention). - Upon request to delete, the identification requests that were made by this browser - Within the past 10 days are deleted within 24 hrs. - Outside of 10 days are allowed to purge as per your data retention period. ### Corollary After requesting to delete a visitor ID, - If the same browser (or device) requests to identify, it will receive a different visitor ID. - If you request [`/events` API](https://dev.fingerprint.com/reference/getevent) with a `request_id` that was made outside of the 10 days, you will still receive a valid response. - If you request [`/visitors` API](https://dev.fingerprint.com/reference/getvisits) for the deleted visitor ID, the response will include identification requests that were made outside of those 10 days. ### Interested? Please [contact our support team](https://fingerprint.com/support/) to enable it for you. Otherwise, you will receive a 403. + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. ### Which data is deleted? - Browser (or device) properties - Identification requests made from this browser (or device) #### Browser (or device) properties - Represents the data that Fingerprint collected from this specific browser (or device) and everything inferred and derived from it. - Upon request to delete, this data is deleted asynchronously (typically within a few minutes) and it will no longer be used to identify this browser (or device) for your [Fingerprint Workspace](https://dev.fingerprint.com/docs/glossary#fingerprint-workspace). #### Identification requests made from this browser (or device) - Fingerprint stores the identification requests made from a browser (or device) for up to 30 (or 90) days depending on your plan. To learn more, see [Data Retention](https://dev.fingerprint.com/docs/regions#data-retention). - Upon request to delete, the identification requests that were made by this browser - Within the past 10 days are deleted within 24 hrs. - Outside of 10 days are allowed to purge as per your data retention period. ### Corollary After requesting to delete a visitor ID, - If the same browser (or device) requests to identify, it will receive a different visitor ID. - If you request [`/events` API](https://dev.fingerprint.com/reference/getevent) with a `request_id` that was made outside of the 10 days, you will still receive a valid response. - If you request [`/visitors` API](https://dev.fingerprint.com/reference/getvisits) for the deleted visitor ID, the response will include identification requests that were made outside of those 10 days. ### Interested? Please [contact our support team](https://fingerprint.com/support/) to enable it for you. Otherwise, you will receive a 403. * @param visitorId The [visitor ID](https://dev.fingerprint.com/reference/get-function#visitorid) you want to delete. (required) * @throws ApiException if fails to make API call * @http.response.details @@ -83,7 +83,7 @@ public void deleteVisitorData(String visitorId) throws ApiException { /** * Delete data by visitor ID - * Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. ### Which data is deleted? - Browser (or device) properties - Identification requests made from this browser (or device) #### Browser (or device) properties - Represents the data that Fingerprint collected from this specific browser (or device) and everything inferred and derived from it. - Upon request to delete, this data is deleted asynchronously (typically within a few minutes) and it will no longer be used to identify this browser (or device) for your [Fingerprint Workspace](https://dev.fingerprint.com/docs/glossary#fingerprint-workspace). #### Identification requests made from this browser (or device) - Fingerprint stores the identification requests made from a browser (or device) for up to 30 (or 90) days depending on your plan. To learn more, see [Data Retention](https://dev.fingerprint.com/docs/regions#data-retention). - Upon request to delete, the identification requests that were made by this browser - Within the past 10 days are deleted within 24 hrs. - Outside of 10 days are allowed to purge as per your data retention period. ### Corollary After requesting to delete a visitor ID, - If the same browser (or device) requests to identify, it will receive a different visitor ID. - If you request [`/events` API](https://dev.fingerprint.com/reference/getevent) with a `request_id` that was made outside of the 10 days, you will still receive a valid response. - If you request [`/visitors` API](https://dev.fingerprint.com/reference/getvisits) for the deleted visitor ID, the response will include identification requests that were made outside of those 10 days. ### Interested? Please [contact our support team](https://fingerprint.com/support/) to enable it for you. Otherwise, you will receive a 403. + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. ### Which data is deleted? - Browser (or device) properties - Identification requests made from this browser (or device) #### Browser (or device) properties - Represents the data that Fingerprint collected from this specific browser (or device) and everything inferred and derived from it. - Upon request to delete, this data is deleted asynchronously (typically within a few minutes) and it will no longer be used to identify this browser (or device) for your [Fingerprint Workspace](https://dev.fingerprint.com/docs/glossary#fingerprint-workspace). #### Identification requests made from this browser (or device) - Fingerprint stores the identification requests made from a browser (or device) for up to 30 (or 90) days depending on your plan. To learn more, see [Data Retention](https://dev.fingerprint.com/docs/regions#data-retention). - Upon request to delete, the identification requests that were made by this browser - Within the past 10 days are deleted within 24 hrs. - Outside of 10 days are allowed to purge as per your data retention period. ### Corollary After requesting to delete a visitor ID, - If the same browser (or device) requests to identify, it will receive a different visitor ID. - If you request [`/events` API](https://dev.fingerprint.com/reference/getevent) with a `request_id` that was made outside of the 10 days, you will still receive a valid response. - If you request [`/visitors` API](https://dev.fingerprint.com/reference/getvisits) for the deleted visitor ID, the response will include identification requests that were made outside of those 10 days. ### Interested? Please [contact our support team](https://fingerprint.com/support/) to enable it for you. Otherwise, you will receive a 403. * @param visitorId The [visitor ID](https://dev.fingerprint.com/reference/get-function#visitorid) you want to delete. (required) * @return ApiResponse * @throws ApiException if fails to make API call @@ -139,7 +139,7 @@ public ApiResponse deleteVisitorDataWithHttpInfo(String visitorId) throws } /** * Get event by request ID - * Get a detailed analysis of an individual identification event, including Smart Signals. Please note that the response includes mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. It is highly recommended that you **ignore** the mobile signals for such requests. Use `requestId` as the URL path parameter. This API method is scoped to a request, i.e. all returned information is by `requestId`. + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-events) to migrate from this deprecated version to the new one. Get a detailed analysis of an individual identification event, including Smart Signals. Please note that the response includes mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. It is highly recommended that you **ignore** the mobile signals for such requests. Use `requestId` as the URL path parameter. This API method is scoped to a request, i.e. all returned information is by `requestId`. * @param requestId The unique [identifier](https://dev.fingerprint.com/reference/get-function#requestid) of each identification request. (required) * @return EventsGetResponse * @throws ApiException if fails to make API call @@ -157,7 +157,7 @@ public EventsGetResponse getEvent(String requestId) throws ApiException { /** * Get event by request ID - * Get a detailed analysis of an individual identification event, including Smart Signals. Please note that the response includes mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. It is highly recommended that you **ignore** the mobile signals for such requests. Use `requestId` as the URL path parameter. This API method is scoped to a request, i.e. all returned information is by `requestId`. + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-events) to migrate from this deprecated version to the new one. Get a detailed analysis of an individual identification event, including Smart Signals. Please note that the response includes mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. It is highly recommended that you **ignore** the mobile signals for such requests. Use `requestId` as the URL path parameter. This API method is scoped to a request, i.e. all returned information is by `requestId`. * @param requestId The unique [identifier](https://dev.fingerprint.com/reference/get-function#requestid) of each identification request. (required) * @return ApiResponse * @throws ApiException if fails to make API call @@ -213,7 +213,7 @@ public ApiResponse getEventWithHttpInfo(String requestId) thr } /** * Get Related Visitors - * Related visitors API lets you link web visits and in-app browser visits that originated from the same mobile device. It searches the past 6 months of identification events to find the visitor IDs that belong to the same mobile device as the given visitor ID. ⚠️ Please note that this API is not enabled by default and is billable separately. ⚠️ If you would like to use Related visitors API, please contact our [support team](https://fingerprint.com/support). To learn more, see [Related visitors API reference](https://dev.fingerprint.com/reference/related-visitors-api). + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). Related visitors API lets you link web visits and in-app browser visits that originated from the same mobile device. It searches the past 6 months of identification events to find the visitor IDs that belong to the same mobile device as the given visitor ID. ⚠️ Please note that this API is not enabled by default and is billable separately. ⚠️ If you would like to use Related visitors API, please contact our [support team](https://fingerprint.com/support). To learn more, see [Related visitors API reference](https://dev.fingerprint.com/reference/related-visitors-api). * @param visitorId The [visitor ID](https://dev.fingerprint.com/reference/get-function#visitorid) for which you want to find the other visitor IDs that originated from the same mobile device. (required) * @return RelatedVisitorsResponse * @throws ApiException if fails to make API call @@ -233,7 +233,7 @@ public RelatedVisitorsResponse getRelatedVisitors(String visitorId) throws ApiEx /** * Get Related Visitors - * Related visitors API lets you link web visits and in-app browser visits that originated from the same mobile device. It searches the past 6 months of identification events to find the visitor IDs that belong to the same mobile device as the given visitor ID. ⚠️ Please note that this API is not enabled by default and is billable separately. ⚠️ If you would like to use Related visitors API, please contact our [support team](https://fingerprint.com/support). To learn more, see [Related visitors API reference](https://dev.fingerprint.com/reference/related-visitors-api). + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). Related visitors API lets you link web visits and in-app browser visits that originated from the same mobile device. It searches the past 6 months of identification events to find the visitor IDs that belong to the same mobile device as the given visitor ID. ⚠️ Please note that this API is not enabled by default and is billable separately. ⚠️ If you would like to use Related visitors API, please contact our [support team](https://fingerprint.com/support). To learn more, see [Related visitors API reference](https://dev.fingerprint.com/reference/related-visitors-api). * @param visitorId The [visitor ID](https://dev.fingerprint.com/reference/get-function#visitorid) for which you want to find the other visitor IDs that originated from the same mobile device. (required) * @return ApiResponse * @throws ApiException if fails to make API call @@ -291,12 +291,12 @@ public ApiResponse getRelatedVisitorsWithHttpInfo(Strin } /** * Get visits by visitor ID - * Get a history of visits (identification events) for a specific `visitorId`. Use the `visitorId` as a URL path parameter. Only information from the _Identification_ product is returned. #### Headers * `Retry-After` — Present in case of `429 Too many requests`. Indicates how long you should wait before making a follow-up request. The value is non-negative decimal integer indicating the seconds to delay after the response is received. - * @param visitorId Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. (required) - * @param requestId Filter visits by `requestId`. Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned. (optional) - * @param linkedId Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. (optional) - * @param limit Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. (optional) - * @param paginationKey Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j` Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned. (optional) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-visitors) to migrate from this deprecated version to the new one. Get a history of visits (identification events) for a specific `visitorId`. Use the `visitorId` as a URL path parameter. Only information from the _Identification_ product is returned. #### Headers * `Retry-After` — Present in case of `429 Too many requests`. Indicates how long you should wait before making a follow-up request. The value is non-negative decimal integer indicating the seconds to delay after the response is received. + * @param visitorId Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Identification and all active Smart Signals. (required) + * @param requestId Filter visits by `requestId`. Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned. (optional) + * @param linkedId Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. (optional) + * @param limit Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. (optional) + * @param paginationKey Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j` Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned. (optional) * @param before ⚠️ Deprecated pagination method, please use `paginationKey` instead. Timestamp (in milliseconds since epoch) used to paginate results. (optional) * @return VisitorsGetResponse * @throws ApiException if fails to make API call @@ -315,12 +315,12 @@ public VisitorsGetResponse getVisits(String visitorId, String requestId, String /** * Get visits by visitor ID - * Get a history of visits (identification events) for a specific `visitorId`. Use the `visitorId` as a URL path parameter. Only information from the _Identification_ product is returned. #### Headers * `Retry-After` — Present in case of `429 Too many requests`. Indicates how long you should wait before making a follow-up request. The value is non-negative decimal integer indicating the seconds to delay after the response is received. - * @param visitorId Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. (required) - * @param requestId Filter visits by `requestId`. Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned. (optional) - * @param linkedId Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. (optional) - * @param limit Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. (optional) - * @param paginationKey Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j` Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned. (optional) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-visitors) to migrate from this deprecated version to the new one. Get a history of visits (identification events) for a specific `visitorId`. Use the `visitorId` as a URL path parameter. Only information from the _Identification_ product is returned. #### Headers * `Retry-After` — Present in case of `429 Too many requests`. Indicates how long you should wait before making a follow-up request. The value is non-negative decimal integer indicating the seconds to delay after the response is received. + * @param visitorId Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Identification and all active Smart Signals. (required) + * @param requestId Filter visits by `requestId`. Every identification request has a unique identifier associated with it called `requestId`. This identifier is returned to the client in the identification [result](https://dev.fingerprint.com/reference/get-function#requestid). When you filter visits by `requestId`, only one visit will be returned. (optional) + * @param linkedId Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example: session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. (optional) + * @param limit Limit scanned results. For performance reasons, the API first scans some number of events before filtering them. Use `limit` to specify how many events are scanned before they are filtered by `requestId` or `linkedId`. Results are always returned sorted by the timestamp (most recent first). By default, the most recent 100 visits are scanned, the maximum is 500. (optional) + * @param paginationKey Use `paginationKey` to get the next page of results. When more results are available (e.g., you requested 200 results using `limit` parameter, but a total of 600 results are available), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `requestId` of the last returned event. In the following request, use that value in the `paginationKey` parameter to get the next page of results: 1. First request, returning most recent 200 events: `GET api-base-url/visitors/:visitorId?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/visitors/:visitorId?limit=200&paginationKey=1683900801733.Ogvu1j` Pagination happens during scanning and before filtering, so you can get less visits than the `limit` you specified with more available on the next page. When there are no more results available for scanning, the `paginationKey` attribute is not returned. (optional) * @param before ⚠️ Deprecated pagination method, please use `paginationKey` instead. Timestamp (in milliseconds since epoch) used to paginate results. (optional) * @return ApiResponse * @throws ApiException if fails to make API call @@ -418,14 +418,14 @@ public static class SearchEventsOptionalParams { private Integer proximityPrecisionRadius; /** - * getter for paginationKey - Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 200 results for your search using `limit`, but there are more than 200 events total matching your request), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `timestamp` of the last returned event. 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/search?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/events/search?limit=200&pagination_key=1740815825085` + * getter for paginationKey - Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 200 results for your search using `limit`, but there are more than 200 events total matching your request), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `timestamp` of the last returned event. 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/search?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/events/search?limit=200&pagination_key=1740815825085` */ public String getPaginationKey() { return paginationKey; } /** - * setter for paginationKey - Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 200 results for your search using `limit`, but there are more than 200 events total matching your request), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `timestamp` of the last returned event. 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/search?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/events/search?limit=200&pagination_key=1740815825085` + * setter for paginationKey - Use `pagination_key` to get the next page of results. When more results are available (e.g., you requested up to 200 results for your search using `limit`, but there are more than 200 events total matching your request), the `paginationKey` top-level attribute is added to the response. The key corresponds to the `timestamp` of the last returned event. 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/search?limit=200` 2. Use `response.paginationKey` to get the next page of results: `GET api-base-url/events/search?limit=200&pagination_key=1740815825085` */ public SearchEventsOptionalParams setPaginationKey(String paginationKey) { this.paginationKey = paginationKey; @@ -433,14 +433,14 @@ public SearchEventsOptionalParams setPaginationKey(String paginationKey) { } /** - * getter for visitorId - Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. Filter for events matching this `visitor_id`. + * getter for visitorId - Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Identification and all active Smart Signals. Filter for events matching this `visitor_id`. */ public String getVisitorId() { return visitorId; } /** - * setter for visitorId - Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Pro. Filter for events matching this `visitor_id`. + * setter for visitorId - Unique [visitor identifier](https://dev.fingerprint.com/reference/get-function#visitorid) issued by Fingerprint Identification and all active Smart Signals. Filter for events matching this `visitor_id`. */ public SearchEventsOptionalParams setVisitorId(String visitorId) { this.visitorId = visitorId; @@ -448,14 +448,14 @@ public SearchEventsOptionalParams setVisitorId(String visitorId) { } /** - * getter for bot - 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 `products.botd.data.bot.result` property set to a valid value are returned. Events without a `products.botd` Smart Signal result are left out of the response. + * getter for bot - 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 `products.botd.data.bot.result` property set to a valid value are returned. Events without a `products.botd` Smart Signal result are left out of the response. */ public String getBot() { return bot; } /** - * setter for bot - 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 `products.botd.data.bot.result` property set to a valid value are returned. Events without a `products.botd` Smart Signal result are left out of the response. + * setter for bot - 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 `products.botd.data.bot.result` property set to a valid value are returned. Events without a `products.botd` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setBot(String bot) { this.bot = bot; @@ -463,14 +463,14 @@ public SearchEventsOptionalParams setBot(String bot) { } /** - * getter for ipAddress - Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 + * getter for ipAddress - Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 */ public String getIpAddress() { return ipAddress; } /** - * setter for ipAddress - Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 + * setter for ipAddress - Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 */ public SearchEventsOptionalParams setIpAddress(String ipAddress) { this.ipAddress = ipAddress; @@ -478,14 +478,14 @@ public SearchEventsOptionalParams setIpAddress(String ipAddress) { } /** - * getter for linkedId - Filter events by your custom identifier. You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. + * getter for linkedId - Filter events by your custom identifier. You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. */ public String getLinkedId() { return linkedId; } /** - * setter for linkedId - Filter events by your custom identifier. You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. + * setter for linkedId - Filter events by your custom identifier. You can use [linked IDs](https://dev.fingerprint.com/reference/get-function#linkedid) to associate identification requests with your own identifier, for example, session ID, purchase ID, or transaction ID. You can then use this `linked_id` parameter to retrieve all events associated with your custom identifier. */ public SearchEventsOptionalParams setLinkedId(String linkedId) { this.linkedId = linkedId; @@ -538,14 +538,14 @@ public SearchEventsOptionalParams setReverse(Boolean reverse) { } /** - * getter for suspect - Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events with undefined `suspect` property are left out of the response. + * getter for suspect - Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events with undefined `suspect` property are left out of the response. */ public Boolean getSuspect() { return suspect; } /** - * setter for suspect - Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events with undefined `suspect` property are left out of the response. + * setter for suspect - Filter events previously tagged as suspicious via the [Update API](https://dev.fingerprint.com/reference/updateevent). > Note: When using this parameter, only events with the `suspect` property explicitly set to `true` or `false` are returned. Events with undefined `suspect` property are left out of the response. */ public SearchEventsOptionalParams setSuspect(Boolean suspect) { this.suspect = suspect; @@ -553,14 +553,14 @@ public SearchEventsOptionalParams setSuspect(Boolean suspect) { } /** - * getter for vpn - Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are returned. Events without a `products.vpn` Smart Signal result are left out of the response. + * getter for vpn - Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are returned. Events without a `products.vpn` Smart Signal result are left out of the response. */ public Boolean getVpn() { return vpn; } /** - * setter for vpn - Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are returned. Events without a `products.vpn` Smart Signal result are left out of the response. + * setter for vpn - Filter events by VPN Detection result. > Note: When using this parameter, only events with the `products.vpn.data.result` property set to `true` or `false` are returned. Events without a `products.vpn` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setVpn(Boolean vpn) { this.vpn = vpn; @@ -568,14 +568,14 @@ public SearchEventsOptionalParams setVpn(Boolean vpn) { } /** - * getter for virtualMachine - Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or `false` are returned. Events without a `products.virtualMachine` Smart Signal result are left out of the response. + * getter for virtualMachine - Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or `false` are returned. Events without a `products.virtualMachine` Smart Signal result are left out of the response. */ public Boolean getVirtualMachine() { return virtualMachine; } /** - * setter for virtualMachine - Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or `false` are returned. Events without a `products.virtualMachine` Smart Signal result are left out of the response. + * setter for virtualMachine - Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the `products.virtualMachine.data.result` property set to `true` or `false` are returned. Events without a `products.virtualMachine` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setVirtualMachine(Boolean virtualMachine) { this.virtualMachine = virtualMachine; @@ -583,14 +583,14 @@ public SearchEventsOptionalParams setVirtualMachine(Boolean virtualMachine) { } /** - * getter for tampering - Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. + * getter for tampering - Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. */ public Boolean getTampering() { return tampering; } /** - * setter for tampering - Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. + * setter for tampering - Filter events by Tampering Detection result. > Note: When using this parameter, only events with the `products.tampering.data.result` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setTampering(Boolean tampering) { this.tampering = tampering; @@ -598,14 +598,14 @@ public SearchEventsOptionalParams setTampering(Boolean tampering) { } /** - * getter for antiDetectBrowser - Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. + * getter for antiDetectBrowser - Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. */ public Boolean getAntiDetectBrowser() { return antiDetectBrowser; } /** - * setter for antiDetectBrowser - Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. + * setter for antiDetectBrowser - Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the `products.tampering.data.antiDetectBrowser` property set to `true` or `false` are returned. Events without a `products.tampering` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setAntiDetectBrowser(Boolean antiDetectBrowser) { this.antiDetectBrowser = antiDetectBrowser; @@ -613,14 +613,14 @@ public SearchEventsOptionalParams setAntiDetectBrowser(Boolean antiDetectBrowser } /** - * getter for incognito - Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` are returned. Events without a `products.incognito` Smart Signal result are left out of the response. + * getter for incognito - Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` are returned. Events without a `products.incognito` Smart Signal result are left out of the response. */ public Boolean getIncognito() { return incognito; } /** - * setter for incognito - Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` are returned. Events without a `products.incognito` Smart Signal result are left out of the response. + * setter for incognito - Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the `products.incognito.data.result` property set to `true` or `false` are returned. Events without a `products.incognito` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setIncognito(Boolean incognito) { this.incognito = incognito; @@ -628,14 +628,14 @@ public SearchEventsOptionalParams setIncognito(Boolean incognito) { } /** - * getter for privacySettings - Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or `false` are returned. Events without a `products.privacySettings` Smart Signal result are left out of the response. + * getter for privacySettings - Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or `false` are returned. Events without a `products.privacySettings` Smart Signal result are left out of the response. */ public Boolean getPrivacySettings() { return privacySettings; } /** - * setter for privacySettings - Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or `false` are returned. Events without a `products.privacySettings` Smart Signal result are left out of the response. + * setter for privacySettings - Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the `products.privacySettings.data.result` property set to `true` or `false` are returned. Events without a `products.privacySettings` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setPrivacySettings(Boolean privacySettings) { this.privacySettings = privacySettings; @@ -643,14 +643,14 @@ public SearchEventsOptionalParams setPrivacySettings(Boolean privacySettings) { } /** - * getter for jailbroken - Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` are returned. Events without a `products.jailbroken` Smart Signal result are left out of the response. + * getter for jailbroken - Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` are returned. Events without a `products.jailbroken` Smart Signal result are left out of the response. */ public Boolean getJailbroken() { return jailbroken; } /** - * setter for jailbroken - Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` are returned. Events without a `products.jailbroken` Smart Signal result are left out of the response. + * setter for jailbroken - Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the `products.jailbroken.data.result` property set to `true` or `false` are returned. Events without a `products.jailbroken` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setJailbroken(Boolean jailbroken) { this.jailbroken = jailbroken; @@ -658,14 +658,14 @@ public SearchEventsOptionalParams setJailbroken(Boolean jailbroken) { } /** - * getter for frida - Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are returned. Events without a `products.frida` Smart Signal result are left out of the response. + * getter for frida - Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are returned. Events without a `products.frida` Smart Signal result are left out of the response. */ public Boolean getFrida() { return frida; } /** - * setter for frida - Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are returned. Events without a `products.frida` Smart Signal result are left out of the response. + * setter for frida - Filter events by Frida Detection result. > Note: When using this parameter, only events with the `products.frida.data.result` property set to `true` or `false` are returned. Events without a `products.frida` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setFrida(Boolean frida) { this.frida = frida; @@ -673,14 +673,14 @@ public SearchEventsOptionalParams setFrida(Boolean frida) { } /** - * getter for factoryReset - Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or `false` are returned. Events without a `products.factoryReset` Smart Signal result are left out of the response. + * getter for factoryReset - Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or `false` are returned. Events without a `products.factoryReset` Smart Signal result are left out of the response. */ public Boolean getFactoryReset() { return factoryReset; } /** - * setter for factoryReset - Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or `false` are returned. Events without a `products.factoryReset` Smart Signal result are left out of the response. + * setter for factoryReset - Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the `products.factoryReset.data.result` property set to `true` or `false` are returned. Events without a `products.factoryReset` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setFactoryReset(Boolean factoryReset) { this.factoryReset = factoryReset; @@ -688,14 +688,14 @@ public SearchEventsOptionalParams setFactoryReset(Boolean factoryReset) { } /** - * getter for clonedApp - Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` are returned. Events without a `products.clonedApp` Smart Signal result are left out of the response. + * getter for clonedApp - Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` are returned. Events without a `products.clonedApp` Smart Signal result are left out of the response. */ public Boolean getClonedApp() { return clonedApp; } /** - * setter for clonedApp - Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` are returned. Events without a `products.clonedApp` Smart Signal result are left out of the response. + * setter for clonedApp - Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the `products.clonedApp.data.result` property set to `true` or `false` are returned. Events without a `products.clonedApp` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setClonedApp(Boolean clonedApp) { this.clonedApp = clonedApp; @@ -703,14 +703,14 @@ public SearchEventsOptionalParams setClonedApp(Boolean clonedApp) { } /** - * getter for emulator - Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` are returned. Events without a `products.emulator` Smart Signal result are left out of the response. + * getter for emulator - Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` are returned. Events without a `products.emulator` Smart Signal result are left out of the response. */ public Boolean getEmulator() { return emulator; } /** - * setter for emulator - Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` are returned. Events without a `products.emulator` Smart Signal result are left out of the response. + * setter for emulator - Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the `products.emulator.data.result` property set to `true` or `false` are returned. Events without a `products.emulator` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setEmulator(Boolean emulator) { this.emulator = emulator; @@ -718,14 +718,14 @@ public SearchEventsOptionalParams setEmulator(Boolean emulator) { } /** - * getter for rootApps - Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` are returned. Events without a `products.rootApps` Smart Signal result are left out of the response. + * getter for rootApps - Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` are returned. Events without a `products.rootApps` Smart Signal result are left out of the response. */ public Boolean getRootApps() { return rootApps; } /** - * setter for rootApps - Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` are returned. Events without a `products.rootApps` Smart Signal result are left out of the response. + * setter for rootApps - Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the `products.rootApps.data.result` property set to `true` or `false` are returned. Events without a `products.rootApps` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setRootApps(Boolean rootApps) { this.rootApps = rootApps; @@ -733,14 +733,14 @@ public SearchEventsOptionalParams setRootApps(Boolean rootApps) { } /** - * getter for vpnConfidence - Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. `medium` - events with medium VPN Detection confidence. `low` - events with low VPN Detection confidence. > Note: When using this parameter, only events with the `products.vpn.data.confidence` property set to a valid value are returned. Events without a `products.vpn` Smart Signal result are left out of the response. + * getter for vpnConfidence - Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. `medium` - events with medium VPN Detection confidence. `low` - events with low VPN Detection confidence. > Note: When using this parameter, only events with the `products.vpn.data.confidence` property set to a valid value are returned. Events without a `products.vpn` Smart Signal result are left out of the response. */ public String getVpnConfidence() { return vpnConfidence; } /** - * setter for vpnConfidence - Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. `medium` - events with medium VPN Detection confidence. `low` - events with low VPN Detection confidence. > Note: When using this parameter, only events with the `products.vpn.data.confidence` property set to a valid value are returned. Events without a `products.vpn` Smart Signal result are left out of the response. + * setter for vpnConfidence - Filter events by VPN Detection result confidence level. `high` - events with high VPN Detection confidence. `medium` - events with medium VPN Detection confidence. `low` - events with low VPN Detection confidence. > Note: When using this parameter, only events with the `products.vpn.data.confidence` property set to a valid value are returned. Events without a `products.vpn` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setVpnConfidence(String vpnConfidence) { this.vpnConfidence = vpnConfidence; @@ -763,14 +763,14 @@ public SearchEventsOptionalParams setMinSuspectScore(Float minSuspectScore) { } /** - * getter for ipBlocklist - Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` are returned. Events without a `products.ipBlocklist` Smart Signal result are left out of the response. + * getter for ipBlocklist - Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` are returned. Events without a `products.ipBlocklist` Smart Signal result are left out of the response. */ public Boolean getIpBlocklist() { return ipBlocklist; } /** - * setter for ipBlocklist - Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` are returned. Events without a `products.ipBlocklist` Smart Signal result are left out of the response. + * setter for ipBlocklist - Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the `products.ipBlocklist.data.result` property set to `true` or `false` are returned. Events without a `products.ipBlocklist` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setIpBlocklist(Boolean ipBlocklist) { this.ipBlocklist = ipBlocklist; @@ -778,14 +778,14 @@ public SearchEventsOptionalParams setIpBlocklist(Boolean ipBlocklist) { } /** - * getter for datacenter - Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or `products.ipInfo.data.v6.datacenter.result` property set to `true` or `false` are returned. Events without a `products.ipInfo` Smart Signal result are left out of the response. + * getter for datacenter - Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or `products.ipInfo.data.v6.datacenter.result` property set to `true` or `false` are returned. Events without a `products.ipInfo` Smart Signal result are left out of the response. */ public Boolean getDatacenter() { return datacenter; } /** - * setter for datacenter - Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or `products.ipInfo.data.v6.datacenter.result` property set to `true` or `false` are returned. Events without a `products.ipInfo` Smart Signal result are left out of the response. + * setter for datacenter - Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the `products.ipInfo.data.v4.datacenter.result` or `products.ipInfo.data.v6.datacenter.result` property set to `true` or `false` are returned. Events without a `products.ipInfo` Smart Signal result are left out of the response. */ public SearchEventsOptionalParams setDatacenter(Boolean datacenter) { this.datacenter = datacenter; @@ -930,7 +930,7 @@ public SearchEventsOptionalParams setProximityPrecisionRadius(Integer proximityP } /** * Get events via search - * Search for identification events, including Smart Signals, using multiple filtering criteria. If you don't provide `start` or `end` parameters, the default search range is the last 7 days. Please note that events include mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. We recommend you **ignore** mobile signals for such requests. + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-eventssearch) to migrate from this deprecated version to the new one. Search for identification events, including Smart Signals, using multiple filtering criteria. If you don't provide `start` or `end` parameters, the default search range is the last 7 days. Please note that events include mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. We recommend you **ignore** mobile signals for such requests. * @param limit Limit the number of events returned. (required) * @param searchEventsOptionalParams Object containing optional parameters for API method. (optional) * @return SearchEventsResponse @@ -949,7 +949,7 @@ public SearchEventsResponse searchEvents(Integer limit, SearchEventsOptionalPara /** * Get events via search - * Search for identification events, including Smart Signals, using multiple filtering criteria. If you don't provide `start` or `end` parameters, the default search range is the last 7 days. Please note that events include mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. We recommend you **ignore** mobile signals for such requests. + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-get-eventssearch) to migrate from this deprecated version to the new one. Search for identification events, including Smart Signals, using multiple filtering criteria. If you don't provide `start` or `end` parameters, the default search range is the last 7 days. Please note that events include mobile signals (e.g. `rootApps`) even if the request originated from a non-mobile platform. We recommend you **ignore** mobile signals for such requests. * @param limit Limit the number of events returned. (required) * @param searchEventsOptionalParams Object containing optional parameters for API method. (optional) * @return ApiResponse @@ -1042,7 +1042,7 @@ public ApiResponse searchEventsWithHttpInfo(Integer limit, } /** * Update an event with a given request ID - * Change information in existing events specified by `requestId` or *flag suspicious events*. When an event is created, it is assigned `linkedId` and `tag` submitted through the JS agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact. **Warning** It's not possible to update events older than 10 days. + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-update-events) to migrate from this deprecated version to the new one. Change information in existing events specified by `requestId` or *flag suspicious events*. When an event is created, it is assigned `linkedId` and `tag` submitted through the JS agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact. **Warning** It's not possible to update events older than 10 days. * @param requestId The unique event [identifier](https://dev.fingerprint.com/reference/get-function#requestid). (required) * @param eventsUpdateRequest (required) * @throws ApiException if fails to make API call @@ -1062,7 +1062,7 @@ public void updateEvent(String requestId, EventsUpdateRequest eventsUpdateReques /** * Update an event with a given request ID - * Change information in existing events specified by `requestId` or *flag suspicious events*. When an event is created, it is assigned `linkedId` and `tag` submitted through the JS agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact. **Warning** It's not possible to update events older than 10 days. + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully removed on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4#migrating-update-events) to migrate from this deprecated version to the new one. Change information in existing events specified by `requestId` or *flag suspicious events*. When an event is created, it is assigned `linkedId` and `tag` submitted through the JS agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact. **Warning** It's not possible to update events older than 10 days. * @param requestId The unique event [identifier](https://dev.fingerprint.com/reference/get-function#requestid). (required) * @param eventsUpdateRequest (required) * @return ApiResponse diff --git a/sdk/src/main/java/com/fingerprint/model/AbstractOpenApiSchema.java b/sdk/src/main/java/com/fingerprint/model/AbstractOpenApiSchema.java index 405e42f5..f63c03f7 100644 --- a/sdk/src/main/java/com/fingerprint/model/AbstractOpenApiSchema.java +++ b/sdk/src/main/java/com/fingerprint/model/AbstractOpenApiSchema.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/model/ErrorCode.java b/sdk/src/main/java/com/fingerprint/model/ErrorCode.java index fe8f5f99..48c43619 100644 --- a/sdk/src/main/java/com/fingerprint/model/ErrorCode.java +++ b/sdk/src/main/java/com/fingerprint/model/ErrorCode.java @@ -9,7 +9,7 @@ import com.fasterxml.jackson.annotation.JsonValue; /** - * Error code: * `RequestCannotBeParsed` - the query parameters or JSON payload contains some errors that prevented us from parsing it (wrong type/surpassed limits). * `TokenRequired` - `Auth-API-Key` header is missing or empty. * `TokenNotFound` - no Fingerprint application found for specified secret key. * `SubscriptionNotActive` - Fingerprint application is not active. * `WrongRegion` - server and application region differ. * `FeatureNotEnabled` - this feature (for example, Delete API) is not enabled for your application. * `RequestNotFound` - the specified request ID was not found. It never existed, expired, or it has been deleted. * `VisitorNotFound` - The specified visitor ID was not found. It never existed or it may have already been deleted. * `TooManyRequests` - the limit on secret API key requests per second has been exceeded. * `429 Too Many Requests` - the limit on secret API key requests per second has been exceeded. * `StateNotReady` - The event specified with request id is not ready for updates yet. Try again. This error happens in rare cases when update API is called immediately after receiving the request id on the client. In case you need to send information right away, we recommend using the JS agent API instead. * `Failed` - internal server error. + * Error code: * `RequestCannotBeParsed` - the query parameters or JSON payload contains some errors that prevented us from parsing it (wrong type/surpassed limits). * `TokenRequired` - `Auth-API-Key` header is missing or empty. * `TokenNotFound` - no Fingerprint application found for specified secret key. * `SubscriptionNotActive` - Fingerprint application is not active. * `WrongRegion` - server and application region differ. * `FeatureNotEnabled` - this feature (for example, Delete API) is not enabled for your application. * `WorkspaceScopedSecretKeyRequired` - The provided secret API key is scoped to an environment, but this operation requires a workspace-scoped secret API key. * `RequestNotFound` - the specified request ID was not found. It never existed, expired, or it has been deleted. * `VisitorNotFound` - The specified visitor ID was not found. It never existed or it may have already been deleted. * `TooManyRequests` - the limit on secret API key requests per second has been exceeded. * `429 Too Many Requests` - the limit on secret API key requests per second has been exceeded. * `StateNotReady` - The event specified with request id is not ready for updates yet. Try again. This error happens in rare cases when update API is called immediately after receiving the request id on the client. In case you need to send information right away, we recommend using the JS agent API instead. * `Failed` - internal server error. */ public enum ErrorCode { @@ -25,6 +25,8 @@ public enum ErrorCode { FEATURE_NOT_ENABLED("FeatureNotEnabled"), + WORKSPACE_SCOPED_SECRET_KEY_REQUIRED("WorkspaceScopedSecretKeyRequired"), + REQUEST_NOT_FOUND("RequestNotFound"), VISITOR_NOT_FOUND("VisitorNotFound"), diff --git a/sdk/src/main/java/com/fingerprint/model/EventsGetResponse.java b/sdk/src/main/java/com/fingerprint/model/EventsGetResponse.java index 92f3e8fb..05f1c990 100644 --- a/sdk/src/main/java/com/fingerprint/model/EventsGetResponse.java +++ b/sdk/src/main/java/com/fingerprint/model/EventsGetResponse.java @@ -13,10 +13,10 @@ import io.swagger.v3.oas.annotations.media.Schema; /** - * Contains results from all activated products - Fingerprint Pro, Bot Detection, and others. + * Contains results from Fingerprint Identification and all active Smart Signals. */ -@Schema(description = "Contains results from all activated products - Fingerprint Pro, Bot Detection, and others.") +@Schema(description = "Contains results from Fingerprint Identification and all active Smart Signals.") @JsonPropertyOrder({ EventsGetResponse.JSON_PROPERTY_PRODUCTS }) diff --git a/sdk/src/main/java/com/fingerprint/model/FactoryReset.java b/sdk/src/main/java/com/fingerprint/model/FactoryReset.java index 221bbc35..7c0dd9a6 100644 --- a/sdk/src/main/java/com/fingerprint/model/FactoryReset.java +++ b/sdk/src/main/java/com/fingerprint/model/FactoryReset.java @@ -64,11 +64,11 @@ public FactoryReset timestamp(Long timestamp) { } /** - * This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. + * This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. * @return timestamp **/ @jakarta.annotation.Nonnull - @Schema(required = true, description = "This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. ") + @Schema(required = true, description = "This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. ") @JsonProperty(JSON_PROPERTY_TIMESTAMP) @JsonInclude(value = JsonInclude.Include.ALWAYS) diff --git a/sdk/src/main/java/com/fingerprint/model/IPInfoASN.java b/sdk/src/main/java/com/fingerprint/model/IPInfoASN.java index a58d3d40..7ce685c4 100644 --- a/sdk/src/main/java/com/fingerprint/model/IPInfoASN.java +++ b/sdk/src/main/java/com/fingerprint/model/IPInfoASN.java @@ -19,7 +19,8 @@ @JsonPropertyOrder({ IPInfoASN.JSON_PROPERTY_ASN, IPInfoASN.JSON_PROPERTY_NAME, - IPInfoASN.JSON_PROPERTY_NETWORK + IPInfoASN.JSON_PROPERTY_NETWORK, + IPInfoASN.JSON_PROPERTY_TYPE }) @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0") public class IPInfoASN { @@ -32,6 +33,9 @@ public class IPInfoASN { public static final String JSON_PROPERTY_NETWORK = "network"; private String network; + public static final String JSON_PROPERTY_TYPE = "type"; + private String type; + public IPInfoASN() { } @@ -113,6 +117,32 @@ public void setNetwork(String network) { } + public IPInfoASN type(String type) { + this.type = type; + return this; + } + + /** + * Get type + * @return type + **/ + @jakarta.annotation.Nullable + @Schema(description = "") + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getType() { + return type; + } + + + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setType(String type) { + this.type = type; + } + + /** * Return true if this IPInfoASN object is equal to o. */ @@ -127,12 +157,13 @@ public boolean equals(Object o) { IPInfoASN ipInfoASN = (IPInfoASN) o; return Objects.equals(this.asn, ipInfoASN.asn) && Objects.equals(this.name, ipInfoASN.name) && - Objects.equals(this.network, ipInfoASN.network); + Objects.equals(this.network, ipInfoASN.network) && + Objects.equals(this.type, ipInfoASN.type); } @Override public int hashCode() { - return Objects.hash(asn, name, network); + return Objects.hash(asn, name, network, type); } @Override @@ -142,6 +173,7 @@ public String toString() { sb.append(" asn: ").append(toIndentedString(asn)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" network: ").append(toIndentedString(network)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/sdk/src/main/java/com/fingerprint/model/Integration.java b/sdk/src/main/java/com/fingerprint/model/Integration.java new file mode 100644 index 00000000..702c7b64 --- /dev/null +++ b/sdk/src/main/java/com/fingerprint/model/Integration.java @@ -0,0 +1,162 @@ +package com.fingerprint.model; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import com.fingerprint.model.IntegrationSubintegration; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fingerprint.sdk.JSON; +import io.swagger.v3.oas.annotations.media.Schema; + +/** + * Integration + */ + + +@JsonPropertyOrder({ + Integration.JSON_PROPERTY_NAME, + Integration.JSON_PROPERTY_VERSION, + Integration.JSON_PROPERTY_SUBINTEGRATION +}) +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0") +public class Integration { + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_VERSION = "version"; + private String version; + + public static final String JSON_PROPERTY_SUBINTEGRATION = "subintegration"; + private IntegrationSubintegration subintegration; + + public Integration() { + } + + public Integration name(String name) { + this.name = name; + return this; + } + + /** + * The name of the specific integration, e.g. \"fingerprint-pro-react\". + * @return name + **/ + @jakarta.annotation.Nullable + @Schema(description = "The name of the specific integration, e.g. \"fingerprint-pro-react\".") + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getName() { + return name; + } + + + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setName(String name) { + this.name = name; + } + + + public Integration version(String version) { + this.version = version; + return this; + } + + /** + * The version of the specific integration, e.g. \"3.11.10\". + * @return version + **/ + @jakarta.annotation.Nullable + @Schema(description = "The version of the specific integration, e.g. \"3.11.10\".") + @JsonProperty(JSON_PROPERTY_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getVersion() { + return version; + } + + + @JsonProperty(JSON_PROPERTY_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(String version) { + this.version = version; + } + + + public Integration subintegration(IntegrationSubintegration subintegration) { + this.subintegration = subintegration; + return this; + } + + /** + * Get subintegration + * @return subintegration + **/ + @jakarta.annotation.Nullable + @Schema(description = "") + @JsonProperty(JSON_PROPERTY_SUBINTEGRATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public IntegrationSubintegration getSubintegration() { + return subintegration; + } + + + @JsonProperty(JSON_PROPERTY_SUBINTEGRATION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setSubintegration(IntegrationSubintegration subintegration) { + this.subintegration = subintegration; + } + + + /** + * Return true if this Integration object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + Integration integration = (Integration) o; + return Objects.equals(this.name, integration.name) && + Objects.equals(this.version, integration.version) && + Objects.equals(this.subintegration, integration.subintegration); + } + + @Override + public int hashCode() { + return Objects.hash(name, version, subintegration); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class Integration {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" subintegration: ").append(toIndentedString(subintegration)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/sdk/src/main/java/com/fingerprint/model/IntegrationSubintegration.java b/sdk/src/main/java/com/fingerprint/model/IntegrationSubintegration.java new file mode 100644 index 00000000..e02c24fe --- /dev/null +++ b/sdk/src/main/java/com/fingerprint/model/IntegrationSubintegration.java @@ -0,0 +1,130 @@ +package com.fingerprint.model; + +import java.util.Objects; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonTypeName; +import com.fasterxml.jackson.annotation.JsonValue; +import java.util.Arrays; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fingerprint.sdk.JSON; +import io.swagger.v3.oas.annotations.media.Schema; + +/** + * IntegrationSubintegration + */ + + +@JsonPropertyOrder({ + IntegrationSubintegration.JSON_PROPERTY_NAME, + IntegrationSubintegration.JSON_PROPERTY_VERSION +}) +@JsonTypeName("Integration_subintegration") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0") +public class IntegrationSubintegration { + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_VERSION = "version"; + private String version; + + public IntegrationSubintegration() { + } + + public IntegrationSubintegration name(String name) { + this.name = name; + return this; + } + + /** + * The name of the specific subintegration, e.g. \"preact\". + * @return name + **/ + @jakarta.annotation.Nullable + @Schema(description = "The name of the specific subintegration, e.g. \"preact\".") + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getName() { + return name; + } + + + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setName(String name) { + this.name = name; + } + + + public IntegrationSubintegration version(String version) { + this.version = version; + return this; + } + + /** + * The version of the specific subintegration, e.g. \"10.21.0\". + * @return version + **/ + @jakarta.annotation.Nullable + @Schema(description = "The version of the specific subintegration, e.g. \"10.21.0\".") + @JsonProperty(JSON_PROPERTY_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public String getVersion() { + return version; + } + + + @JsonProperty(JSON_PROPERTY_VERSION) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setVersion(String version) { + this.version = version; + } + + + /** + * Return true if this Integration_subintegration object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + IntegrationSubintegration integrationSubintegration = (IntegrationSubintegration) o; + return Objects.equals(this.name, integrationSubintegration.name) && + Objects.equals(this.version, integrationSubintegration.version); + } + + @Override + public int hashCode() { + return Objects.hash(name, version); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class IntegrationSubintegration {\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append("}"); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces + * (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } + +} + diff --git a/sdk/src/main/java/com/fingerprint/model/SDK.java b/sdk/src/main/java/com/fingerprint/model/SDK.java index 624ee9d5..6f399cc5 100644 --- a/sdk/src/main/java/com/fingerprint/model/SDK.java +++ b/sdk/src/main/java/com/fingerprint/model/SDK.java @@ -6,7 +6,10 @@ import com.fasterxml.jackson.annotation.JsonCreator; import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; +import com.fingerprint.model.Integration; +import java.util.ArrayList; import java.util.Arrays; +import java.util.List; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fingerprint.sdk.JSON; import io.swagger.v3.oas.annotations.media.Schema; @@ -18,7 +21,8 @@ @Schema(description = "Contains information about the SDK used to perform the request.") @JsonPropertyOrder({ SDK.JSON_PROPERTY_PLATFORM, - SDK.JSON_PROPERTY_VERSION + SDK.JSON_PROPERTY_VERSION, + SDK.JSON_PROPERTY_INTEGRATIONS }) @jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", comments = "Generator version: 7.7.0") public class SDK { @@ -28,6 +32,9 @@ public class SDK { public static final String JSON_PROPERTY_VERSION = "version"; private String version; + public static final String JSON_PROPERTY_INTEGRATIONS = "integrations"; + private List integrations = null; + public SDK() { } @@ -83,6 +90,40 @@ public void setVersion(String version) { } + public SDK integrations(List integrations) { + this.integrations = integrations; + return this; + } + + public SDK addIntegrationItem(Integration integrationsItem) { + if (this.integrations == null) { + this.integrations = new ArrayList<>(); + } + this.integrations.add(integrationsItem); + return this; + } + + /** + * Get integrations + * @return integrations + **/ + @jakarta.annotation.Nullable + @Schema(description = "") + @JsonProperty(JSON_PROPERTY_INTEGRATIONS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + + public List getIntegrations() { + return integrations; + } + + + @JsonProperty(JSON_PROPERTY_INTEGRATIONS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public void setIntegrations(List integrations) { + this.integrations = integrations; + } + + /** * Return true if this SDK object is equal to o. */ @@ -96,12 +137,13 @@ public boolean equals(Object o) { } SDK SDK = (SDK) o; return Objects.equals(this.platform, SDK.platform) && - Objects.equals(this.version, SDK.version); + Objects.equals(this.version, SDK.version) && + Objects.equals(this.integrations, SDK.integrations); } @Override public int hashCode() { - return Objects.hash(platform, version); + return Objects.hash(platform, version, integrations); } @Override @@ -110,6 +152,7 @@ public String toString() { sb.append("class SDK {\n"); sb.append(" platform: ").append(toIndentedString(platform)).append("\n"); sb.append(" version: ").append(toIndentedString(version)).append("\n"); + sb.append(" integrations: ").append(toIndentedString(integrations)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/sdk/src/main/java/com/fingerprint/model/WebhookFactoryReset.java b/sdk/src/main/java/com/fingerprint/model/WebhookFactoryReset.java index 4fbc15f1..baf45585 100644 --- a/sdk/src/main/java/com/fingerprint/model/WebhookFactoryReset.java +++ b/sdk/src/main/java/com/fingerprint/model/WebhookFactoryReset.java @@ -64,11 +64,11 @@ public WebhookFactoryReset timestamp(Long timestamp) { } /** - * This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. + * This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. * @return timestamp **/ @jakarta.annotation.Nullable - @Schema(description = "This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. ") + @Schema(description = "This field is just another representation of the value in the `time` field. The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. ") @JsonProperty(JSON_PROPERTY_TIMESTAMP) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) diff --git a/sdk/src/main/java/com/fingerprint/sdk/ApiException.java b/sdk/src/main/java/com/fingerprint/sdk/ApiException.java index 85d2145f..ef798b10 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/ApiException.java +++ b/sdk/src/main/java/com/fingerprint/sdk/ApiException.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/ApiResponse.java b/sdk/src/main/java/com/fingerprint/sdk/ApiResponse.java index f06f4627..c478ee42 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/ApiResponse.java +++ b/sdk/src/main/java/com/fingerprint/sdk/ApiResponse.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/Configuration.java b/sdk/src/main/java/com/fingerprint/sdk/Configuration.java index 32e09a7d..2d83854a 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/Configuration.java +++ b/sdk/src/main/java/com/fingerprint/sdk/Configuration.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/JavaTimeFormatter.java b/sdk/src/main/java/com/fingerprint/sdk/JavaTimeFormatter.java index 4f330ad2..a144784d 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/JavaTimeFormatter.java +++ b/sdk/src/main/java/com/fingerprint/sdk/JavaTimeFormatter.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/Pair.java b/sdk/src/main/java/com/fingerprint/sdk/Pair.java index e025918b..ca1ed34e 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/Pair.java +++ b/sdk/src/main/java/com/fingerprint/sdk/Pair.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/RFC3339DateFormat.java b/sdk/src/main/java/com/fingerprint/sdk/RFC3339DateFormat.java index cc294089..37f4e3c7 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/RFC3339DateFormat.java +++ b/sdk/src/main/java/com/fingerprint/sdk/RFC3339DateFormat.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/StringUtil.java b/sdk/src/main/java/com/fingerprint/sdk/StringUtil.java index dd42997a..87c448dd 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/StringUtil.java +++ b/sdk/src/main/java/com/fingerprint/sdk/StringUtil.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/auth/ApiKeyAuth.java b/sdk/src/main/java/com/fingerprint/sdk/auth/ApiKeyAuth.java index b88fa211..c3ea3470 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/auth/ApiKeyAuth.java +++ b/sdk/src/main/java/com/fingerprint/sdk/auth/ApiKeyAuth.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/auth/Authentication.java b/sdk/src/main/java/com/fingerprint/sdk/auth/Authentication.java index 21f21b2a..90a45ad8 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/auth/Authentication.java +++ b/sdk/src/main/java/com/fingerprint/sdk/auth/Authentication.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/auth/HttpBasicAuth.java b/sdk/src/main/java/com/fingerprint/sdk/auth/HttpBasicAuth.java index 65f910dc..f75ec18f 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/auth/HttpBasicAuth.java +++ b/sdk/src/main/java/com/fingerprint/sdk/auth/HttpBasicAuth.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com diff --git a/sdk/src/main/java/com/fingerprint/sdk/auth/HttpBearerAuth.java b/sdk/src/main/java/com/fingerprint/sdk/auth/HttpBearerAuth.java index ef2ad071..497d7b39 100644 --- a/sdk/src/main/java/com/fingerprint/sdk/auth/HttpBearerAuth.java +++ b/sdk/src/main/java/com/fingerprint/sdk/auth/HttpBearerAuth.java @@ -1,6 +1,6 @@ /* - * Fingerprint Server API - * Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. + * Server API v3 (deprecated) + * > 🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on **Jan 7th 2026** and will be fully defunct on **Jan 7th 2027** according to our [API Deprecation Policy](https://dev.fingerprint.com/reference/api-deprecation-policy). If you still use this version, please follow our [migration guide](https://dev.fingerprint.com/reference/migrating-from-server-api-v3-to-v4) to migrate from this deprecated version to the new one. Fingerprint Server API allows you to search, update, and delete identification events in a server environment. It can be used for data exports, decision-making, and data analysis scenarios. Server API is intended for server-side usage, it's not intended to be used from the client side, whether it's a browser or a mobile device. * * The version of the OpenAPI document: 3 * Contact: support@fingerprint.com From 5a13f3ba1908cbb778abe63a38aaf9ef2e5c8cb4 Mon Sep 17 00:00:00 2001 From: Juraj Uhlar Date: Thu, 5 Mar 2026 18:22:36 +0000 Subject: [PATCH 4/6] fix: typo Co-authored-by: Dan McNulty <212590662+mcnulty-fp@users.noreply.github.com> --- template/README.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/template/README.mustache b/template/README.mustache index 2f60ccab..dffedcef 100644 --- a/template/README.mustache +++ b/template/README.mustache @@ -19,7 +19,7 @@ # Fingerprint Server API Java SDK > [!WARNING] -> This repository is deprecated. Please use [latest version](https://github.com/fingerprintjs/java-sdk/releases/latest) of the SDK in the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). +> This repository is deprecated. Please use the [latest version](https://github.com/fingerprintjs/java-sdk/releases/latest) of the SDK in the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). [Fingerprint](https://fingerprint.com/) is a device intelligence platform offering industry-leading accuracy. The Fingerprint Server Java SDK is an easy way to interact with the Fingerprint [Server API](https://dev.fingerprint.com/reference/pro-server-api) from your Java application. You can search, update, and delete identification events. From 09ef725b838f3bf85f16baf9f9157066fbfa0847 Mon Sep 17 00:00:00 2001 From: Juraj Uhlar Date: Fri, 6 Mar 2026 09:54:13 +0000 Subject: [PATCH 5/6] fix: typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e5e8eee3..96f271c8 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ # Fingerprint Server API Java SDK > [!WARNING] -> This repository is deprecated. Please use [latest version](https://github.com/fingerprintjs/java-sdk/releases/latest) of the SDK in the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). +> This repository is deprecated. Please use the [latest version](https://github.com/fingerprintjs/java-sdk/releases/latest) of the SDK in the new Java SDK repository: [fingerprintjs/java-sdk](https://github.com/fingerprintjs/java-sdk). [Fingerprint](https://fingerprint.com/) is a device intelligence platform offering industry-leading accuracy. The Fingerprint Server Java SDK is an easy way to interact with the Fingerprint [Server API](https://dev.fingerprint.com/reference/pro-server-api) from your Java application. You can search, update, and delete identification events. From 8e7c2d6c2e776371a210d04e061e61de7bc8bdd4 Mon Sep 17 00:00:00 2001 From: Juraj Uhlar Date: Fri, 6 Mar 2026 10:16:25 +0000 Subject: [PATCH 6/6] chore: add changeset --- .changeset/blue-pigs-vanish.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .changeset/blue-pigs-vanish.md diff --git a/.changeset/blue-pigs-vanish.md b/.changeset/blue-pigs-vanish.md new file mode 100644 index 00000000..cbd8bc42 --- /dev/null +++ b/.changeset/blue-pigs-vanish.md @@ -0,0 +1,10 @@ +--- +'fingerprint-pro-server-api-java-sdk': minor +--- + +Regenerate the SDK with the latest Server API v3 schema. + +- Add `sdk.integrations` with new `Integration` and `IntegrationSubintegration` models. +- Add `type` to `IPInfoASN`. +- Add `WorkspaceScopedSecretKeyRequired` to `ErrorCode`. +- Update generated docs and operation descriptions to reflect Server API v3 deprecation guidance.