fingerprint-pro-server-api-sdk 6.0.0.dev1__tar.gz → 7.0.0.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/PKG-INFO +130 -23
  2. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/README.md +126 -20
  3. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/__init__.py +26 -5
  4. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/api/__init__.py +0 -2
  5. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/api/fingerprint_api.py +511 -0
  6. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/api_client.py +73 -115
  7. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/base_model.py +56 -0
  8. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/configuration.py +24 -77
  9. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/__init__.py +22 -5
  10. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/asn.py +9 -63
  11. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/botd_detection_result.py +7 -59
  12. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/botd_result.py +19 -79
  13. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/browser_details.py +19 -83
  14. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/cloned_app_result.py +5 -55
  15. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/common403_error_response.py +97 -0
  16. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/confidence.py +34 -58
  17. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/data_center.py +7 -59
  18. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/deprecated_ip_location.py +25 -87
  19. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/deprecated_ip_location_city.py +63 -0
  20. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/developer_tools_result.py +66 -0
  21. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/emulator_result.py +5 -55
  22. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_common403_response.py +64 -0
  23. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_common429_response.py +64 -0
  24. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_common429_response_error.py +97 -0
  25. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_event404_response.py +64 -0
  26. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/error_event404_response_error.py +9 -61
  27. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_update_event400_response.py +64 -0
  28. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_update_event400_response_error.py +99 -0
  29. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_update_event409_response.py +64 -0
  30. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_update_event409_response_error.py +97 -0
  31. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_visitor400_response.py +64 -0
  32. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_visitor400_response_error.py +97 -0
  33. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_visitor404_response.py +64 -0
  34. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_visitor404_response_error.py +97 -0
  35. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/error_visits403.py +5 -55
  36. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/event_response.py +9 -59
  37. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/event_update_request.py +117 -0
  38. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/factory_reset_result.py +94 -0
  39. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/frida_result.py +5 -55
  40. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/high_activity_result.py +7 -59
  41. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/identification_error.py +7 -59
  42. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/incognito_result.py +5 -55
  43. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/ip_block_list_result.py +8 -59
  44. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/ip_block_list_result_details.py +7 -59
  45. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/ip_info_result.py +9 -59
  46. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/ip_info_result_v4.py +14 -67
  47. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/ip_info_result_v6.py +14 -67
  48. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/ip_location.py +25 -87
  49. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/ip_location_city.py +63 -0
  50. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/jailbroken_result.py +5 -55
  51. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/location.py +7 -59
  52. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/location_spoofing_result.py +5 -55
  53. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/privacy_settings_result.py +5 -55
  54. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/product_error.py +7 -59
  55. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/products_response.py +146 -140
  56. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/products_response_botd.py +9 -59
  57. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/products_response_identification.py +9 -59
  58. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/products_response_identification_data.py +39 -111
  59. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/proxy_result.py +5 -55
  60. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/raw_device_attributes_result.py +3 -51
  61. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/remote_control_result.py +66 -0
  62. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/response.py +12 -67
  63. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/response_visits.py +37 -107
  64. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/root_apps_result.py +5 -55
  65. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/seen_at.py +9 -59
  66. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_cloned_app.py +9 -59
  67. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/signal_response_developer_tools.py +89 -0
  68. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_emulator.py +9 -59
  69. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_factory_reset.py +9 -59
  70. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_frida.py +9 -59
  71. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_high_activity.py +9 -59
  72. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_incognito.py +10 -60
  73. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_ip_blocklist.py +9 -59
  74. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_ip_info.py +9 -59
  75. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_jailbroken.py +9 -59
  76. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_location_spoofing.py +9 -59
  77. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_privacy_settings.py +9 -59
  78. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_proxy.py +9 -59
  79. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_raw_device_attributes.py +10 -60
  80. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/signal_response_remote_control.py +89 -0
  81. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_root_apps.py +9 -59
  82. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_suspect_score.py +9 -59
  83. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_tampering.py +10 -60
  84. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_tor.py +9 -59
  85. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/signal_response_velocity.py +89 -0
  86. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_virtual_machine.py +9 -59
  87. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/signal_response_vpn.py +9 -59
  88. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/subdivision.py +7 -59
  89. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/suspect_score_result.py +5 -55
  90. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/tampering_result.py +7 -59
  91. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/too_many_requests_response.py +74 -0
  92. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/tor_result.py +5 -55
  93. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/velocity_interval_result.py +118 -0
  94. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/velocity_intervals.py +64 -0
  95. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/models/velocity_result.py +146 -0
  96. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/virtual_machine_result.py +5 -55
  97. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/visit.py +39 -110
  98. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/vpn_result.py +12 -67
  99. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/vpn_result_methods.py +41 -68
  100. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/models/webhook_visit.py +180 -201
  101. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/rest.py +19 -83
  102. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk/webhook.py +30 -0
  103. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk.egg-info/PKG-INFO +130 -23
  104. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk.egg-info/SOURCES.txt +27 -4
  105. fingerprint_pro_server_api_sdk-7.0.0.dev1/fingerprint_pro_server_api_sdk.egg-info/requires.txt +4 -0
  106. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/setup.cfg +1 -1
  107. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/setup.py +4 -5
  108. fingerprint_pro_server_api_sdk-7.0.0.dev1/test/test_base_model.py +123 -0
  109. fingerprint_pro_server_api_sdk-7.0.0.dev1/test/test_fingerprint_api.py +519 -0
  110. fingerprint_pro_server_api_sdk-7.0.0.dev1/test/test_webhook_validation.py +42 -0
  111. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk/api/fingerprint_api.py +0 -265
  112. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk/models/deprecated_ip_location_city.py +0 -113
  113. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_event403_response.py +0 -113
  114. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_event403_response_error.py +0 -149
  115. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk/models/error_event404_response.py +0 -113
  116. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk/models/factory_reset_result.py +0 -145
  117. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk/models/ip_location_city.py +0 -113
  118. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk/models/many_requests_response.py +0 -128
  119. fingerprint-pro-server-api-sdk-6.0.0.dev1/fingerprint_pro_server_api_sdk.egg-info/requires.txt +0 -4
  120. fingerprint-pro-server-api-sdk-6.0.0.dev1/test/test_fingerprint_api.py +0 -336
  121. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/LICENSE +0 -0
  122. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/dummy_pool.py +0 -0
  123. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/extend_exception.py +0 -0
  124. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk/sealed.py +0 -0
  125. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk.egg-info/dependency_links.txt +0 -0
  126. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/fingerprint_pro_server_api_sdk.egg-info/top_level.txt +0 -0
  127. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/test/__init__.py +0 -0
  128. {fingerprint-pro-server-api-sdk-6.0.0.dev1 → fingerprint_pro_server_api_sdk-7.0.0.dev1}/test/test_sealed.py +0 -0
