<p align="center">
<a href="https://fingerprint.com">
<img src="https://fingerprintjs.github.io/home/resources/logo_dark.svg" alt="Fingerprint logo" width="312px" />
</a>
</p>
<p align="center">
<a href="https://pypi.org/project/fingerprint-pro-server-api-sdk/"><img alt="PyPI" src="https://img.shields.io/pypi/v/fingerprint-pro-server-api-sdk"></a>
<a href="https://fingerprintjs.github.io/fingerprint-pro-server-api-python-sdk/"><img src="https://fingerprintjs.github.io/fingerprint-pro-server-api-python-sdk/badges.svg" alt="coverage"></a>
<a href="https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/release.yml"><img src="https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/release.yml/badge.svg" alt="CI badge" /></a>
<a href="https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/test.yml"><img src="https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/test.yml/badge.svg" alt="CI badge" /></a>
<a href="https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/functional_tests.yml"><img src="https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/functional_tests.yml/badge.svg" alt="CI badge" /></a>
<a href="https://opensource.org/licenses/MIT"><img src="https://img.shields.io/:license-mit-blue.svg?style=flat"/></a>
<a href="https://discord.gg/39EpE2neBg"><img src="https://img.shields.io/discord/852099967190433792?style=logo&label=Discord&logo=Discord&logoColor=white" alt="Discord server"></a>
</p>
# Fingerprint Pro Server Python SDK
[Fingerprint](https://fingerprint.com) is a device intelligence platform offering 99.5% accurate visitor identification.
The Fingerprint Server Python SDK is an easy way to interact with the Fingerprint [Server API](https://dev.fingerprint.com/reference/pro-server-api) from your Python application. You can retrieve visitor history or individual identification events.
This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
- API version: 3
- Package version: 8.1.0
- Build package: io.swagger.codegen.v3.generators.python.PythonClientCodegen
## Requirements
The following Python versions are supported:
- Python >= 3.9
## Installation & Usage
### pip install
You can install the package directly from the Github
```sh
pip install git+https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk.git
```
Or from the PyPI
```sh
pip install fingerprint_pro_server_api_sdk
```
Then import the package:
```python
import fingerprint_pro_server_api_sdk
```
### Setuptools
Install via [Setuptools](http://pypi.python.org/pypi/setuptools).
```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)
Then import the package:
```python
import fingerprint_pro_server_api_sdk
```
## Getting Started
Please follow the [installation procedure](#installation--usage) and then run the following:
```python
import fingerprint_pro_server_api_sdk
# Configure API key authorization and region
configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
# configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY", region="eu")
# create an instance of the API class
api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
```
## Examples
Fetching visits using visitorId:
```python
import fingerprint_pro_server_api_sdk
from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
visitor_id = 'visitor_id_example' # str | Unique [visitor identifier](https://dev.fingerprint.com/docs/js-agent#visitorid) issued by Fingerprint Pro.
#request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
#linked_id = 'linked_id_example' # str | Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/docs/js-agent#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 = 10 # int | 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)
#pagination_key = 'pagination_key_example' # str | 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)
try:
api_response = api_instance.get_visits(visitor_id, limit=2)
print(api_response)
except KnownApiException as e:
structured_error = e.structured_error
print("Error: %s\n" % structured_error.error)
except ApiException as e:
print("Exception when calling FingerprintApi->visitors_visitor_id_get: %s\n" % e)
```
Delete visits using visitorId:
```python
import fingerprint_pro_server_api_sdk
from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
visitor_id = 'visitor_id_example' # str | Unique [visitor identifier](https://dev.fingerprint.com/docs/js-agent#visitorid) issued by Fingerprint Pro.
try:
api_instance.delete_visitor_data(visitor_id)
except KnownApiException as e:
structured_error = e.structured_error
print("Error: %s\n" % structured_error.error)
except ApiException as e:
print("Exception when calling FingerprintApi->delete_visitor_data: %s\n" % e)
```
Fetching events for requestId:
```python
import fingerprint_pro_server_api_sdk
from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
try:
events_response = api_instance.get_event(request_id)
except KnownApiException as e:
structured_error = e.structured_error
print("Error code: %s. Error message: %s\n" % (structured_error.error.code, structured_error.error.message))
except ApiException as e:
print("Exception when calling FingerprintApi->get_event: %s\n" % e)
```
Update event for requestId:
```python
import fingerprint_pro_server_api_sdk
from fingerprint_pro_server_api_sdk import EventsUpdateRequest
from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
body = EventsUpdateRequest(linked_id='foo') # EventsUpdateRequest |
# body = EventsUpdateRequest(tag={'bar': 123})
# body = EventsUpdateRequest(suspect=True)
# body = EventsUpdateRequest(linked_id='foo', tag={'bar': 123}, suspect=False)
try:
api_instance.update_event(body, request_id)
except KnownApiException as e:
structured_error = e.structured_error
print("Error code: %s. Error message: %s\n" % (structured_error.error.code, structured_error.error.message))
except ApiException as e:
print("Exception when calling FingerprintApi->update_event: %s\n" % e)
```
## Sealed results
This SDK provides utility methods for decoding [sealed results](https://dev.fingerprint.com/docs/sealed-client-results).
```python
import base64
import os
from dotenv import load_dotenv
from fingerprint_pro_server_api_sdk import unseal_event_response, DecryptionKey, DecryptionAlgorithm
load_dotenv()
sealed_result = base64.b64decode(os.environ["BASE64_SEALED_RESULT"])
key = base64.b64decode(os.environ["BASE64_KEY"])
try:
event_response = unseal_event_response(sealed_result, [DecryptionKey(key, DecryptionAlgorithm['Aes256Gcm'])])
print("\n\n\nEvent response: \n", event_response.products)
except Exception as e:
print("Exception when calling unsealing events response: %s\n" % e)
exit(1)
print("Unseal successful!")
exit(0)
```
To learn more, refer to example located in [sealed_results_example.py](sealed_results_example.py).
## Webhook signature validation
This SDK provides utility method for verifying the HMAC signature of the incoming webhook request.
```python
import os
from flask import Flask, request, jsonify
from fingerprint_pro_server_api_sdk import WebhookValidation
app = Flask(__name__)
@app.route('/api/webhook', methods=['POST'])
def webhook_handler():
try:
# Retrieve the secret key from environment variables
secret = os.getenv("WEBHOOK_SIGNATURE_SECRET")
if not secret:
return jsonify({"message": "Secret key is not configured."}), 400
# Get the "fpjs-event-signature" header from the incoming request
header = request.headers.get('fpjs-event-signature')
if not header:
return jsonify({"message": "Missing fpjs-event-signature header."}), 400
# Read the raw body of the incoming request
data = request.get_data()
# Validate the webhook signature
is_valid = WebhookValidation.is_valid_webhook_signature(header, data, secret)
if not is_valid:
return jsonify({"message": "Webhook signature is invalid."}), 403
# Process the webhook data here
return jsonify({"message": "Webhook received."}), 200
except Exception as e:
# Handle any unexpected errors
return jsonify({"error": str(e)}), 500
if __name__ == '__main__':
# Start the Flask application on the specified host and port
app.run(host='0.0.0.0', port=5000)
```
To learn more, refer to example located in [webhook_signature_example.py](webhook_signature_example.py).
## Documentation for API Endpoints
All URIs are relative to *https://api.fpjs.io*
Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*FingerprintApi* | [**delete_visitor_data**](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FingerprintApi.md#delete_visitor_data) | **DELETE** /visitors/{visitor_id} | Delete data by visitor ID
*FingerprintApi* | [**get_event**](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FingerprintApi.md#get_event) | **GET** /events/{request_id} | Get event by request ID
*FingerprintApi* | [**get_visits**](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FingerprintApi.md#get_visits) | **GET** /visitors/{visitor_id} | Get visits by visitor ID
*FingerprintApi* | [**update_event**](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FingerprintApi.md#update_event) | **PUT** /events/{request_id} | Update an event with a given request ID
## Documentation For Models
- [Botd](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Botd.md)
- [BotdBot](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdBot.md)
- [BotdBotResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdBotResult.md)
- [BrowserDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BrowserDetails.md)
- [ClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ClonedApp.md)
- [DeprecatedGeolocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeprecatedGeolocation.md)
- [DeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeveloperTools.md)
- [Emulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Emulator.md)
- [Error](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Error.md)
- [ErrorCode](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCode.md)
- [ErrorPlainResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorPlainResponse.md)
- [ErrorResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorResponse.md)
- [EventsGetResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventsGetResponse.md)
- [EventsUpdateRequest](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventsUpdateRequest.md)
- [FactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FactoryReset.md)
- [Frida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Frida.md)
- [Geolocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Geolocation.md)
- [GeolocationCity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationCity.md)
- [GeolocationContinent](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationContinent.md)
- [GeolocationCountry](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationCountry.md)
- [GeolocationSubdivision](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationSubdivision.md)
- [GeolocationSubdivisions](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationSubdivisions.md)
- [HighActivity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/HighActivity.md)
- [IPBlocklist](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPBlocklist.md)
- [IPBlocklistDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPBlocklistDetails.md)
- [IPInfo](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfo.md)
- [IPInfoASN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfoASN.md)
- [IPInfoDataCenter](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfoDataCenter.md)
- [IPInfoV4](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfoV4.md)
- [IPInfoV6](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfoV6.md)
- [Identification](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Identification.md)
- [IdentificationConfidence](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IdentificationConfidence.md)
- [IdentificationSeenAt](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IdentificationSeenAt.md)
- [Incognito](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Incognito.md)
- [Jailbroken](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Jailbroken.md)
- [LocationSpoofing](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/LocationSpoofing.md)
- [PrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/PrivacySettings.md)
- [ProductBotd](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductBotd.md)
- [ProductClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductClonedApp.md)
- [ProductDeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductDeveloperTools.md)
- [ProductEmulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductEmulator.md)
- [ProductFactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductFactoryReset.md)
- [ProductFrida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductFrida.md)
- [ProductHighActivity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductHighActivity.md)
- [ProductIPBlocklist](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductIPBlocklist.md)
- [ProductIPInfo](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductIPInfo.md)
- [ProductIdentification](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductIdentification.md)
- [ProductIncognito](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductIncognito.md)
- [ProductJailbroken](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductJailbroken.md)
- [ProductLocationSpoofing](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductLocationSpoofing.md)
- [ProductPrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductPrivacySettings.md)
- [ProductProxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductProxy.md)
- [ProductRawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductRawDeviceAttributes.md)
- [ProductRemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductRemoteControl.md)
- [ProductRootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductRootApps.md)
- [ProductSuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductSuspectScore.md)
- [ProductTampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductTampering.md)
- [ProductTor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductTor.md)
- [ProductVPN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductVPN.md)
- [ProductVelocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductVelocity.md)
- [ProductVirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductVirtualMachine.md)
- [Products](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Products.md)
- [Proxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Proxy.md)
- [RawDeviceAttribute](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttribute.md)
- [RawDeviceAttributeError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttributeError.md)
- [RawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttributes.md)
- [RemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RemoteControl.md)
- [RootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RootApps.md)
- [SuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SuspectScore.md)
- [Tag](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Tag.md)
- [Tampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Tampering.md)
- [Tor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Tor.md)
- [VPN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VPN.md)
- [VPNConfidence](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VPNConfidence.md)
- [VPNMethods](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VPNMethods.md)
- [Velocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Velocity.md)
- [VelocityData](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityData.md)
- [VelocityIntervals](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityIntervals.md)
- [VirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VirtualMachine.md)
- [Visit](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Visit.md)
- [VisitorsGetResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VisitorsGetResponse.md)
- [Webhook](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Webhook.md)
- [WebhookClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookClonedApp.md)
- [WebhookDeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookDeveloperTools.md)
- [WebhookEmulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookEmulator.md)
- [WebhookFactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookFactoryReset.md)
- [WebhookFrida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookFrida.md)
- [WebhookHighActivity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookHighActivity.md)
- [WebhookIPBlocklist](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookIPBlocklist.md)
- [WebhookIPInfo](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookIPInfo.md)
- [WebhookJailbroken](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookJailbroken.md)
- [WebhookLocationSpoofing](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookLocationSpoofing.md)
- [WebhookPrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookPrivacySettings.md)
- [WebhookProxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookProxy.md)
- [WebhookRawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookRawDeviceAttributes.md)
- [WebhookRemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookRemoteControl.md)
- [WebhookRootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookRootApps.md)
- [WebhookSuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookSuspectScore.md)
- [WebhookTampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookTampering.md)
- [WebhookTor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookTor.md)
- [WebhookVPN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookVPN.md)
- [WebhookVelocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookVelocity.md)
- [WebhookVirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookVirtualMachine.md)
## Documentation For Authorization
## ApiKeyHeader
- **Type**: API key
- **API key parameter name**: Auth-API-Key
- **Location**: HTTP header
## ApiKeyQuery
- **Type**: API key
- **API key parameter name**: api_key
- **Location**: URL query string
## Documentation for sealed results
- [SealedResults](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SealedResults.md)
- [DecryptionKey](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DecryptionKey.md)
## Support
To report problems, ask questions or provide feedback, please use [Issues](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/issues).
If you need private support, you can email us at [oss-support@fingerprint.com](mailto:oss-support@fingerprint.com).
## License
This project is licensed under the [MIT License](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "fingerprint-pro-server-api-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "Swagger, Fingerprint Pro Server API, browser, detection, fingerprint, identification, fingerprinting, browser-fingerprinting, browser-fingerprint, fraud-detection, fraud, audio-fingerprinting, fingerprintjs, fingerprintjs-pro, visitor-identifier",
"author": "Fingerprint",
"author_email": "support@fingerprint.com",
"download_url": "https://files.pythonhosted.org/packages/bf/dc/e992611c529a42cf0b23c4d8f37bbd997eb28b906e05f917e732ed3ad170/fingerprint_pro_server_api_sdk-8.1.0.tar.gz",
"platform": null,
"description": "<p align=\"center\">\n <a href=\"https://fingerprint.com\">\n <img src=\"https://fingerprintjs.github.io/home/resources/logo_dark.svg\" alt=\"Fingerprint logo\" width=\"312px\" />\n </a>\n</p>\n<p align=\"center\">\n <a href=\"https://pypi.org/project/fingerprint-pro-server-api-sdk/\"><img alt=\"PyPI\" src=\"https://img.shields.io/pypi/v/fingerprint-pro-server-api-sdk\"></a>\n <a href=\"https://fingerprintjs.github.io/fingerprint-pro-server-api-python-sdk/\"><img src=\"https://fingerprintjs.github.io/fingerprint-pro-server-api-python-sdk/badges.svg\" alt=\"coverage\"></a>\n <a href=\"https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/release.yml\"><img src=\"https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/release.yml/badge.svg\" alt=\"CI badge\" /></a>\n <a href=\"https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/test.yml\"><img src=\"https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/test.yml/badge.svg\" alt=\"CI badge\" /></a>\n <a href=\"https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/functional_tests.yml\"><img src=\"https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/actions/workflows/functional_tests.yml/badge.svg\" alt=\"CI badge\" /></a>\n <a href=\"https://opensource.org/licenses/MIT\"><img src=\"https://img.shields.io/:license-mit-blue.svg?style=flat\"/></a>\n <a href=\"https://discord.gg/39EpE2neBg\"><img src=\"https://img.shields.io/discord/852099967190433792?style=logo&label=Discord&logo=Discord&logoColor=white\" alt=\"Discord server\"></a>\n</p>\n\n# Fingerprint Pro Server Python SDK\n\n[Fingerprint](https://fingerprint.com) is a device intelligence platform offering 99.5% accurate visitor identification.\nThe Fingerprint Server Python SDK is an easy way to interact with the Fingerprint [Server API](https://dev.fingerprint.com/reference/pro-server-api) from your Python application. You can retrieve visitor history or individual identification events.\n\n\nThis Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:\n\n- API version: 3\n- Package version: 8.1.0\n- Build package: io.swagger.codegen.v3.generators.python.PythonClientCodegen\n\n## Requirements\n\nThe following Python versions are supported:\n\n- Python >= 3.9\n\n## Installation & Usage\n### pip install\n\nYou can install the package directly from the Github\n\n```sh\npip install git+https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk.git\n```\n\nOr from the PyPI\n\n```sh\npip install fingerprint_pro_server_api_sdk\n```\n\nThen import the package:\n```python\nimport fingerprint_pro_server_api_sdk\n```\n\n### Setuptools\n\nInstall via [Setuptools](http://pypi.python.org/pypi/setuptools).\n\n```sh\npython setup.py install --user\n```\n(or `sudo python setup.py install` to install the package for all users)\n\nThen import the package:\n```python\nimport fingerprint_pro_server_api_sdk\n```\n\n## Getting Started\n\nPlease follow the [installation procedure](#installation--usage) and then run the following:\n\n```python\nimport fingerprint_pro_server_api_sdk\n\n# Configure API key authorization and region\nconfiguration = fingerprint_pro_server_api_sdk.Configuration(api_key=\"SECRET_API_KEY\")\n# configuration = fingerprint_pro_server_api_sdk.Configuration(api_key=\"SECRET_API_KEY\", region=\"eu\")\n\n# create an instance of the API class\napi_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)\n```\n\n## Examples\n\nFetching visits using visitorId:\n```python\nimport fingerprint_pro_server_api_sdk\nfrom fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException\n\nconfiguration = fingerprint_pro_server_api_sdk.Configuration(api_key=\"SECRET_API_KEY\")\napi_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)\n\nvisitor_id = 'visitor_id_example' # str | Unique [visitor identifier](https://dev.fingerprint.com/docs/js-agent#visitorid) issued by Fingerprint Pro.\n#request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).\n#linked_id = 'linked_id_example' # str | Filter visits by your custom identifier. You can use [`linkedId`](https://dev.fingerprint.com/docs/js-agent#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)\nlimit = 10 # int | 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)\n#pagination_key = 'pagination_key_example' # str | 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)\n\ntry:\n api_response = api_instance.get_visits(visitor_id, limit=2)\n print(api_response)\nexcept KnownApiException as e:\n structured_error = e.structured_error\n print(\"Error: %s\\n\" % structured_error.error)\nexcept ApiException as e:\n print(\"Exception when calling FingerprintApi->visitors_visitor_id_get: %s\\n\" % e)\n```\n\nDelete visits using visitorId:\n```python\nimport fingerprint_pro_server_api_sdk\nfrom fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException\n\nconfiguration = fingerprint_pro_server_api_sdk.Configuration(api_key=\"SECRET_API_KEY\")\napi_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)\n\nvisitor_id = 'visitor_id_example' # str | Unique [visitor identifier](https://dev.fingerprint.com/docs/js-agent#visitorid) issued by Fingerprint Pro.\n\ntry:\n api_instance.delete_visitor_data(visitor_id)\nexcept KnownApiException as e:\n structured_error = e.structured_error\n print(\"Error: %s\\n\" % structured_error.error)\nexcept ApiException as e:\n print(\"Exception when calling FingerprintApi->delete_visitor_data: %s\\n\" % e)\n```\n\nFetching events for requestId:\n```python\nimport fingerprint_pro_server_api_sdk\nfrom fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException\n\nconfiguration = fingerprint_pro_server_api_sdk.Configuration(api_key=\"SECRET_API_KEY\")\napi_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)\n\nrequest_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).\n\ntry:\n events_response = api_instance.get_event(request_id)\n\nexcept KnownApiException as e:\n structured_error = e.structured_error\n print(\"Error code: %s. Error message: %s\\n\" % (structured_error.error.code, structured_error.error.message))\nexcept ApiException as e:\n print(\"Exception when calling FingerprintApi->get_event: %s\\n\" % e)\n```\n\nUpdate event for requestId:\n```python\nimport fingerprint_pro_server_api_sdk\nfrom fingerprint_pro_server_api_sdk import EventsUpdateRequest\nfrom fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException\n\nconfiguration = fingerprint_pro_server_api_sdk.Configuration(api_key=\"SECRET_API_KEY\")\napi_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)\n\nrequest_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).\nbody = EventsUpdateRequest(linked_id='foo') # EventsUpdateRequest |\n# body = EventsUpdateRequest(tag={'bar': 123})\n# body = EventsUpdateRequest(suspect=True)\n# body = EventsUpdateRequest(linked_id='foo', tag={'bar': 123}, suspect=False)\n\ntry:\n api_instance.update_event(body, request_id)\nexcept KnownApiException as e:\n structured_error = e.structured_error\n print(\"Error code: %s. Error message: %s\\n\" % (structured_error.error.code, structured_error.error.message))\nexcept ApiException as e:\n print(\"Exception when calling FingerprintApi->update_event: %s\\n\" % e)\n```\n\n## Sealed results\n\nThis SDK provides utility methods for decoding [sealed results](https://dev.fingerprint.com/docs/sealed-client-results).\n```python\nimport base64\nimport os\n\nfrom dotenv import load_dotenv\n\nfrom fingerprint_pro_server_api_sdk import unseal_event_response, DecryptionKey, DecryptionAlgorithm\n\nload_dotenv()\n\nsealed_result = base64.b64decode(os.environ[\"BASE64_SEALED_RESULT\"])\nkey = base64.b64decode(os.environ[\"BASE64_KEY\"])\n\ntry:\n event_response = unseal_event_response(sealed_result, [DecryptionKey(key, DecryptionAlgorithm['Aes256Gcm'])])\n print(\"\\n\\n\\nEvent response: \\n\", event_response.products)\nexcept Exception as e:\n print(\"Exception when calling unsealing events response: %s\\n\" % e)\n exit(1)\n\nprint(\"Unseal successful!\")\n\nexit(0)\n```\nTo learn more, refer to example located in [sealed_results_example.py](sealed_results_example.py).\n\n## Webhook signature validation\n\nThis SDK provides utility method for verifying the HMAC signature of the incoming webhook request.\n```python\nimport os\nfrom flask import Flask, request, jsonify\nfrom fingerprint_pro_server_api_sdk import WebhookValidation\n\napp = Flask(__name__)\n\n@app.route('/api/webhook', methods=['POST'])\ndef webhook_handler():\n try:\n # Retrieve the secret key from environment variables\n secret = os.getenv(\"WEBHOOK_SIGNATURE_SECRET\")\n if not secret:\n return jsonify({\"message\": \"Secret key is not configured.\"}), 400\n\n # Get the \"fpjs-event-signature\" header from the incoming request\n header = request.headers.get('fpjs-event-signature')\n if not header:\n return jsonify({\"message\": \"Missing fpjs-event-signature header.\"}), 400\n\n # Read the raw body of the incoming request\n data = request.get_data()\n\n # Validate the webhook signature\n is_valid = WebhookValidation.is_valid_webhook_signature(header, data, secret)\n if not is_valid:\n return jsonify({\"message\": \"Webhook signature is invalid.\"}), 403\n\n # Process the webhook data here\n return jsonify({\"message\": \"Webhook received.\"}), 200\n\n except Exception as e:\n # Handle any unexpected errors\n return jsonify({\"error\": str(e)}), 500\n\nif __name__ == '__main__':\n # Start the Flask application on the specified host and port\n app.run(host='0.0.0.0', port=5000)\n```\nTo learn more, refer to example located in [webhook_signature_example.py](webhook_signature_example.py).\n\n## Documentation for API Endpoints\n\nAll URIs are relative to *https://api.fpjs.io*\n\nClass | Method | HTTP request | Description\n------------ | ------------- | ------------- | -------------\n*FingerprintApi* | [**delete_visitor_data**](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FingerprintApi.md#delete_visitor_data) | **DELETE** /visitors/{visitor_id} | Delete data by visitor ID\n*FingerprintApi* | [**get_event**](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FingerprintApi.md#get_event) | **GET** /events/{request_id} | Get event by request ID\n*FingerprintApi* | [**get_visits**](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FingerprintApi.md#get_visits) | **GET** /visitors/{visitor_id} | Get visits by visitor ID\n*FingerprintApi* | [**update_event**](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FingerprintApi.md#update_event) | **PUT** /events/{request_id} | Update an event with a given request ID\n\n## Documentation For Models\n\n - [Botd](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Botd.md)\n - [BotdBot](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdBot.md)\n - [BotdBotResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdBotResult.md)\n - [BrowserDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BrowserDetails.md)\n - [ClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ClonedApp.md)\n - [DeprecatedGeolocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeprecatedGeolocation.md)\n - [DeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeveloperTools.md)\n - [Emulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Emulator.md)\n - [Error](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Error.md)\n - [ErrorCode](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCode.md)\n - [ErrorPlainResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorPlainResponse.md)\n - [ErrorResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorResponse.md)\n - [EventsGetResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventsGetResponse.md)\n - [EventsUpdateRequest](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventsUpdateRequest.md)\n - [FactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FactoryReset.md)\n - [Frida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Frida.md)\n - [Geolocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Geolocation.md)\n - [GeolocationCity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationCity.md)\n - [GeolocationContinent](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationContinent.md)\n - [GeolocationCountry](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationCountry.md)\n - [GeolocationSubdivision](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationSubdivision.md)\n - [GeolocationSubdivisions](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/GeolocationSubdivisions.md)\n - [HighActivity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/HighActivity.md)\n - [IPBlocklist](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPBlocklist.md)\n - [IPBlocklistDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPBlocklistDetails.md)\n - [IPInfo](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfo.md)\n - [IPInfoASN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfoASN.md)\n - [IPInfoDataCenter](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfoDataCenter.md)\n - [IPInfoV4](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfoV4.md)\n - [IPInfoV6](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPInfoV6.md)\n - [Identification](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Identification.md)\n - [IdentificationConfidence](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IdentificationConfidence.md)\n - [IdentificationSeenAt](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IdentificationSeenAt.md)\n - [Incognito](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Incognito.md)\n - [Jailbroken](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Jailbroken.md)\n - [LocationSpoofing](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/LocationSpoofing.md)\n - [PrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/PrivacySettings.md)\n - [ProductBotd](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductBotd.md)\n - [ProductClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductClonedApp.md)\n - [ProductDeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductDeveloperTools.md)\n - [ProductEmulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductEmulator.md)\n - [ProductFactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductFactoryReset.md)\n - [ProductFrida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductFrida.md)\n - [ProductHighActivity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductHighActivity.md)\n - [ProductIPBlocklist](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductIPBlocklist.md)\n - [ProductIPInfo](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductIPInfo.md)\n - [ProductIdentification](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductIdentification.md)\n - [ProductIncognito](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductIncognito.md)\n - [ProductJailbroken](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductJailbroken.md)\n - [ProductLocationSpoofing](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductLocationSpoofing.md)\n - [ProductPrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductPrivacySettings.md)\n - [ProductProxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductProxy.md)\n - [ProductRawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductRawDeviceAttributes.md)\n - [ProductRemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductRemoteControl.md)\n - [ProductRootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductRootApps.md)\n - [ProductSuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductSuspectScore.md)\n - [ProductTampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductTampering.md)\n - [ProductTor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductTor.md)\n - [ProductVPN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductVPN.md)\n - [ProductVelocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductVelocity.md)\n - [ProductVirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductVirtualMachine.md)\n - [Products](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Products.md)\n - [Proxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Proxy.md)\n - [RawDeviceAttribute](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttribute.md)\n - [RawDeviceAttributeError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttributeError.md)\n - [RawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttributes.md)\n - [RemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RemoteControl.md)\n - [RootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RootApps.md)\n - [SuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SuspectScore.md)\n - [Tag](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Tag.md)\n - [Tampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Tampering.md)\n - [Tor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Tor.md)\n - [VPN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VPN.md)\n - [VPNConfidence](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VPNConfidence.md)\n - [VPNMethods](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VPNMethods.md)\n - [Velocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Velocity.md)\n - [VelocityData](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityData.md)\n - [VelocityIntervals](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityIntervals.md)\n - [VirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VirtualMachine.md)\n - [Visit](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Visit.md)\n - [VisitorsGetResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VisitorsGetResponse.md)\n - [Webhook](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Webhook.md)\n - [WebhookClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookClonedApp.md)\n - [WebhookDeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookDeveloperTools.md)\n - [WebhookEmulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookEmulator.md)\n - [WebhookFactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookFactoryReset.md)\n - [WebhookFrida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookFrida.md)\n - [WebhookHighActivity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookHighActivity.md)\n - [WebhookIPBlocklist](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookIPBlocklist.md)\n - [WebhookIPInfo](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookIPInfo.md)\n - [WebhookJailbroken](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookJailbroken.md)\n - [WebhookLocationSpoofing](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookLocationSpoofing.md)\n - [WebhookPrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookPrivacySettings.md)\n - [WebhookProxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookProxy.md)\n - [WebhookRawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookRawDeviceAttributes.md)\n - [WebhookRemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookRemoteControl.md)\n - [WebhookRootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookRootApps.md)\n - [WebhookSuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookSuspectScore.md)\n - [WebhookTampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookTampering.md)\n - [WebhookTor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookTor.md)\n - [WebhookVPN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookVPN.md)\n - [WebhookVelocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookVelocity.md)\n - [WebhookVirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookVirtualMachine.md)\n\n## Documentation For Authorization\n\n\n## ApiKeyHeader\n\n- **Type**: API key\n- **API key parameter name**: Auth-API-Key\n- **Location**: HTTP header\n\n## ApiKeyQuery\n\n- **Type**: API key\n- **API key parameter name**: api_key\n- **Location**: URL query string\n\n\n## Documentation for sealed results\n\n- [SealedResults](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SealedResults.md)\n- [DecryptionKey](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DecryptionKey.md)\n\n## Support\n\nTo report problems, ask questions or provide feedback, please use [Issues](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/issues).\nIf you need private support, you can email us at [oss-support@fingerprint.com](mailto:oss-support@fingerprint.com).\n\n## License\n\nThis project is licensed under the [MIT License](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/LICENSE).\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Fingerprint Pro Server API allows you to get information about visitors and about individual 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.",
"version": "8.1.0",
"project_urls": {
"Changelog": "https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/CHANGELOG.md",
"Code": "https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk",
"Issue Tracker": "https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/issues"
},
"split_keywords": [
"swagger",
" fingerprint pro server api",
" browser",
" detection",
" fingerprint",
" identification",
" fingerprinting",
" browser-fingerprinting",
" browser-fingerprint",
" fraud-detection",
" fraud",
" audio-fingerprinting",
" fingerprintjs",
" fingerprintjs-pro",
" visitor-identifier"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e0f1e7fa3346020d78707eb70a29fc2166116c4018d7c4f3b7b7f3995611dc6c",
"md5": "69369b1548896cf8b04b046f0cac0bdb",
"sha256": "feedf6b802cabfdb616fd667f9de8ba96e14bfd98957743b0000b1a1f117b60e"
},
"downloads": -1,
"filename": "fingerprint_pro_server_api_sdk-8.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "69369b1548896cf8b04b046f0cac0bdb",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 176516,
"upload_time": "2024-11-26T12:56:00",
"upload_time_iso_8601": "2024-11-26T12:56:00.355317Z",
"url": "https://files.pythonhosted.org/packages/e0/f1/e7fa3346020d78707eb70a29fc2166116c4018d7c4f3b7b7f3995611dc6c/fingerprint_pro_server_api_sdk-8.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "bfdce992611c529a42cf0b23c4d8f37bbd997eb28b906e05f917e732ed3ad170",
"md5": "0ca2390b1a1b3a6cf7fee906af1100bf",
"sha256": "722feeb847153b3ecdb44b41800eb27f19951bf0f81d51e1d63a6fe3255de210"
},
"downloads": -1,
"filename": "fingerprint_pro_server_api_sdk-8.1.0.tar.gz",
"has_sig": false,
"md5_digest": "0ca2390b1a1b3a6cf7fee906af1100bf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 81112,
"upload_time": "2024-11-26T12:56:02",
"upload_time_iso_8601": "2024-11-26T12:56:02.389214Z",
"url": "https://files.pythonhosted.org/packages/bf/dc/e992611c529a42cf0b23c4d8f37bbd997eb28b906e05f917e732ed3ad170/fingerprint_pro_server_api_sdk-8.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-26 12:56:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "fingerprintjs",
"github_project": "fingerprint-pro-server-api-python-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "certifi",
"specs": [
[
">=",
"2023.7.22"
]
]
},
{
"name": "python-dateutil",
"specs": [
[
">=",
"2.5.3"
]
]
},
{
"name": "setuptools",
"specs": [
[
">=",
"65.5.1"
]
]
},
{
"name": "urllib3",
"specs": [
[
">=",
"1.23"
]
]
},
{
"name": "python-dotenv",
"specs": []
},
{
"name": "cryptography",
"specs": []
}
],
"lcname": "fingerprint-pro-server-api-sdk"
}