Skip to content
6 changes: 6 additions & 0 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,14 @@ docs/BotResult.md
docs/BrowserDetails.md
docs/Canvas.md
docs/DecryptionKey.md
docs/EdgeRequest.md
docs/EdgeRequestHeadersInner.md
docs/Emoji.md
docs/Error.md
docs/ErrorCode.md
docs/ErrorResponse.md
docs/Event.md
docs/EventEdge.md
docs/EventRuleAction.md
docs/EventRuleActionAllow.md
docs/EventRuleActionBlock.md
Expand Down Expand Up @@ -79,11 +82,14 @@ fingerprint_server_sdk/models/bot_info_identity.py
fingerprint_server_sdk/models/bot_result.py
fingerprint_server_sdk/models/browser_details.py
fingerprint_server_sdk/models/canvas.py
fingerprint_server_sdk/models/edge_request.py
fingerprint_server_sdk/models/edge_request_headers_inner.py
fingerprint_server_sdk/models/emoji.py
fingerprint_server_sdk/models/error.py
fingerprint_server_sdk/models/error_code.py
fingerprint_server_sdk/models/error_response.py
fingerprint_server_sdk/models/event.py
fingerprint_server_sdk/models/event_edge.py
fingerprint_server_sdk/models/event_rule_action.py
fingerprint_server_sdk/models/event_rule_action_allow.py
fingerprint_server_sdk/models/event_rule_action_block.py
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,7 @@ All URIs are relative to *https://api.fpjs.io/v4*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*FingerprintApi* | [**analyze_request_for_automation_intelligence**](docs/FingerprintApi.md#analyze_request_for_automation_intelligence) | **POST** /edge | Collect Automation Intelligence.
*FingerprintApi* | [**delete_visitor_data**](docs/FingerprintApi.md#delete_visitor_data) | **DELETE** /visitors/{visitor_id} | Delete a visitor ID
*FingerprintApi* | [**get_event**](docs/FingerprintApi.md#get_event) | **GET** /events/{event_id} | Get an event by event ID
*FingerprintApi* | [**search_events**](docs/FingerprintApi.md#search_events) | **GET** /events | Search events
Expand All @@ -318,11 +319,14 @@ Class | Method | HTTP request | Description
- [BotResult](docs/BotResult.md)
- [BrowserDetails](docs/BrowserDetails.md)
- [Canvas](docs/Canvas.md)
- [EdgeRequest](docs/EdgeRequest.md)
- [EdgeRequestHeadersInner](docs/EdgeRequestHeadersInner.md)
- [Emoji](docs/Emoji.md)
- [Error](docs/Error.md)
- [ErrorCode](docs/ErrorCode.md)
- [ErrorResponse](docs/ErrorResponse.md)
- [Event](docs/Event.md)
- [EventEdge](docs/EventEdge.md)
- [EventRuleAction](docs/EventRuleAction.md)
- [EventRuleActionAllow](docs/EventRuleActionAllow.md)
- [EventRuleActionBlock](docs/EventRuleActionBlock.md)
Expand Down
4 changes: 4 additions & 0 deletions README.pypi.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,7 @@ All URIs are relative to *https://api.fpjs.io/v4*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*FingerprintApi* | [**analyze_request_for_automation_intelligence**](https://github.com/fingerprintjs/python-sdk/blob/main/docs/FingerprintApi.md#analyze_request_for_automation_intelligence) | **POST** /edge | Collect Automation Intelligence.
*FingerprintApi* | [**delete_visitor_data**](https://github.com/fingerprintjs/python-sdk/blob/main/docs/FingerprintApi.md#delete_visitor_data) | **DELETE** /visitors/{visitor_id} | Delete a visitor ID
*FingerprintApi* | [**get_event**](https://github.com/fingerprintjs/python-sdk/blob/main/docs/FingerprintApi.md#get_event) | **GET** /events/{event_id} | Get an event by event ID
*FingerprintApi* | [**search_events**](https://github.com/fingerprintjs/python-sdk/blob/main/docs/FingerprintApi.md#search_events) | **GET** /events | Search events
Expand All @@ -314,11 +315,14 @@ Class | Method | HTTP request | Description
- [BotResult](https://github.com/fingerprintjs/python-sdk/blob/main/docs/BotResult.md)
- [BrowserDetails](https://github.com/fingerprintjs/python-sdk/blob/main/docs/BrowserDetails.md)
- [Canvas](https://github.com/fingerprintjs/python-sdk/blob/main/docs/Canvas.md)
- [EdgeRequest](https://github.com/fingerprintjs/python-sdk/blob/main/docs/EdgeRequest.md)
- [EdgeRequestHeadersInner](https://github.com/fingerprintjs/python-sdk/blob/main/docs/EdgeRequestHeadersInner.md)
- [Emoji](https://github.com/fingerprintjs/python-sdk/blob/main/docs/Emoji.md)
- [Error](https://github.com/fingerprintjs/python-sdk/blob/main/docs/Error.md)
- [ErrorCode](https://github.com/fingerprintjs/python-sdk/blob/main/docs/ErrorCode.md)
- [ErrorResponse](https://github.com/fingerprintjs/python-sdk/blob/main/docs/ErrorResponse.md)
- [Event](https://github.com/fingerprintjs/python-sdk/blob/main/docs/Event.md)
- [EventEdge](https://github.com/fingerprintjs/python-sdk/blob/main/docs/EventEdge.md)
- [EventRuleAction](https://github.com/fingerprintjs/python-sdk/blob/main/docs/EventRuleAction.md)
- [EventRuleActionAllow](https://github.com/fingerprintjs/python-sdk/blob/main/docs/EventRuleActionAllow.md)
- [EventRuleActionBlock](https://github.com/fingerprintjs/python-sdk/blob/main/docs/EventRuleActionBlock.md)
Expand Down
17 changes: 17 additions & 0 deletions docs/EdgeRequest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# EdgeRequest
HTTP request metadata (including the HTTP method, headers and IP address) sent by you (your server) to the Fingerprint API for IP and bot analysis. To improve accuracy, retain as much of the original semantics of the HTTP request as possible. For example, preserve the order of the request headers and their capitalization.
At least one of `ipv4_address` or `ipv6_address` must be provided; a request with neither is rejected with a `400` error. If both IPv4 and IPv6 are provided, IP intelligence will be provided for each address. If an IPv4-mapped IPv6 address is provided in the `ipv6_address` request property, the IP intelligence will be provided in the `ipv4_address` property of the response.

## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**headers** | [**List[EdgeRequestHeadersInner]**](EdgeRequestHeadersInner.md) | Ordered header entries from the request made to your server. Each entry represents one header line. If one header name appears as multiple lines, send each as a separate item in the array. Headers that contain authentication or session data must still be included, but with their value set to an empty string. This includes headers like `Authorization` and `Cookie`, but may contain more depending on your specific project, for instance `Proxy-Authenticate` or `X-Api-Key`. Omitting the headers entirely changes the shape of the request and can affect detection. Never forward the real secret values. Whenever possible, we recommend preserving header order and capitalization to provide the best accuracy, however it’s not a strict requirement if your runtime does not maintain http header order or canonicalizes header names. |
**method** | **str** | The original HTTP method of the request. If supported in your runtime, preserve the original casing. |
**url** | **str** | Absolute URL of the request, without a \\#fragment suffix. Only HTTP and HTTPS schemes are supported. |
**ipv4_address** | **str** | Client IPv4 address observed by your server. | [optional]
**ipv6_address** | **str** | Client IPv6 address observed by your server. | [optional]
**linked_id** | **str** | A customer-provided id that was sent with the request. | [optional]
**tags** | **Dict[str, object]** | A customer-provided value or an object that was sent with the identification request or updated later. | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

9 changes: 9 additions & 0 deletions docs/EdgeRequestHeadersInner.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# EdgeRequestHeadersInner
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **str** | Header name as forwarded by your server. Headers must be valid according to RFC 7230 and will be canonicalized according to RFC 9112. |
**value** | **str** | Value of a single forwarded header entry. Be careful to preserve the original encoding and escaping. For example, do not double escape quotes. |

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

31 changes: 18 additions & 13 deletions docs/Event.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,35 @@
# Event
Contains results from Fingerprint Identification and all active Smart Signals. Some Smart Signals are only supported for certain device types, these fields will be omitted for events not generated from the supported devices. Consult the [Smart Signals reference](https://docs.fingerprint.com/docs/smart-signals-reference) for more details.
An identification event (`source: device`) or an Automation Intelligence event (`source: edge`).

Use `source` to tell them apart. Device events include Identification and device-derived Smart Signals. Edge events do not.

Consult the [Smart Signals reference](https://docs.fingerprint.com/docs/smart-signals-reference) for more details.


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**event_id** | **str** | Unique identifier of the user's request. The first portion of the event_id is a unix epoch milliseconds timestamp. |
**timestamp** | **int** | Timestamp of the event with millisecond precision in Unix time. |
**linked_id** | **str** | A customer-provided id that was sent with the request. | [optional]
**tags** | **Dict[str, object]** | A customer-provided value or an object that was sent with the identification request or updated later. | [optional]
**url** | **str** | Page URL from which the request was sent. | [optional]
**bot_info** | [**BotInfo**](BotInfo.md) | | [optional]
**ip_info** | [**IPInfo**](IPInfo.md) | | [optional]
**proxy** | **bool** | IP address was used by a public proxy provider or belonged to a known recent residential proxy | [optional]
**proxy_confidence** | [**ProxyConfidence**](ProxyConfidence.md) | | [optional]
**proxy_details** | [**ProxyDetails**](ProxyDetails.md) | | [optional]
**vpn** | **bool** | VPN or other anonymizing service has been used when sending the request. | [optional]
**vpn_confidence** | [**VpnConfidence**](VpnConfidence.md) | | [optional]
**vpn_methods** | [**VpnMethods**](VpnMethods.md) | | [optional]
**source** | [**EventSource**](EventSource.md) | | [optional]
**incremental_identification_status** | [**IncrementalIdentificationStatus**](IncrementalIdentificationStatus.md) | | [optional]
**linked_id** | **str** | A customer-provided id that was sent with the request. | [optional]
**environment_id** | **str** | Environment Id of the event. | [optional]
**suspect** | **bool** | Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event endpoint](https://docs.fingerprint.com/reference/server-api-v4-update-event). | [optional]
**suspect** | **bool** | Field is `true` if you have previously set the `suspect` flag for this event using the [Server API Update event endpoint](https://docs.fingerprint.com/reference/server-api-update-event). | [optional]
**sdk** | [**SDK**](SDK.md) | | [optional]
**replayed** | **bool** | `true` if we determined that this payload was replayed, `false` otherwise. | [optional]
**identification** | [**Identification**](Identification.md) | | [optional]
**supplementary_id_high_recall** | [**SupplementaryIDHighRecall**](SupplementaryIDHighRecall.md) | | [optional]
**tags** | **Dict[str, object]** | A customer-provided value or an object that was sent with the identification request or updated later. | [optional]
**url** | **str** | Page URL from which the request was sent. | [optional]
**bundle_id** | **str** | Bundle Id of the iOS application integrated with the Fingerprint SDK for the event. | [optional]
**package_name** | **str** | Package name of the Android application integrated with the Fingerprint SDK for the event. | [optional]
**ip_address** | **str** | IP address of the requesting browser or bot. | [optional]
Expand All @@ -30,17 +43,12 @@ Name | Type | Description | Notes
**active_call** | **bool** | Indicates whether the mobile device had an active call (cellular or VoIP) at the time of the request. Available from SDK 2.16.0+ on iOS and Android. | [optional]
**bot** | [**BotResult**](BotResult.md) | | [optional]
**bot_type** | **str** | Additional classification of the bot type if detected. | [optional]
**bot_info** | [**BotInfo**](BotInfo.md) | | [optional]
**cloned_app** | **bool** | Android specific cloned application detection. There are 2 values: * `true` - Presence of app cloners work detected (e.g. fully cloned application found or launch of it inside of a not main working profile detected). * `false` - No signs of cloned application detected or the client is not Android. | [optional]
**developer_tools** | **bool** | `true` if the browser has DevTools open (Chrome, Firefox) or the Android/iOS device has Developer Tools enabled, `false` otherwise. | [optional]
**emulator** | **bool** | Android specific emulator detection. There are 2 values: * `true` - Emulated environment detected (e.g. launch inside of AVD). * `false` - No signs of emulated environment detected or the client is not Android. | [optional]
**factory_reset_timestamp** | **int** | The time of the most recent factory reset that happened on the **mobile device** is expressed as Unix epoch time. When a factory reset cannot be detected on the mobile device or when the request is initiated from a browser, this field will correspond to the *epoch* time (i.e 1 Jan 1970 UTC) as a value of 0. See [Factory Reset Detection](https://docs.fingerprint.com/docs/smart-signals-reference#factory-reset-detection) to learn more about this Smart Signal. | [optional]
**frida** | **bool** | [Frida](https://frida.re/docs/) detection for Android and iOS devices. There are 2 values: * `true` - Frida detected * `false` - No signs of Frida or the client is not a mobile device. | [optional]
**ip_blocklist** | [**IPBlockList**](IPBlockList.md) | | [optional]
**ip_info** | [**IPInfo**](IPInfo.md) | | [optional]
**proxy** | **bool** | IP address was used by a public proxy provider or belonged to a known recent residential proxy | [optional]
**proxy_confidence** | [**ProxyConfidence**](ProxyConfidence.md) | | [optional]
**proxy_details** | [**ProxyDetails**](ProxyDetails.md) | | [optional]
**proxy_ml_score** | **float** | Machine learning–based proxy score, represented as a floating-point value between 0 and 1 (inclusive), with up to three decimal places of precision. A higher score means a higher confidence in the positive `proxy` detection result. This Smart Signal is currently in beta and only available to select customers. If you are interested, please [contact our support team](https://fingerprint.com/support/). | [optional]
**incognito** | **bool** | `true` if we detected incognito mode used in the browser, `false` otherwise. | [optional]
**jailbroken** | **bool** | iOS specific jailbreak detection. There are 2 values: * `true` - Jailbreak detected. * `false` - No signs of jailbreak or the client is not iOS. | [optional]
Expand All @@ -58,12 +66,9 @@ Name | Type | Description | Notes
**velocity** | [**Velocity**](Velocity.md) | | [optional]
**virtual_machine** | **bool** | `true` if the request came from a browser running inside a virtual machine (e.g. VMWare), `false` otherwise. | [optional]
**virtual_machine_ml_score** | **float** | Machine learning–based virtual machine score, represented as a floating-point value between 0 and 1 (inclusive), with up to three decimal places of precision. A higher score means a higher confidence in the positive `virtual_machine` detection result. This Smart Signal is currently in beta and only available to select customers. If you are interested, please [contact our support team](https://fingerprint.com/support/). | [optional]
**vpn** | **bool** | VPN or other anonymizing service has been used when sending the request. | [optional]
**vpn_confidence** | [**VpnConfidence**](VpnConfidence.md) | | [optional]
**vpn_ml_score** | **float** | Machine learning–based VPN score, represented as a floating-point value between 0 and 1 (inclusive), with up to three decimal places of precision. A higher score means a higher confidence in the positive `vpn` detection result. This Smart Signal is currently in beta and only available to select customers. If you are interested, please [contact our support team](https://fingerprint.com/support/). | [optional]
**vpn_origin_timezone** | **str** | Local timezone which is used in timezone_mismatch method. | [optional]
**vpn_origin_country** | **str** | Country of the request (Android SDK version >= 2.4.0, iOS SDK version >= 2.9.0, JS agent >= 3.12.9 / 4.0.2), ISO 3166 format or unknown. | [optional]
**vpn_methods** | [**VpnMethods**](VpnMethods.md) | | [optional]
**high_activity_device** | **bool** | Flag indicating if the request came from a high-activity visitor. | [optional]
**rare_device** | **bool** | `true` if the device is considered rare based on its combination of hardware and software attributes. A device is classified as rare if it falls within the top 99.9 percentile (lowest-frequency segment) of observed traffic, or if its configuration has not been previously seen (`not_seen`). > This Smart Signal is currently in beta and only available to select customers. If you are interested, please [contact our support team](https://fingerprint.com/support/). | [optional]
**rare_device_percentile_bucket** | [**RareDevicePercentileBucket**](RareDevicePercentileBucket.md) | | [optional]
Expand Down
24 changes: 24 additions & 0 deletions docs/EventEdge.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# EventEdge
IP and bot analysis for an event generated by the Automation Intelligence API (`/edge` endpoint). No client-side collection agent is involved, so Identification (`visitor_id`) and device-telemetry-derived Smart Signals are not available.


## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**event_id** | **str** | Unique identifier of the user's request. The first portion of the event_id is a unix epoch milliseconds timestamp. |
**timestamp** | **int** | Timestamp of the event with millisecond precision in Unix time. |
**linked_id** | **str** | A customer-provided id that was sent with the request. | [optional]
**tags** | **Dict[str, object]** | A customer-provided value or an object that was sent with the identification request or updated later. | [optional]
**url** | **str** | Page URL from which the request was sent. | [optional]
**bot_info** | [**BotInfo**](BotInfo.md) | | [optional]
**ip_info** | [**IPInfo**](IPInfo.md) | |
**proxy** | **bool** | IP address was used by a public proxy provider or belonged to a known recent residential proxy | [optional]
**proxy_confidence** | [**ProxyConfidence**](ProxyConfidence.md) | | [optional]
**proxy_details** | [**ProxyDetails**](ProxyDetails.md) | | [optional]
**vpn** | **bool** | VPN or other anonymizing service has been used when sending the request. | [optional]
**vpn_confidence** | [**VpnConfidence**](VpnConfidence.md) | | [optional]
**vpn_methods** | [**VpnMethods**](VpnMethods.md) | | [optional]
**source** | **str** | Identifies how the event was generated. Always `edge` for events generated by the Automation Intelligence API (`/edge` endpoint). |

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)

Loading