@@ -1,18 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fingerprint-pro-server-api-sdk
3
- Version: 6.0.0.dev1
3
+ Version: 7.0.0.dev1
4
4
  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.
5
5
  Home-page: https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk
6
6
  Author: Fingerprint
7
7
  Author-email: support@fingerprint.com
8
8
  License: MIT
9
9
  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
10
- Platform: UNKNOWN
11
10
  Classifier: Development Status :: 5 - Production/Stable
12
11
  Classifier: Intended Audience :: Developers
13
12
  Classifier: License :: OSI Approved :: MIT License
14
13
  Classifier: Programming Language :: Python
15
- Classifier: Programming Language :: Python :: 3.8
16
14
  Classifier: Programming Language :: Python :: 3.9
17
15
  Classifier: Programming Language :: Python :: 3.10
18
16
  Classifier: Programming Language :: Python :: 3.12
@@ -22,6 +20,10 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
20
  Classifier: Topic :: Security
23
21
  Description-Content-Type: text/markdown
24
22
  License-File: LICENSE
23
+ Requires-Dist: certifi>=2023.7.22
24
+ Requires-Dist: python-dateutil>=2.5.3
25
+ Requires-Dist: urllib3>=1.23
26
+ Requires-Dist: cryptography
25
27
 
26
28
  <p align="center">
27
29
  <a href="https://fingerprint.com">
@@ -47,14 +49,14 @@ The Fingerprint Server Python SDK is an easy way to interact with the Fingerprin
47
49
  This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
48
50
 
49
51
  - API version: 3
50
- - Package version: 6.0.0.dev1
52
+ - Package version: 7.0.0.dev1
51
53
  - Build package: io.swagger.codegen.v3.generators.python.PythonClientCodegen
52
54
 
53
55
  ## Requirements
54
56
 
55
57
  The following Python versions are supported:
56
58
 
57
- - Python >= 3.8
59
+ - Python >= 3.9
58
60
 
59
61
  ## Installation & Usage
60
62
  ### pip install
@@ -110,47 +112,88 @@ api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
110
112
  Fetching visits using visitorId:
