<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: 7.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 EventUpdateRequest
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 = EventUpdateRequest(linked_id='foo') # EventUpdateRequest |
# body = EventUpdateRequest(tag={'bar': 123})
# body = EventUpdateRequest(suspect=True)
# body = EventUpdateRequest(linked_id='foo', tag={'bar': 123}, suspect=False)
try:
api_instance.update_event(request_id, body)
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 Webhook
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 = Webhook.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
- [ASN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ASN.md)
- [BotdDetectionResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdDetectionResult.md)
- [BotdResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdResult.md)
- [BrowserDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BrowserDetails.md)
- [ClonedAppResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ClonedAppResult.md)
- [Common403ErrorResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Common403ErrorResponse.md)
- [Confidence](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Confidence.md)
- [DataCenter](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DataCenter.md)
- [DeprecatedIPLocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeprecatedIPLocation.md)
- [DeprecatedIPLocationCity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeprecatedIPLocationCity.md)
- [DeveloperToolsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeveloperToolsResult.md)
- [EmulatorResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EmulatorResult.md)
- [ErrorCommon403Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon403Response.md)
- [ErrorCommon429Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon429Response.md)
- [ErrorCommon429ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon429ResponseError.md)
- [ErrorEvent404Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorEvent404Response.md)
- [ErrorEvent404ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorEvent404ResponseError.md)
- [ErrorUpdateEvent400Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent400Response.md)
- [ErrorUpdateEvent400ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent400ResponseError.md)
- [ErrorUpdateEvent409Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent409Response.md)
- [ErrorUpdateEvent409ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent409ResponseError.md)
- [ErrorVisitor400Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor400Response.md)
- [ErrorVisitor400ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor400ResponseError.md)
- [ErrorVisitor404Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor404Response.md)
- [ErrorVisitor404ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor404ResponseError.md)
- [ErrorVisits403](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisits403.md)
- [EventResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventResponse.md)
- [EventUpdateRequest](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventUpdateRequest.md)
- [FactoryResetResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FactoryResetResult.md)
- [FridaResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FridaResult.md)
- [HighActivityResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/HighActivityResult.md)
- [IPLocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPLocation.md)
- [IPLocationCity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPLocationCity.md)
- [IdentificationError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IdentificationError.md)
- [IncognitoResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IncognitoResult.md)
- [IpBlockListResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpBlockListResult.md)
- [IpBlockListResultDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpBlockListResultDetails.md)
- [IpInfoResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpInfoResult.md)
- [IpInfoResultV4](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpInfoResultV4.md)
- [IpInfoResultV6](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpInfoResultV6.md)
- [JailbrokenResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/JailbrokenResult.md)
- [Location](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Location.md)
- [LocationSpoofingResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/LocationSpoofingResult.md)
- [PrivacySettingsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/PrivacySettingsResult.md)
- [ProductError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductError.md)
- [ProductsResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponse.md)
- [ProductsResponseBotd](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponseBotd.md)
- [ProductsResponseIdentification](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponseIdentification.md)
- [ProductsResponseIdentificationData](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponseIdentificationData.md)
- [ProxyResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProxyResult.md)
- [RawDeviceAttributesResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttributesResult.md)
- [RemoteControlResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RemoteControlResult.md)
- [Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Response.md)
- [ResponseVisits](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ResponseVisits.md)
- [RootAppsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RootAppsResult.md)
- [SeenAt](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SeenAt.md)
- [SignalResponseClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseClonedApp.md)
- [SignalResponseDeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseDeveloperTools.md)
- [SignalResponseEmulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseEmulator.md)
- [SignalResponseFactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseFactoryReset.md)
- [SignalResponseFrida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseFrida.md)
- [SignalResponseHighActivity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseHighActivity.md)
- [SignalResponseIncognito](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseIncognito.md)
- [SignalResponseIpBlocklist](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseIpBlocklist.md)
- [SignalResponseIpInfo](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseIpInfo.md)
- [SignalResponseJailbroken](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseJailbroken.md)
- [SignalResponseLocationSpoofing](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseLocationSpoofing.md)
- [SignalResponsePrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponsePrivacySettings.md)
- [SignalResponseProxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseProxy.md)
- [SignalResponseRawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRawDeviceAttributes.md)
- [SignalResponseRemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRemoteControl.md)
- [SignalResponseRootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRootApps.md)
- [SignalResponseSuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseSuspectScore.md)
- [SignalResponseTampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseTampering.md)
- [SignalResponseTor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseTor.md)
- [SignalResponseVelocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVelocity.md)
- [SignalResponseVirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVirtualMachine.md)
- [SignalResponseVpn](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVpn.md)
- [Subdivision](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Subdivision.md)
- [SuspectScoreResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SuspectScoreResult.md)
- [TamperingResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TamperingResult.md)
- [TooManyRequestsResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TooManyRequestsResponse.md)
- [TorResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TorResult.md)
- [VelocityIntervalResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityIntervalResult.md)
- [VelocityIntervals](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityIntervals.md)
- [VelocityResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityResult.md)
- [VirtualMachineResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VirtualMachineResult.md)
- [VpnResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VpnResult.md)
- [VpnResultMethods](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VpnResultMethods.md)
- [WebhookVisit](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookVisit.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/e5/cd/b075fbed027a2eecc9fe28ae6af9ba4ebb5170ab34ab44a5e34d37b70ae4/fingerprint_pro_server_api_sdk-7.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: 7.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 EventUpdateRequest\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 = EventUpdateRequest(linked_id='foo') # EventUpdateRequest |\n# body = EventUpdateRequest(tag={'bar': 123})\n# body = EventUpdateRequest(suspect=True)\n# body = EventUpdateRequest(linked_id='foo', tag={'bar': 123}, suspect=False)\n\ntry:\n api_instance.update_event(request_id, body)\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 Webhook\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 = Webhook.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 - [ASN](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ASN.md)\n - [BotdDetectionResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdDetectionResult.md)\n - [BotdResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdResult.md)\n - [BrowserDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BrowserDetails.md)\n - [ClonedAppResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ClonedAppResult.md)\n - [Common403ErrorResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Common403ErrorResponse.md)\n - [Confidence](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Confidence.md)\n - [DataCenter](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DataCenter.md)\n - [DeprecatedIPLocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeprecatedIPLocation.md)\n - [DeprecatedIPLocationCity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeprecatedIPLocationCity.md)\n - [DeveloperToolsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeveloperToolsResult.md)\n - [EmulatorResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EmulatorResult.md)\n - [ErrorCommon403Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon403Response.md)\n - [ErrorCommon429Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon429Response.md)\n - [ErrorCommon429ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon429ResponseError.md)\n - [ErrorEvent404Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorEvent404Response.md)\n - [ErrorEvent404ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorEvent404ResponseError.md)\n - [ErrorUpdateEvent400Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent400Response.md)\n - [ErrorUpdateEvent400ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent400ResponseError.md)\n - [ErrorUpdateEvent409Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent409Response.md)\n - [ErrorUpdateEvent409ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent409ResponseError.md)\n - [ErrorVisitor400Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor400Response.md)\n - [ErrorVisitor400ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor400ResponseError.md)\n - [ErrorVisitor404Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor404Response.md)\n - [ErrorVisitor404ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor404ResponseError.md)\n - [ErrorVisits403](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisits403.md)\n - [EventResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventResponse.md)\n - [EventUpdateRequest](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventUpdateRequest.md)\n - [FactoryResetResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FactoryResetResult.md)\n - [FridaResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FridaResult.md)\n - [HighActivityResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/HighActivityResult.md)\n - [IPLocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPLocation.md)\n - [IPLocationCity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IPLocationCity.md)\n - [IdentificationError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IdentificationError.md)\n - [IncognitoResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IncognitoResult.md)\n - [IpBlockListResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpBlockListResult.md)\n - [IpBlockListResultDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpBlockListResultDetails.md)\n - [IpInfoResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpInfoResult.md)\n - [IpInfoResultV4](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpInfoResultV4.md)\n - [IpInfoResultV6](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/IpInfoResultV6.md)\n - [JailbrokenResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/JailbrokenResult.md)\n - [Location](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Location.md)\n - [LocationSpoofingResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/LocationSpoofingResult.md)\n - [PrivacySettingsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/PrivacySettingsResult.md)\n - [ProductError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductError.md)\n - [ProductsResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponse.md)\n - [ProductsResponseBotd](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponseBotd.md)\n - [ProductsResponseIdentification](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponseIdentification.md)\n - [ProductsResponseIdentificationData](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponseIdentificationData.md)\n - [ProxyResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProxyResult.md)\n - [RawDeviceAttributesResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttributesResult.md)\n - [RemoteControlResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RemoteControlResult.md)\n - [Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Response.md)\n - [ResponseVisits](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ResponseVisits.md)\n - [RootAppsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RootAppsResult.md)\n - [SeenAt](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SeenAt.md)\n - [SignalResponseClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseClonedApp.md)\n - [SignalResponseDeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseDeveloperTools.md)\n - [SignalResponseEmulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseEmulator.md)\n - [SignalResponseFactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseFactoryReset.md)\n - [SignalResponseFrida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseFrida.md)\n - [SignalResponseHighActivity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseHighActivity.md)\n - [SignalResponseIncognito](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseIncognito.md)\n - [SignalResponseIpBlocklist](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseIpBlocklist.md)\n - [SignalResponseIpInfo](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseIpInfo.md)\n - [SignalResponseJailbroken](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseJailbroken.md)\n - [SignalResponseLocationSpoofing](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseLocationSpoofing.md)\n - [SignalResponsePrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponsePrivacySettings.md)\n - [SignalResponseProxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseProxy.md)\n - [SignalResponseRawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRawDeviceAttributes.md)\n - [SignalResponseRemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRemoteControl.md)\n - [SignalResponseRootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRootApps.md)\n - [SignalResponseSuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseSuspectScore.md)\n - [SignalResponseTampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseTampering.md)\n - [SignalResponseTor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseTor.md)\n - [SignalResponseVelocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVelocity.md)\n - [SignalResponseVirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVirtualMachine.md)\n - [SignalResponseVpn](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVpn.md)\n - [Subdivision](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Subdivision.md)\n - [SuspectScoreResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SuspectScoreResult.md)\n - [TamperingResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TamperingResult.md)\n - [TooManyRequestsResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TooManyRequestsResponse.md)\n - [TorResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TorResult.md)\n - [VelocityIntervalResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityIntervalResult.md)\n - [VelocityIntervals](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityIntervals.md)\n - [VelocityResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityResult.md)\n - [VirtualMachineResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VirtualMachineResult.md)\n - [VpnResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VpnResult.md)\n - [VpnResultMethods](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VpnResultMethods.md)\n - [WebhookVisit](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/WebhookVisit.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": "7.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": "1377cdf40a6512e4bacb89e5f8f52a992517916afb5963ea9b2655ced79e309b",
"md5": "256876b9a13454fc673e661a13965a09",
"sha256": "b7aa64f5665b76514fafe1dffe44d698c5b89dce5c21add37971d338682195b9"
},
"downloads": -1,
"filename": "fingerprint_pro_server_api_sdk-7.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "256876b9a13454fc673e661a13965a09",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 161293,
"upload_time": "2024-10-15T10:22:30",
"upload_time_iso_8601": "2024-10-15T10:22:30.198129Z",
"url": "https://files.pythonhosted.org/packages/13/77/cdf40a6512e4bacb89e5f8f52a992517916afb5963ea9b2655ced79e309b/fingerprint_pro_server_api_sdk-7.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e5cdb075fbed027a2eecc9fe28ae6af9ba4ebb5170ab34ab44a5e34d37b70ae4",
"md5": "07027b054a2be3fbf76192b9f0072102",
"sha256": "96e909afb642cd23598cf4123e955880bd3e453afb8478eac453d7c334b60479"
},
"downloads": -1,
"filename": "fingerprint_pro_server_api_sdk-7.1.0.tar.gz",
"has_sig": false,
"md5_digest": "07027b054a2be3fbf76192b9f0072102",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 75086,
"upload_time": "2024-10-15T10:22:32",
"upload_time_iso_8601": "2024-10-15T10:22:32.446573Z",
"url": "https://files.pythonhosted.org/packages/e5/cd/b075fbed027a2eecc9fe28ae6af9ba4ebb5170ab34ab44a5e34d37b70ae4/fingerprint_pro_server_api_sdk-7.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-15 10:22:32",
"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": [],
"lcname": "fingerprint-pro-server-api-sdk"
}