- Add Related Visitors API (691d02a)
- Add
relay
detection method to the VPN Detection Smart Signal (cff0ef7) - events: Add a
suspect
field to theidentification
product schema (cff0ef7)
The underlying Server API hasn’t changed, but we made SDK type and class generation more precise, resulting in small breaking changes for the SDK itself. This change should make the SDK API a lot more stable going forward
-
- Remove the
BrowserDetails
fieldbotProbability
. - Update the
IdentificationConfidence
fieldscore
type format:float
->double
. - Make the
RawDeviceAttributeError
fieldname
optional . - Make the
RawDeviceAttributeError
fieldmessage
optional . - events: Remove the
EventsResponse
fielderror
.- [note]: The errors are represented by
ErrorResponse
model.
- [note]: The errors are represented by
- events: Update the
HighActivity
fielddailyRequests
type format:number
->int64
. - events: Specify the
Tampering
fieldanomalyScore
type format:double
. - webhook: Make the
Webhook
fields optional:visitorId
,visitorFound
,firstSeenAt
,lastSeenAt
,browserDetails
,incognito
. - webhook: Make the
WebhookClonedApp
fieldresult
optional. - webhook: Make the
WebhookDeveloperTools
fieldresult
optional. - webhook: Make the
WebhookEmulator
fieldresult
optional. - webhook: Make the
WebhookFactoryReset
fieldstime
andtimestamp
optional. - webhook: Make the
WebhookFrida
fieldresult
optional. - webhook: Update the
WebhookHighActivity
fielddailyRequests
type format:number
->int64
. - webhook: Make the
WebhookIPBlocklist
fieldsresult
anddetails
optional. - webhook: Make the
WebhookJailbroken
fieldresult
optional. - webhook: Make the
WebhookLocationSpoofing
fieldresult
optional. - webhook: Make the
WebhookPrivacySettings
fieldresult
optional. - webhook: Make the
WebhookProxy
fieldresult
optional. - webhook: Make the
WebhookRemoteControl
fieldresult
optional. - webhook: Make the
WebhookRootApps
fieldresult
optional. - webhook: Make the
WebhookSuspectScore
fieldresult
optional. - webhook: Make the
WebhookTampering
fieldsresult
,anomalyScore
andantiDetectBrowser
optional. - webhook: Specify the
WebhookTampering
fieldanomalyScore
type format:double
. - webhook: Make the
WebhookTor
fieldresult
optional. - webhook: Make the
WebhookVelocity
fields optional:distinctIp
,distinctLinkedId
,distinctCountry
,events
,ipEvents
,distinctIpByLinkedId
,distinctVisitorIdByLinkedId
. - webhook: Make the
WebhookVirtualMachine
fieldresult
optional. - webhook: Make the
WebhookVPN
fields optional:result
,confidence
,originTimezone
,methods
. (8df1d4a)
- Remove the
-
- Rename
BotdResult
->Botd
. - Rename
BotdDetectionResult
->BotdBot
:- Extract
result
type asBotdBotResult
.
- Extract
- Rename
ClonedAppResult
->ClonedApp
. - Rename
DeveloperToolsResult
->DeveloperTools
. - Rename
EmulatorResult
->Emulator
. - Refactor error models:
- Remove
ErrorCommon403Response
,ErrorCommon429Response
,ErrorEvent404Response
,TooManyRequestsResponse
,ErrorVisits403
,ErrorUpdateEvent400Response
,ErrorUpdateEvent409Response
,ErrorVisitor400Response
,ErrorVisitor404Response
,IdentificationError
,ProductError
. - Introduce
ErrorResponse
andErrorPlainResponse
.- [note]:
ErrorPlainResponse
has a different format{ "error": string }
and it is used only inGET /visitors
.
- [note]:
- Extract
error
type asError
. - Extract
error.code
type asErrorCode
.
- Remove
- Rename
EventResponse
->EventsGetResponse
. - Rename
EventUpdateRequest
->EventsUpdateRequest
. - Rename
FactoryResetResult
->FactoryReset
. - Rename
FridaResult
->Frida
. - Rename
IPLocation
->Geolocation
:- Rename
IPLocationCity
->GeolocationCity
. - Extract
subdivisions
type asGeolocationSubdivisions
. - Rename
Location
->GeolocationContinent
: - Introduce a dedicated type
GeolocationCountry
. - Rename
Subdivision
->GeolocationSubdivision
.
- Rename
- Rename
HighActivityResult
->HighActivity
. - Rename
Confidence
->IdentificationConfidence
. - Rename
SeenAt
->IdentificationSeenAt
. - Rename
IncognitoResult
->Incognito
. - Rename
IpBlockListResult
->IPBlocklist
:- Extract
details
type asIPBlocklistDetails
.
- Extract
- Rename
IpInfoResult
->IPInfo
:- Rename
IpInfoResultV4
->IPInfoV4
. - Rename
IpInfoResultV6
->IPInfoV6
. - Rename
ASN
->IPInfoASN
. - Rename
DataCenter
->IPInfoDataCenter
.
- Rename
- Rename
JailbrokenResult
->Jailbroken
. - Rename
LocationSpoofingResult
->LocationSpoofing
. - Rename
PrivacySettingsResult
->PrivacySettings
. - Rename
ProductsResponse
->Products
:- Rename inner types:
ProductsResponseIdentification
->ProductIdentification
,ProductsResponseIdentificationData
->Identification
,ProductsResponseBotd
->ProductBotd
,SignalResponseRootApps
->ProductRootApps
,SignalResponseEmulator
->ProductEmulator
,SignalResponseIpInfo
->ProductIPInfo
,SignalResponseIpBlocklist
->ProductIPBlocklist
,SignalResponseTor
->ProductTor
,SignalResponseVpn
->ProductVPN
,SignalResponseProxy
->ProductProxy
,ProxyResult
->Proxy
,SignalResponseIncognito
->ProductIncognito
,SignalResponseTampering
->ProductTampering
,SignalResponseClonedApp
->ProductClonedApp
,SignalResponseFactoryReset
->ProductFactoryReset
,SignalResponseJailbroken
->ProductJailbroken
,SignalResponseFrida
->ProductFrida
,SignalResponsePrivacySettings
->ProductPrivacySettings
,SignalResponseVirtualMachine
->ProductVirtualMachine
,SignalResponseRawDeviceAttributes
->ProductRawDeviceAttributes
,RawDeviceAttributesResultValue
->RawDeviceAttributes
,SignalResponseHighActivity
->ProductHighActivity
,SignalResponseLocationSpoofing
->ProductLocationSpoofing
,SignalResponseSuspectScore
->ProductSuspectScore
,SignalResponseRemoteControl
->ProductRemoteControl
,SignalResponseVelocity
->ProductVelocity
,SignalResponseDeveloperTools
->ProductDeveloperTools
. - Extract
identification.data
type asIdentification
.
- Rename inner types:
- Rename
RawDeviceAttributesResult
->RawDeviceAttributes
:- Extract item type as
RawDeviceAttribute
. - Extract
error
type asRawDeviceAttributeError
.
- Extract item type as
- Rename
RemoteControlResult
->RemoteControl
. - Rename
RootAppsResult
->RootApps
. - Rename
SuspectScoreResult
->SuspectScore
. - Extract new model
Tag
. - Rename
TamperingResult
->Tampering
. - Rename
TorResult
->Tor
. - Rename
VelocityResult
->Velocity
:- Rename
VelocityIntervals
->VelocityData
. - Rename
VelocityIntervalResult
->VelocityIntervals
.
- Rename
- Rename
VirtualMachineResult
->VirtualMachine
. - Rename the
Visit
fieldipLocation
typeDeprecatedIPLocation
->DeprecatedGeolocation
.- Instead of
DeprecatedIPLocationCity
use commonGeolocationCity
- Instead of
- Rename
Response
->VisitorsGetResponse
.- Omit extra inner type
ResponseVisits
- Omit extra inner type
- Rename
VpnResult
->VPN
.- Extract
confidence
type asVPNConfidence
. - Extract
methods
type asVPNMethods
.
- Extract
- Rename
WebhookVisit
->Webhook
.- Introduce new inner types:
WebhookRootApps
,WebhookEmulator
,WebhookIPInfo
,WebhookIPBlocklist
,WebhookTor
,WebhookVPN
,WebhookProxy
,WebhookTampering
,WebhookClonedApp
,WebhookFactoryReset
,WebhookJailbroken
,WebhookFrida
,WebhookPrivacySettings
,WebhookVirtualMachine
,WebhookRawDeviceAttributes
,WebhookHighActivity
,WebhookLocationSpoofing
,WebhookSuspectScore
,WebhookRemoteControl
,WebhookVelocity
,WebhookDeveloperTools
. (8df1d4a)
- Introduce new inner types:
- Rename
- Rename
Webhook
class toWebhookValidation
. Right now,Webhook
class points to the actual data model. (8710516)
- Added new
ipEvents
,distinctIpByLinkedId
, anddistinctVisitorIdByLinkedId
fields to thevelocity
Smart Signal. (8df1d4a) -
- Make the
GeolocationCity
fieldname
required. - Make the
GeolocationSubdivision
fieldisoCode
required. - Make the
GeolocationSubdivision
fieldname
required. - Make the
IPInfoASN
fieldname
required . - Make the
IPInfoDataCenter
fieldname
required. - Add optional
IdentificationConfidence
fieldcomment
. - events: Add optional
Botd
fieldmeta
. - events: Add optional
Identification
fieldcomponents
. - events: Make the
VPN
fieldoriginCountry
required. - visitors: Add optional
Visit
fieldcomponents
. - webhook: Add optional
Webhook
fieldcomponents
. (8df1d4a)
- Make the
- events: Add
antiDetectBrowser
detection method to thetampering
Smart Signal. (8df1d4a)
-
- Remove the
BrowserDetails
fieldbotProbability
. - Update the
IdentificationConfidence
fieldscore
type format:float
->double
. - Make the
RawDeviceAttributeError
fieldname
optional . - Make the
RawDeviceAttributeError
fieldmessage
optional . - events: Remove the
EventsResponse
fielderror
.- [note]: The errors are represented by
ErrorResponse
model.
- [note]: The errors are represented by
- events: Update the
HighActivity
fielddailyRequests
type format:number
->int64
. - events: Specify the
Tampering
fieldanomalyScore
type format:double
. - webhook: Make the
Webhook
fields optional:visitorId
,visitorFound
,firstSeenAt
,lastSeenAt
,browserDetails
,incognito
. - webhook: Make the
WebhookClonedApp
fieldresult
optional. - webhook: Make the
WebhookDeveloperTools
fieldresult
optional. - webhook: Make the
WebhookEmulator
fieldresult
optional. - webhook: Make the
WebhookFactoryReset
fieldstime
andtimestamp
optional. - webhook: Make the
WebhookFrida
fieldresult
optional. - webhook: Update the
WebhookHighActivity
fielddailyRequests
type format:number
->int64
. - webhook: Make the
WebhookIPBlocklist
fieldsresult
anddetails
optional. - webhook: Make the
WebhookJailbroken
fieldresult
optional. - webhook: Make the
WebhookLocationSpoofing
fieldresult
optional. - webhook: Make the
WebhookPrivacySettings
fieldresult
optional. - webhook: Make the
WebhookProxy
fieldresult
optional. - webhook: Make the
WebhookRemoteControl
fieldresult
optional. - webhook: Make the
WebhookRootApps
fieldresult
optional. - webhook: Make the
WebhookSuspectScore
fieldresult
optional. - webhook: Make the
WebhookTampering
fieldsresult
,anomalyScore
andantiDetectBrowser
optional. - webhook: Specify the
WebhookTampering
fieldanomalyScore
type format:double
. - webhook: Make the
WebhookTor
fieldresult
optional. - webhook: Make the
WebhookVelocity
fields optional:distinctIp
,distinctLinkedId
,distinctCountry
,events
,ipEvents
,distinctIpByLinkedId
,distinctVisitorIdByLinkedId
. - webhook: Make the
WebhookVirtualMachine
fieldresult
optional. - webhook: Make the
WebhookVPN
fields optional:result
,confidence
,originTimezone
,methods
. (8df1d4a)
- Remove the
-
- Rename
BotdResult
->Botd
. - Rename
BotdDetectionResult
->BotdBot
:- Extract
result
type asBotdBotResult
.
- Extract
- Rename
ClonedAppResult
->ClonedApp
. - Rename
DeveloperToolsResult
->DeveloperTools
. - Rename
EmulatorResult
->Emulator
. - Refactor error models:
- Remove
ErrorCommon403Response
,ErrorCommon429Response
,ErrorEvent404Response
,TooManyRequestsResponse
,ErrorVisits403
,ErrorUpdateEvent400Response
,ErrorUpdateEvent409Response
,ErrorVisitor400Response
,ErrorVisitor404Response
,IdentificationError
,ProductError
. - Introduce
ErrorResponse
andErrorPlainResponse
.- [note]:
ErrorPlainResponse
has a different format{ "error": string }
and it is used only inGET /visitors
.
- [note]:
- Extract
error
type asError
. - Extract
error.code
type asErrorCode
.
- Remove
- Rename
EventResponse
->EventsGetResponse
. - Rename
EventUpdateRequest
->EventsUpdateRequest
. - Rename
FactoryResetResult
->FactoryReset
. - Rename
FridaResult
->Frida
. - Rename
IPLocation
->Geolocation
:- Rename
IPLocationCity
->GeolocationCity
. - Extract
subdivisions
type asGeolocationSubdivisions
. - Rename
Location
->GeolocationContinent
: - Introduce a dedicated type
GeolocationCountry
. - Rename
Subdivision
->GeolocationSubdivision
.
- Rename
- Rename
HighActivityResult
->HighActivity
. - Rename
Confidence
->IdentificationConfidence
. - Rename
SeenAt
->IdentificationSeenAt
. - Rename
IncognitoResult
->Incognito
. - Rename
IpBlockListResult
->IPBlocklist
:- Extract
details
type asIPBlocklistDetails
.
- Extract
- Rename
IpInfoResult
->IPInfo
:- Rename
IpInfoResultV4
->IPInfoV4
. - Rename
IpInfoResultV6
->IPInfoV6
. - Rename
ASN
->IPInfoASN
. - Rename
DataCenter
->IPInfoDataCenter
.
- Rename
- Rename
JailbrokenResult
->Jailbroken
. - Rename
LocationSpoofingResult
->LocationSpoofing
. - Rename
PrivacySettingsResult
->PrivacySettings
. - Rename
ProductsResponse
->Products
:- Rename inner types:
ProductsResponseIdentification
->ProductIdentification
,ProductsResponseIdentificationData
->Identification
,ProductsResponseBotd
->ProductBotd
,SignalResponseRootApps
->ProductRootApps
,SignalResponseEmulator
->ProductEmulator
,SignalResponseIpInfo
->ProductIPInfo
,SignalResponseIpBlocklist
->ProductIPBlocklist
,SignalResponseTor
->ProductTor
,SignalResponseVpn
->ProductVPN
,SignalResponseProxy
->ProductProxy
,ProxyResult
->Proxy
,SignalResponseIncognito
->ProductIncognito
,SignalResponseTampering
->ProductTampering
,SignalResponseClonedApp
->ProductClonedApp
,SignalResponseFactoryReset
->ProductFactoryReset
,SignalResponseJailbroken
->ProductJailbroken
,SignalResponseFrida
->ProductFrida
,SignalResponsePrivacySettings
->ProductPrivacySettings
,SignalResponseVirtualMachine
->ProductVirtualMachine
,SignalResponseRawDeviceAttributes
->ProductRawDeviceAttributes
,RawDeviceAttributesResultValue
->RawDeviceAttributes
,SignalResponseHighActivity
->ProductHighActivity
,SignalResponseLocationSpoofing
->ProductLocationSpoofing
,SignalResponseSuspectScore
->ProductSuspectScore
,SignalResponseRemoteControl
->ProductRemoteControl
,SignalResponseVelocity
->ProductVelocity
,SignalResponseDeveloperTools
->ProductDeveloperTools
. - Extract
identification.data
type asIdentification
.
- Rename inner types:
- Rename
RawDeviceAttributesResult
->RawDeviceAttributes
:- Extract item type as
RawDeviceAttribute
. - Extract
error
type asRawDeviceAttributeError
.
- Extract item type as
- Rename
RemoteControlResult
->RemoteControl
. - Rename
RootAppsResult
->RootApps
. - Rename
SuspectScoreResult
->SuspectScore
. - Extract new model
Tag
. - Rename
TamperingResult
->Tampering
. - Rename
TorResult
->Tor
. - Rename
VelocityResult
->Velocity
:- Rename
VelocityIntervals
->VelocityData
. - Rename
VelocityIntervalResult
->VelocityIntervals
.
- Rename
- Rename
VirtualMachineResult
->VirtualMachine
. - Rename the
Visit
fieldipLocation
typeDeprecatedIPLocation
->DeprecatedGeolocation
.- Instead of
DeprecatedIPLocationCity
use commonGeolocationCity
- Instead of
- Rename
Response
->VisitorsGetResponse
.- Omit extra inner type
ResponseVisits
- Omit extra inner type
- Rename
VpnResult
->VPN
.- Extract
confidence
type asVPNConfidence
. - Extract
methods
type asVPNMethods
.
- Extract
- Rename
WebhookVisit
->Webhook
.- Introduce new inner types:
WebhookRootApps
,WebhookEmulator
,WebhookIPInfo
,WebhookIPBlocklist
,WebhookTor
,WebhookVPN
,WebhookProxy
,WebhookTampering
,WebhookClonedApp
,WebhookFactoryReset
,WebhookJailbroken
,WebhookFrida
,WebhookPrivacySettings
,WebhookVirtualMachine
,WebhookRawDeviceAttributes
,WebhookHighActivity
,WebhookLocationSpoofing
,WebhookSuspectScore
,WebhookRemoteControl
,WebhookVelocity
,WebhookDeveloperTools
. (8df1d4a)
- Introduce new inner types:
- Rename
- Added new
ipEvents
,distinctIpByLinkedId
, anddistinctVisitorIdByLinkedId
fields to thevelocity
Smart Signal. (8df1d4a) -
- Make the
GeolocationCity
fieldname
required. - Make the
GeolocationSubdivision
fieldisoCode
required. - Make the
GeolocationSubdivision
fieldname
required. - Make the
IPInfoASN
fieldname
required . - Make the
IPInfoDataCenter
fieldname
required. - Add optional
IdentificationConfidence
fieldcomment
. - events: Add optional
Botd
fieldmeta
. - events: Add optional
Identification
fieldcomponents
. - events: Make the
VPN
fieldoriginCountry
required. - visitors: Add optional
Visit
fieldcomponents
. - webhook: Add optional
Webhook
fieldcomponents
. (8df1d4a)
- Make the
- events: Add
antiDetectBrowser
detection method to thetampering
Smart Signal. (8df1d4a)
- visitors: Add the confidence field to the VPN Detection Smart Signal (e98dbd4)
- visitors: Add the confidence field to the VPN Detection Smart Signal (e98dbd4)
7.0.1 (2024-08-22)
- deserialize
raw_device_attributes.data
to correct typeRawDeviceAttributesResult
(743db13)
7.0.0 (2024-08-14)
- rename
unseal_events_response
tounseal_event_response
to keep proper naming - minimum supported Python version is 3.9 now
- rename
error_event403_response
,error_event403_response_error
,many_requests_response
tocommon403_error_response
,error_common403_response
too_many_requests_response
- add
delete_visitor_data
method (961a165) - add
developer_tools
signal (ca25ef7) - add
osMismatch
field to thevpn
signal (0b95bda) - add
remoteControl
signal (5c7b149) - add
revision
field to theconfidence
signal (9b42d6b) - add
update_event
method (752b1c9) - add
velocity
signal (9b31367) - add better error reporting in case of wrong data shape (40e9e6a)
- add webhook validation method (d92b1fe)
- create base class for models and move here utility functions (bfa2285)
- drop Python 3.8 support (d857954)
- simplify
Configuration
class, use inline types (8cad048) - simplify
rest.py
andapi_client.py
and add inline types (a8b1ae6) - update schema (c2e99cd)
- use inline types for
fingerprint_api.py
(c466bd5) - use inline types instead of annotations for models (1121a5c)
unseal_event_response
returns correctEventResponse
structure (a7a0e2d)- don't serialise empty fields in models (9643e1d)
- make
tag
field optional for webhook (e8a28f6) - mark optional fields in models (2c62e20)
- remove Python2 compatibility code (2621ccd)
- update schema with required
body
field for theupdateEvent
method (c6eaf5e)
6.0.0 (2024-03-27)
- now only Python >= 3.8 is supported
- drop support for python < 3.8 (1e18e2c)
5.0.0 (2024-03-20)
- make identification field
confidence
optional - deprecated
ipLocation
field usesDeprecatedIpLocation
model - change models for the most smart signals
- add
linked_id
field to theBotdResult
type (3aba5d0) - add
origin_country
field to thevpn
signal (27f7c58) - add
SuspectScore
smart signal support (331f2a8) - fix
ipLocation
deprecation (cb3b7b1) - make identification field
tag
required (678a3a1) - use shared structures for webhooks and event (c15ae21)
- make fields required according to real API response (8beb757)
4.0.0 (2024-02-14)
- now only Python >= 3.6 is supported
3.0.0 (2024-01-12)
IpInfo
fielddata_center
renamed todatacenter
2.6.0 (2023-11-27)
- add
highActivity
andlocationSpoofing
signals, supportoriginTimezone
forvpn
signal (36793fe)
2.5.1 (2023-09-20)
- update OpenAPI Schema with
asn
anddataCenter
signals (4684316) - update OpenAPI Schema with
auxiliaryMobile
method for VPN signal (5422741)
2.5.0 (2023-08-10)
- fix
multiprocessing.pool
detection fro Lambda (9373a93)
- Improve model documentation, add special fix for
RawDeviceAttributesResult
documentation (36ddc0d
) - README: Use
pagination_key
in README example instead of deprecatedbefore
(5dd6e55
)
- Update schema with correct
IpLocation
format and doc updates (d501cfa
)
- Introduce additional signals (
4e5fc79
)
- Improve error reporting by adding
KnownApiException
class (f60625a
)
- Set
retry_after
to1
in case of missed header (1d5b5b9
) - Add
retry_after
value from header toManyRequestsResponse
error (25dc803
) - Update schema (
c9be3d3
)
- Extend example with new error reporting (
d78d12b
)
- Update schema (
065f23c
)
StSeenAt
type renamed toSeenAt
(065f23c
)
- Update schema to support url field for botd result (
24bfdf0
)
- Restore some parts of api_doc.mustache template from swagger-codegen repository (
5b6b531
)
- Introduce /event/{request_id} endpoint (
3e587d0
)
- README: Add examples to readme (
13256fd
)
- Support nullable types (
7ac3b07
)
- Regenerate schema with nullable types support (
9c05f3e
)
- Stable release (
993a34a
)
- stable release (
993a34a
)
- Add correct links to documentation from PyPI (
af8264f
)
- Improve setup instruction (
c95f794
) - Remove extra imports, use print instead of pprint in example (
9cccd53
) - Add keywords (
93fc3a2
)
- Sync version in generated code (
0181453
) - Update release commit message to not trigger new release (
9d079ca
)
- Use full url to logo (
5cd84fa
)