111
113
  ```python
112
114
  import fingerprint_pro_server_api_sdk
113
- from fingerprint_pro_server_api_sdk import Response
114
115
  from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
115
116
 
116
117
  configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
117
118
  api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
118
119
 
119
- visitor_id = 'visitor_id_example' # str |
120
- #request_id = 'request_id_example' # str | Filter events by requestId (optional)
121
- #linked_id = 'linked_id_example' # str | Filter events by custom identifier (optional)
122
- limit = 10 # int | Limit scanned results (optional)
123
- #before = 56 # int | Used to paginate results (optional)
120
+ visitor_id = 'visitor_id_example' # str | Unique [visitor identifier](https://dev.fingerprint.com/docs/js-agent#visitorid) issued by Fingerprint Pro.
121
+ #request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
122
+ #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)
123
+ 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)
124
+ #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)
124
125
 
125
126
  try:
126
- api_response: Response = api_instance.get_visits(visitor_id, limit=2)
127
+ api_response = api_instance.get_visits(visitor_id, limit=2)
127
128
  print(api_response)
128
129
  except KnownApiException as e:
129
130
  structured_error = e.structured_error
130
131
  print("Error: %s\n" % structured_error.error)
131
132
  except ApiException as e:
132
- print("Exception when calling DefaultApi->visitors_visitor_id_get: %s\n" % e)
133
+ print("Exception when calling FingerprintApi->visitors_visitor_id_get: %s\n" % e)
134
+ ```
135
+
136
+ Delete visits using visitorId:
137
+ ```python
138
+ import fingerprint_pro_server_api_sdk
139
+ from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
140
+
141
+ configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
142
+ api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
143
+
144
+ visitor_id = 'visitor_id_example' # str | Unique [visitor identifier](https://dev.fingerprint.com/docs/js-agent#visitorid) issued by Fingerprint Pro.
145
+
146
+ try:
147
+ api_instance.delete_visitor_data(visitor_id)
148
+ except KnownApiException as e:
149
+ structured_error = e.structured_error
150
+ print("Error: %s\n" % structured_error.error)
151
+ except ApiException as e:
152
+ print("Exception when calling FingerprintApi->delete_visitor_data: %s\n" % e)
133
153
  ```
134
154
 
135
155
  Fetching events for requestId:
136
156
  ```python
137
157
  import fingerprint_pro_server_api_sdk
138
- from fingerprint_pro_server_api_sdk import EventResponse
139
158
  from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
140
159
 
141
160
  configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
142
161
  api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
143
162
 
144
- request_id = 'request_id_example' # str
163
+ request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
145
164
 
146
165
  try:
147
- events_response: EventResponse = api_instance.get_event(request_id)
166
+ events_response = api_instance.get_event(request_id)
148
167
 
149
168
  except KnownApiException as e:
150
169
  structured_error = e.structured_error
151
170
  print("Error code: %s. Error message: %s\n" % (structured_error.error.code, structured_error.error.message))
152
171
  except ApiException as e:
153
- print("Exception when calling DefaultApi->get_event: %s\n" % e)
172
+ print("Exception when calling FingerprintApi->get_event: %s\n" % e)
173
+ ```
174
+
175
+ Update event for requestId:
176
+ ```python
177
+ import fingerprint_pro_server_api_sdk
178
+ from fingerprint_pro_server_api_sdk import EventUpdateRequest
179
+ from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
180
+
181
+ configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
182
+ api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
183
+
184
+ request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
185
+ body = EventUpdateRequest(linked_id='foo') # EventUpdateRequest |
186
+ # body = EventUpdateRequest(tag={'bar': 123})
187
+ # body = EventUpdateRequest(suspect=True)
188
+ # body = EventUpdateRequest(linked_id='foo', tag={'bar': 123}, suspect=False)
189
+
190
+ try:
191
+ api_instance.update_event(request_id, body)
192
+ except KnownApiException as e:
193
+ structured_error = e.structured_error
194
+ print("Error code: %s. Error message: %s\n" % (structured_error.error.code, structured_error.error.message))
195
+ except ApiException as e:
196
+ print("Exception when calling FingerprintApi->update_event: %s\n" % e)
154
197
  ```
155
198
 
156
199
  ## Sealed results
