- Add
relay
detection method to the VPN Detection Smart Signal (e5f305d) - events: Add a
suspect
field to theidentification
product schema (e5f305d)
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
- Replace
ProductError.CodeEnum
andIdentificationError.CodeEnum
withErrorCode
(32afba9) -
- 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
. (9400768)
- Remove the
- Rename errors models related to visits:
- rename
ErrorVisitsDelete400Response
toErrorVisitor400Response
- rename
ErrorVisitsDelete404ResponseError
toErrorVisitor404ResponseError
- rename
ErrorVisitsDelete404Response
toErrorVisitor404Response
(c32807b)
- rename
- Rename
IsValidWebhookSignature
toIsValidSignature
inWebhookValidation
(a8058e2) -
- 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
. (9400768)
- Introduce new inner types:
- Rename
- Drop support for .NET6 and .NET7 because they reached EOL (d9febcb)
- Store
ErrorCode
enum inErrorCode
property inApiException
. Http code in now available inHttpCode
property. (d197f29) - Rename
Webhook
class toWebhookValidation
. Right now,Webhook
class points to the actual data model. (77e0c16) - Expose actual error message in
ApiException.Message
if available (d197f29)
- Update System.Text.Json to 8.0.5 (606c84a)
- related-visitors: Add GET
/related-visitors
endpoint (36ed522) - Added new
ipEvents
,distinctIpByLinkedId
, anddistinctVisitorIdByLinkedId
fields to thevelocity
Smart Signal. (9400768) -
- 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
. (9400768)
- Make the
- visitors: Add the confidence field to the VPN Detection Smart Signal (36ed522)
- Remove
ipv4
format fromip
field inBotd
,Identification
,Visit
andWebhook
models. (0cceba7) - events: Add
antiDetectBrowser
detection method to thetampering
Smart Signal. (36ed522) - events: Introduce
PUT
endpoint for/events
API (b2c086c)
- related-visitors: Add mention that the API is billable (36ed522)
- Replace
ProductError.CodeEnum
andIdentificationError.CodeEnum
withErrorCode
(32afba9) -
- 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
. (9400768)
- Remove the
- Rename
IsValidWebhookSignature
toIsValidSignature
inWebhookValidation
(a8058e2) -
- 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
. (9400768)
- Introduce new inner types:
- Rename
- Drop support for .NET6 and .NET7 because they reached EOL (d9febcb)
- Store
ErrorCode
enum inErrorCode
property inApiException
. Http code in now available inHttpCode
property. (d197f29) - Rename
Webhook
class toWebhookValidation
. Right now,Webhook
class points to the actual data model. (77e0c16) - Expose actual error message in
ApiException.Message
if available (d197f29)
- Update System.Text.Json to 8.0.5 (606c84a)
- related-visitors: Add GET
/related-visitors
endpoint (36ed522) - Added new
ipEvents
,distinctIpByLinkedId
, anddistinctVisitorIdByLinkedId
fields to thevelocity
Smart Signal. (9400768) -
- 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
. (9400768)
- Make the
- visitors: Add the confidence field to the VPN Detection Smart Signal (36ed522)
- Remove
ipv4
format fromip
field inBotd
,Identification
,Visit
andWebhook
models. (0cceba7) - events: Add
antiDetectBrowser
detection method to thetampering
Smart Signal. (36ed522)
- related-visitors: Add mention that the API is billable (36ed522)
- Rename errors models related to visits:
- rename
ErrorVisitsDelete400Response
toErrorVisitor400Response
- rename
ErrorVisitsDelete404ResponseError
toErrorVisitor404ResponseError
- rename
ErrorVisitsDelete404Response
toErrorVisitor404Response
(c32807b)
- rename
- events: Introduce
PUT
endpoint for/events
API (b2c086c)
6.2.2 (2024-09-17)
- fallback to
Configuration.BasePath
itHttpClient
is provided with nullBaseAddress
(1c69113)
6.2.1 (2024-09-16)
- avoid making direct changes to passed
HttpClient
(cee0146) - correctly pass
Configuration.Timeout
when creatingHttpClient
(4edd39a)
6.2.0 (2024-09-12)
- introduce
HttpClient
parameter to theConfiguration
(41dafb3)
- correctly set default headers in HttpClient using
Configuration.DefaultHeader
(b057874)
6.1.0 (2024-08-05)
- add
remoteControl
,velocity
anddeveloperTools
signals (cb04c99)
- make
tag
field optional for Webhook (acae9de)
6.0.2 (2024-07-10)
- deps: update System.Text.Json to 8.0.4 (2c4939b)
6.0.1 (2024-06-28)
- remove usage of Newtonsoft.Json in
Sealed
class (25a26ed)
- deps: update BouncyCastle.Cryptography to 2.4.0 (a1d63ba)
6.0.0 (2024-06-28)
- rename
ManyRequestsResponse
toTooManyRequestsResponse
- drop support for netcoreapp3.1 and older,
- add
Webhook.IsValidWebhookSignature
function for validating webhook signature (7b4a7fb) - add DELETE API (6a457b7)
- add os Mismatch (85ec77b)
- add revision string field to confidence object (d2af0ac)
- drop support for frameworks that reached EOL (a39d863)
- migrate swagger generated code in request logic to manual implementation (b7e60c0)
- remove usage of Newtonsoft.Json and RestSharp (77eed3d)
- rename
ManyRequestsResponse
toTooManyRequestsResponse
(8eae642)
- add
JsonDeserializeException
when json deserialization fails (7aab037) - use correct error type for
incognito
,rawDeviceAttributes
andtampering
in theGetEvent
method (4b4120e)
- README: mention how to access raw HTTP response (fd324e1)
- README: remove dependencies section (9d7ae2a)
5.0.0 (2024-03-28)
- now only .NET >= 6 is supported
4.0.0 (2024-03-18)
- make identification field
confidence
optional - deprecated
ipLocation
field usesDeprecatedIpLocation
model - change models for the most smart signals
- add
linkedId
field to theBotdResult
type (cddcd3c) - add
originCountry
field to thevpn
signal (a8d9c42) - add
SuspectScore
smart signal support (36bcf07) - fix
ipLocation
deprecation (ca56d40) - make identification field
tag
required (a2ba563) - use shared structures for webhooks and event (a0adeff)
- make fields required according to real API response (461797e)
3.1.0 (2024-02-13)
- add method for decoding sealed results (763b940)
3.0.0 (2024-01-12)
IpInfo
fieldDataCenter
renamed toDatacenter
2.4.0 (2023-11-23)
- add
highActivity
andlocationSpoofing
signals, supportoriginTimezone
forvpn
signal (8f80f28)
2.3.2 (2023-10-20)
- change package author to Fingerprint (721e91c)
- README: add requirements and license mention INTER-283 (0caaccc)
2.3.1 (2023-09-25)
- update OpenAPI Schema with
asn
anddataCenter
signals (210b79a) - update OpenAPI Schema with
auxiliaryMobile
method for VPN signal (fcf0cf5)
2.3.0 (2023-07-31)
2.2.1 (2023-07-11)
- ensure that SeenAt properties are correctly set in constructor (9bd9e14)
2.2.0 (2023-06-01)
- update schema with correct
IpLocation
format and doc updates (4ddae4d)
- fix backtick problem in comments and documentation (a12e9a3)
2.1.0 (2023-05-16)
- introduce new signals (c38a0da)
2.0.0 (2023-01-30)
- changed
before
parameter type fromint
tolong
- change
before
parameter type in /visits endpoint (c9234aa)
- add identification error to events response (a0afe34)
- bump RestSharp to 108.0.3 (a36615f)
- change namespace from Fingerprint.Sdk to Fingerprint.ServerSdk (250b756)
- introduce TooManyRequestsException (bd94cf8)
- rename package to match new root namespace (e457a69)
- require passing api key in Configuration constructor, remove default configuration (b7b6e0f)
- send "ii" parameter (c09dab0)
- support other API regions (ccc9250)
- support other dotenv frameworks as well (692f1bc)
- update client to latest schema version (29e1d24)