@@ -183,14 +226,60 @@ exit(0)
183
226
  ```
184
227
  To learn more, refer to example located in [sealed_results_example.py](sealed_results_example.py).
185
228
 
229
+ ## Webhook signature validation
230
+
231
+ This SDK provides utility method for verifying the HMAC signature of the incoming webhook request.
232
+ ```python
233
+ import os
234
+ from flask import Flask, request, jsonify
235
+ from fingerprint_pro_server_api_sdk import Webhook
236
+
237
+ app = Flask(__name__)
238
+
239
+ @app.route('/api/webhook', methods=['POST'])
240
+ def webhook_handler():
241
+ try:
242
+ # Retrieve the secret key from environment variables
243
+ secret = os.getenv("WEBHOOK_SIGNATURE_SECRET")
244
+ if not secret:
245
+ return jsonify({"message": "Secret key is not configured."}), 400
246
+
247
+ # Get the "fpjs-event-signature" header from the incoming request
248
+ header = request.headers.get('fpjs-event-signature')
249
+ if not header:
250
+ return jsonify({"message": "Missing fpjs-event-signature header."}), 400
251
+
252
+ # Read the raw body of the incoming request
253
+ data = request.get_data()
254
+
255
+ # Validate the webhook signature
256
+ is_valid = Webhook.is_valid_webhook_signature(header, data, secret)
257
+ if not is_valid:
258
+ return jsonify({"message": "Webhook signature is invalid."}), 403
259
+
260
+ # Process the webhook data here
261
+ return jsonify({"message": "Webhook received."}), 200
262
+
263
+ except Exception as e:
264
+ # Handle any unexpected errors
265
+ return jsonify({"error": str(e)}), 500
266
+
267
+ if __name__ == '__main__':
268
+ # Start the Flask application on the specified host and port
269
+ app.run(host='0.0.0.0', port=5000)
270
+ ```
271
+ To learn more, refer to example located in [webhook_signature_example.py](webhook_signature_example.py).
272
+
186
273
  ## Documentation for API Endpoints
187
274
 
188
275
  All URIs are relative to *https://api.fpjs.io*
189
276
 
190
277
  Class | Method | HTTP request | Description
191
278
  ------------ | ------------- | ------------- | -------------
192
- *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 requestId
193
- *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 visitorId
279
+ *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
280
+ *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
281
+ *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
282
+ *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
194
283
 
195
284
  ## Documentation For Models
196
285
 
@@ -199,17 +288,29 @@ Class | Method | HTTP request | Description
199
288
  - [BotdResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BotdResult.md)
200
289
  - [BrowserDetails](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/BrowserDetails.md)
201
290
  - [ClonedAppResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ClonedAppResult.md)
291
+ - [Common403ErrorResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Common403ErrorResponse.md)
202
292
  - [Confidence](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Confidence.md)
203
293
  - [DataCenter](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DataCenter.md)
204
294
  - [DeprecatedIPLocation](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeprecatedIPLocation.md)
205
295
  - [DeprecatedIPLocationCity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeprecatedIPLocationCity.md)
296
+ - [DeveloperToolsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/DeveloperToolsResult.md)
206
297
  - [EmulatorResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EmulatorResult.md)
207
- - [ErrorEvent403Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorEvent403Response.md)
208
- - [ErrorEvent403ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorEvent403ResponseError.md)
298
+ - [ErrorCommon403Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon403Response.md)
299
+ - [ErrorCommon429Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon429Response.md)
300
+ - [ErrorCommon429ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorCommon429ResponseError.md)
209
301
  - [ErrorEvent404Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorEvent404Response.md)
210
302
  - [ErrorEvent404ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorEvent404ResponseError.md)
303
+ - [ErrorUpdateEvent400Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent400Response.md)
304
+ - [ErrorUpdateEvent400ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent400ResponseError.md)
305
+ - [ErrorUpdateEvent409Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent409Response.md)
306
+ - [ErrorUpdateEvent409ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorUpdateEvent409ResponseError.md)
307
+ - [ErrorVisitor400Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor400Response.md)
308
+ - [ErrorVisitor400ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor400ResponseError.md)
309
+ - [ErrorVisitor404Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor404Response.md)
310
+ - [ErrorVisitor404ResponseError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisitor404ResponseError.md)
211
311
  - [ErrorVisits403](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ErrorVisits403.md)
212
312
  - [EventResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventResponse.md)
313
+ - [EventUpdateRequest](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/EventUpdateRequest.md)
213
314
  - [FactoryResetResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FactoryResetResult.md)
214
315
  - [FridaResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/FridaResult.md)
215
316
  - [HighActivityResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/HighActivityResult.md)
@@ -225,7 +326,6 @@ Class | Method | HTTP request | Description
225
326
  - [JailbrokenResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/JailbrokenResult.md)
226
327
  - [Location](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Location.md)
227
328
  - [LocationSpoofingResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/LocationSpoofingResult.md)
228
- - [ManyRequestsResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ManyRequestsResponse.md)
229
329
  - [PrivacySettingsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/PrivacySettingsResult.md)
230
330
  - [ProductError](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductError.md)
231
331
  - [ProductsResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponse.md)
@@ -234,11 +334,13 @@ Class | Method | HTTP request | Description
234
334
  - [ProductsResponseIdentificationData](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProductsResponseIdentificationData.md)
235
335
  - [ProxyResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ProxyResult.md)
236
336
  - [RawDeviceAttributesResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RawDeviceAttributesResult.md)
337
+ - [RemoteControlResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RemoteControlResult.md)
237
338
  - [Response](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Response.md)
238
339
  - [ResponseVisits](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/ResponseVisits.md)
239
340
  - [RootAppsResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/RootAppsResult.md)
240
341
  - [SeenAt](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SeenAt.md)
241
342
  - [SignalResponseClonedApp](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseClonedApp.md)
343
+ - [SignalResponseDeveloperTools](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseDeveloperTools.md)
242
344
  - [SignalResponseEmulator](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseEmulator.md)
243
345
  - [SignalResponseFactoryReset](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseFactoryReset.md)
244
346
  - [SignalResponseFrida](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseFrida.md)
@@ -251,16 +353,22 @@ Class | Method | HTTP request | Description
251
353
  - [SignalResponsePrivacySettings](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponsePrivacySettings.md)
252
354
  - [SignalResponseProxy](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseProxy.md)
253
355
  - [SignalResponseRawDeviceAttributes](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRawDeviceAttributes.md)
356
+ - [SignalResponseRemoteControl](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRemoteControl.md)
254
357
  - [SignalResponseRootApps](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseRootApps.md)
255
358
  - [SignalResponseSuspectScore](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseSuspectScore.md)
256
359
  - [SignalResponseTampering](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseTampering.md)
257
360
  - [SignalResponseTor](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseTor.md)
361
+ - [SignalResponseVelocity](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVelocity.md)
258
362
  - [SignalResponseVirtualMachine](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVirtualMachine.md)
259
363
  - [SignalResponseVpn](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SignalResponseVpn.md)
260
364
  - [Subdivision](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Subdivision.md)
261
365
  - [SuspectScoreResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/SuspectScoreResult.md)
262
366
  - [TamperingResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TamperingResult.md)
367
+ - [TooManyRequestsResponse](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TooManyRequestsResponse.md)
263
368
  - [TorResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/TorResult.md)
369
+ - [VelocityIntervalResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityIntervalResult.md)
370
+ - [VelocityIntervals](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityIntervals.md)
371
+ - [VelocityResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VelocityResult.md)
264
372
  - [VirtualMachineResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VirtualMachineResult.md)
265
373
  - [Visit](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/Visit.md)
266
374
  - [VpnResult](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/docs/VpnResult.md)
@@ -296,4 +404,3 @@ If you need private support, you can email us at [oss-support@fingerprint.com](m
296
404
  ## License
297
405
 
298
406
  This project is licensed under the [MIT License](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/LICENSE).
299
-
@@ -26,14 +26,14 @@ The Fingerprint Server Python SDK is an easy way to interact with the Fingerprin
26
26
  This Python package is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
27
27
 
28
28
  - API version: 3
29
- - Package version: 6.0.0.dev1
29
+ - Package version: 7.0.0.dev1
30
30
  - Build package: io.swagger.codegen.v3.generators.python.PythonClientCodegen
31
31
 
32
32
  ## Requirements
33
33
 
34
34
  The following Python versions are supported:
35
35
 
36
- - Python >= 3.8
36
+ - Python >= 3.9
37
37
 
38
38
  ## Installation & Usage
39
39
  ### pip install
@@ -89,47 +89,88 @@ api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
89
89
  Fetching visits using visitorId:
90
90
  ```python
91
91
  import fingerprint_pro_server_api_sdk
92
- from fingerprint_pro_server_api_sdk import Response
93
92
  from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
94
93
 
95
94
  configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
96
95
  api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
97
96
 
98
- visitor_id = 'visitor_id_example' # str |
99
- #request_id = 'request_id_example' # str | Filter events by requestId (optional)
100
- #linked_id = 'linked_id_example' # str | Filter events by custom identifier (optional)
101
- limit = 10 # int | Limit scanned results (optional)
102
- #before = 56 # int | Used to paginate results (optional)
97
+ visitor_id = 'visitor_id_example' # str | Unique [visitor identifier](https://dev.fingerprint.com/docs/js-agent#visitorid) issued by Fingerprint Pro.
98
+ #request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
99
+ #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)
100
+ 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)
101
+ #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)
103
102
 
104
103
  try:
105
- api_response: Response = api_instance.get_visits(visitor_id, limit=2)
104
+ api_response = api_instance.get_visits(visitor_id, limit=2)
106
105
  print(api_response)
107
106
  except KnownApiException as e:
108
107
  structured_error = e.structured_error
109
108
  print("Error: %s\n" % structured_error.error)
110
109
  except ApiException as e:
111
- print("Exception when calling DefaultApi->visitors_visitor_id_get: %s\n" % e)
110
+ print("Exception when calling FingerprintApi->visitors_visitor_id_get: %s\n" % e)
111
+ ```
112
+
113
+ Delete visits using visitorId:
114
+ ```python
115
+ import fingerprint_pro_server_api_sdk
116
+ from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
117
+
118
+ configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
119
+ api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
120
+
121
+ visitor_id = 'visitor_id_example' # str | Unique [visitor identifier](https://dev.fingerprint.com/docs/js-agent#visitorid) issued by Fingerprint Pro.
122
+
123
+ try:
124
+ api_instance.delete_visitor_data(visitor_id)
125
+ except KnownApiException as e:
126
+ structured_error = e.structured_error
127
+ print("Error: %s\n" % structured_error.error)
128
+ except ApiException as e:
129
+ print("Exception when calling FingerprintApi->delete_visitor_data: %s\n" % e)
112
130
  ```
113
131
 
114
132
  Fetching events for requestId:
115
133
  ```python
116
134
  import fingerprint_pro_server_api_sdk
117
- from fingerprint_pro_server_api_sdk import EventResponse
118
135
  from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
119
136
 
120
137
  configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
121
138
  api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
122
139
 
123
- request_id = 'request_id_example' # str
140
+ request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
124
141
 
125
142
  try:
126
- events_response: EventResponse = api_instance.get_event(request_id)
143
+ events_response = api_instance.get_event(request_id)
144
+
145
+ except KnownApiException as e:
146
+ structured_error = e.structured_error
147
+ print("Error code: %s. Error message: %s\n" % (structured_error.error.code, structured_error.error.message))
148
+ except ApiException as e:
149
+ print("Exception when calling FingerprintApi->get_event: %s\n" % e)
150
+ ```
151
+
152
+ Update event for requestId:
153
+ ```python
154
+ import fingerprint_pro_server_api_sdk
155
+ from fingerprint_pro_server_api_sdk import EventUpdateRequest
156
+ from fingerprint_pro_server_api_sdk.rest import ApiException, KnownApiException
157
+
158
+ configuration = fingerprint_pro_server_api_sdk.Configuration(api_key="SECRET_API_KEY")
159
+ api_instance = fingerprint_pro_server_api_sdk.FingerprintApi(configuration)
160
+
161
+ request_id = 'request_id_example' # str | The unique event [identifier](https://dev.fingerprint.com/docs/js-agent#requestid).
162
+ body = EventUpdateRequest(linked_id='foo') # EventUpdateRequest |
163
+ # body = EventUpdateRequest(tag={'bar': 123})
164
+ # body = EventUpdateRequest(suspect=True)
165
+ # body = EventUpdateRequest(linked_id='foo', tag={'bar': 123}, suspect=False)
127
166
 
167
+ try:
168
+ api_instance.update_event(request_id, body)
128
169
  except KnownApiException as e:
129
170
  structured_error = e.structured_error
130
171
  print("Error code: %s. Error message: %s\n" % (structured_error.error.code, structured_error.error.message))
131
172
  except ApiException as e:
132
- print("Exception when calling DefaultApi->get_event: %s\n" % e)
173
+ print("Exception when calling FingerprintApi->update_event: %s\n" % e)
133
174
  ```
134
175
 
135
176
  ## Sealed results
@@ -162,14 +203,60 @@ exit(0)
162
203
  ```
163
204
  To learn more, refer to example located in [sealed_results_example.py](sealed_results_example.py).
164
205
 
206
+ ## Webhook signature validation
207
+
208
+ This SDK provides utility method for verifying the HMAC signature of the incoming webhook request.
209
+ ```python
210
+ import os
211
+ from flask import Flask, request, jsonify
212
+ from fingerprint_pro_server_api_sdk import Webhook
213
+
214
+ app = Flask(__name__)
215
+
216
+ @app.route('/api/webhook', methods=['POST'])
217
+ def webhook_handler():
218
+ try:
219
+ # Retrieve the secret key from environment variables
220
+ secret = os.getenv("WEBHOOK_SIGNATURE_SECRET")
221
+ if not secret:
222
+ return jsonify({"message": "Secret key is not configured."}), 400
223
+
224
+ # Get the "fpjs-event-signature" header from the incoming request
225
+ header = request.headers.get('fpjs-event-signature')
226
+ if not header:
227
+ return jsonify({"message": "Missing fpjs-event-signature header."}), 400
228
+
229
+ # Read the raw body of the incoming request
230
+ data = request.get_data()
231
+
232
+ # Validate the webhook signature
233
+ is_valid = Webhook.is_valid_webhook_signature(header, data, secret)
234
+ if not is_valid:
235
+ return jsonify({"message": "Webhook signature is invalid."}), 403
236
+
237
+ # Process the webhook data here
238
+ return jsonify({"message": "Webhook received."}), 200
239
+
240
+ except Exception as e:
241
+ # Handle any unexpected errors
242
+ return jsonify({"error": str(e)}), 500
243
+
244
+ if __name__ == '__main__':
245
+ # Start the Flask application on the specified host and port
246
+ app.run(host='0.0.0.0', port=5000)
247
+ ```
248
+ To learn more, refer to example located in [webhook_signature_example.py](webhook_signature_example.py).
249
+
165
250
  ## Documentation for API Endpoints
166
251
 
167
252
  All URIs are relative to *https://api.fpjs.io*
168
253
 
169
254
  Class | Method | HTTP request | Description
170
255
  ------------ | ------------- | ------------- | -------------
171
- *FingerprintApi* | [**get_event**](docs/FingerprintApi.md#get_event) | **GET** /events/{request_id} | Get event by requestId
172
- *FingerprintApi* | [**get_visits**](docs/FingerprintApi.md#get_visits) | **GET** /visitors/{visitor_id} | Get visits by visitorId
256
+ *FingerprintApi* | [**delete_visitor_data**](docs/FingerprintApi.md#delete_visitor_data) | **DELETE** /visitors/{visitor_id} | Delete data by visitor ID
257
+ *FingerprintApi* | [**get_event**](docs/FingerprintApi.md#get_event) | **GET** /events/{request_id} | Get event by request ID
258
+ *FingerprintApi* | [**get_visits**](docs/FingerprintApi.md#get_visits) | **GET** /visitors/{visitor_id} | Get visits by visitor ID
259
+ *FingerprintApi* | [**update_event**](docs/FingerprintApi.md#update_event) | **PUT** /events/{request_id} | Update an event with a given request ID
173
260
 
174
261
  ## Documentation For Models
175
262
 
@@ -178,17 +265,29 @@ Class | Method | HTTP request | Description
178
265
  - [BotdResult](docs/BotdResult.md)
179
266
  - [BrowserDetails](docs/BrowserDetails.md)
180
267
  - [ClonedAppResult](docs/ClonedAppResult.md)
268
+ - [Common403ErrorResponse](docs/Common403ErrorResponse.md)
181
269
  - [Confidence](docs/Confidence.md)
182
270
  - [DataCenter](docs/DataCenter.md)
183
271
  - [DeprecatedIPLocation](docs/DeprecatedIPLocation.md)
184
272
  - [DeprecatedIPLocationCity](docs/DeprecatedIPLocationCity.md)
273
+ - [DeveloperToolsResult](docs/DeveloperToolsResult.md)
185
274
  - [EmulatorResult](docs/EmulatorResult.md)
186
- - [ErrorEvent403Response](docs/ErrorEvent403Response.md)
187
- - [ErrorEvent403ResponseError](docs/ErrorEvent403ResponseError.md)
275
+ - [ErrorCommon403Response](docs/ErrorCommon403Response.md)
276
+ - [ErrorCommon429Response](docs/ErrorCommon429Response.md)
277
+ - [ErrorCommon429ResponseError](docs/ErrorCommon429ResponseError.md)
188
278
  - [ErrorEvent404Response](docs/ErrorEvent404Response.md)
189
279
  - [ErrorEvent404ResponseError](docs/ErrorEvent404ResponseError.md)
280
+ - [ErrorUpdateEvent400Response](docs/ErrorUpdateEvent400Response.md)
281
+ - [ErrorUpdateEvent400ResponseError](docs/ErrorUpdateEvent400ResponseError.md)
282
+ - [ErrorUpdateEvent409Response](docs/ErrorUpdateEvent409Response.md)
283
+ - [ErrorUpdateEvent409ResponseError](docs/ErrorUpdateEvent409ResponseError.md)
284
+ - [ErrorVisitor400Response](docs/ErrorVisitor400Response.md)
285
+ - [ErrorVisitor400ResponseError](docs/ErrorVisitor400ResponseError.md)
286
+ - [ErrorVisitor404Response](docs/ErrorVisitor404Response.md)
287
+ - [ErrorVisitor404ResponseError](docs/ErrorVisitor404ResponseError.md)
190
288
  - [ErrorVisits403](docs/ErrorVisits403.md)
191
289
  - [EventResponse](docs/EventResponse.md)
290
+ - [EventUpdateRequest](docs/EventUpdateRequest.md)
192
291
  - [FactoryResetResult](docs/FactoryResetResult.md)
193
292
  - [FridaResult](docs/FridaResult.md)
194
293
  - [HighActivityResult](docs/HighActivityResult.md)
@@ -204,7 +303,6 @@ Class | Method | HTTP request | Description
204
303
  - [JailbrokenResult](docs/JailbrokenResult.md)
205
304
  - [Location](docs/Location.md)
206
305
  - [LocationSpoofingResult](docs/LocationSpoofingResult.md)
207
- - [ManyRequestsResponse](docs/ManyRequestsResponse.md)
208
306
  - [PrivacySettingsResult](docs/PrivacySettingsResult.md)
209
307
  - [ProductError](docs/ProductError.md)
210
308
  - [ProductsResponse](docs/ProductsResponse.md)
@@ -213,11 +311,13 @@ Class | Method | HTTP request | Description
213
311
  - [ProductsResponseIdentificationData](docs/ProductsResponseIdentificationData.md)
214
312
  - [ProxyResult](docs/ProxyResult.md)
215
313
  - [RawDeviceAttributesResult](docs/RawDeviceAttributesResult.md)
314
+ - [RemoteControlResult](docs/RemoteControlResult.md)
216
315
  - [Response](docs/Response.md)
217
316
  - [ResponseVisits](docs/ResponseVisits.md)
218
317
  - [RootAppsResult](docs/RootAppsResult.md)
219
318
  - [SeenAt](docs/SeenAt.md)
220
319
  - [SignalResponseClonedApp](docs/SignalResponseClonedApp.md)
320
+ - [SignalResponseDeveloperTools](docs/SignalResponseDeveloperTools.md)
221
321
  - [SignalResponseEmulator](docs/SignalResponseEmulator.md)
222
322
  - [SignalResponseFactoryReset](docs/SignalResponseFactoryReset.md)
223
323
  - [SignalResponseFrida](docs/SignalResponseFrida.md)
@@ -230,16 +330,22 @@ Class | Method | HTTP request | Description
230
330
  - [SignalResponsePrivacySettings](docs/SignalResponsePrivacySettings.md)
231
331
  - [SignalResponseProxy](docs/SignalResponseProxy.md)
232
332
  - [SignalResponseRawDeviceAttributes](docs/SignalResponseRawDeviceAttributes.md)
333
+ - [SignalResponseRemoteControl](docs/SignalResponseRemoteControl.md)
233
334
  - [SignalResponseRootApps](docs/SignalResponseRootApps.md)
234
335
  - [SignalResponseSuspectScore](docs/SignalResponseSuspectScore.md)
235
336
  - [SignalResponseTampering](docs/SignalResponseTampering.md)
236
337
  - [SignalResponseTor](docs/SignalResponseTor.md)
338
+ - [SignalResponseVelocity](docs/SignalResponseVelocity.md)
237
339
  - [SignalResponseVirtualMachine](docs/SignalResponseVirtualMachine.md)
238
340
  - [SignalResponseVpn](docs/SignalResponseVpn.md)
239
341
  - [Subdivision](docs/Subdivision.md)
240
342
  - [SuspectScoreResult](docs/SuspectScoreResult.md)
241
343
  - [TamperingResult](docs/TamperingResult.md)
344
+ - [TooManyRequestsResponse](docs/TooManyRequestsResponse.md)
242
345
  - [TorResult](docs/TorResult.md)
346
+ - [VelocityIntervalResult](docs/VelocityIntervalResult.md)
347
+ - [VelocityIntervals](docs/VelocityIntervals.md)
348
+ - [VelocityResult](docs/VelocityResult.md)
243
349
  - [VirtualMachineResult](docs/VirtualMachineResult.md)
244
350
  - [Visit](docs/Visit.md)
245
351
  - [VpnResult](docs/VpnResult.md)
@@ -274,4 +380,4 @@ If you need private support, you can email us at [oss-support@fingerprint.com](m
274
380
 
275
381
  ## License
276
382
 
277
- This project is licensed under the [MIT License](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/LICENSE).
383
+ This project is licensed under the [MIT License](https://github.com/fingerprintjs/fingerprint-pro-server-api-python-sdk/blob/main/LICENSE).