Options for FingerprintJS server API client
Delete data by visitor ID Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. All delete requests are queued: Recent data (10 days or newer) belonging to the specified visitor will be deleted within 24 hours. * Data from older (11 days or more) identification events will be deleted after 90 days. If you are interested in using this API, please contact our support team to activate it for you. Otherwise, you will receive a 403.
The visitor ID you want to delete.*
Promise that resolves when the deletion request is successfully queued
Retrieves a specific identification event with the information from each activated product — Identification and all active Smart signals.
identifier of the event
Optionaloptions: { ruleset_id?: string }Optional getEvent operation options
Optionalruleset_id?: stringclient
.getEvent('<eventId>')
.then((event) => console.log(event))
.catch((error) => {
if (error instanceof RequestError) {
console.log(error.statusCode, error.message)
// Access raw response in error
console.log(error.response)
}
})
client
.getEvent('<eventId>', { ruleset_id: '<rulesetId>' })
.then((event) => {
const ruleAction = event.rule_action
if (ruleAction?.type === 'block') {
console.log('Blocked by rule:', ruleAction.rule_id, ruleAction.status_code)
}
})
.catch((error) => {
if (error instanceof RequestError) {
console.log(error.statusCode, error.message)
}
})
Search for identification events, including Smart Signals, using
multiple filtering criteria. If you don't provide start or end
parameters, the default search range is the last 7 days.
Please note that events include mobile signals (e.g. rootApps) even if
the request originated from a non-mobile platform. We recommend you
ignore mobile signals for such requests.
Events filter
Optionalanti_detect_browser?: booleanOptionalasn?: stringOptionalbot?: "all" | "none" | "bad" | "good"Filter events by the Bot Detection result, specifically:
all - events where any kind of bot was detected.
good - events where a good bot was detected.
bad - events where a bad bot was detected.
none - events where no bot was detected.
> Note: When using this parameter, only events with the bot property set to a valid value are returned. Events without a bot Smart Signal result are left out of the response.
Optionalbundle_id?: stringOptionalcloned_app?: booleanOptionaldeveloper_tools?: booleanOptionalemulator?: booleanOptionalend?: numberOptionalenvironment?: string[]Optionalfactory_reset?: booleanOptionalfrida?: booleanOptionalincognito?: booleanOptionalip_address?: stringOptionaljailbroken?: booleanOptionallimit?: numberOptionallinked_id?: stringFilter events by your custom identifier.
You can use [linked Ids](https://docs.fingerprint.com/reference/js-agent-v4-get-function#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.
Optionallocation_spoofing?: booleanOptionalmin_suspect_score?: numberFilter events with Suspect Score result above a provided minimum threshold.
> Note: When using this parameter, only events where the suspect_score property set to a value exceeding your threshold are returned. Events without a suspect_score Smart Signal result are left out of the response.
Optionalmitm_attack?: booleanOptionalorigin?: stringFilter events by the origin field of the event. This is applicable to web events only (e.g., https://example.com)
Optionalpackage_name?: stringOptionalpagination_key?: stringUse pagination_key to get the next page of results.
When more results are available (e.g., you requested up to 100 results for your query using `limit`, but there are more than 100 events total matching your request), the `pagination_key` field is added to the response. The pagination key is an arbitrary string that should not be interpreted in any way and should be passed as-is. In the following request, use that value in the `pagination_key` parameter to get the next page of results:
1. First request, returning most recent 200 events: `GET api-base-url/events?limit=100`
2. Use `response.pagination_key` to get the next page of results: `GET api-base-url/events?limit=100&pagination_key=1740815825085`
Optionalprivacy_settings?: booleanOptionalproximity_id?: stringOptionalproxy?: booleanOptionalreverse?: booleanOptionalroot_apps?: booleanOptionalsdk_platform?: "js" | "android" | "ios"Optionalsdk_version?: stringOptionalstart?: numberOptionalsuspect?: booleanFilter events previously tagged as suspicious via the Update API.
> Note: When using this parameter, only events with the suspect property explicitly set to true or false are returned. Events with undefined suspect property are left out of the response.
Optionaltampering?: booleanOptionaltor_node?: booleanOptionaltotal_hits?: numberOptionalurl?: stringOptionalvirtual_machine?: booleanOptionalvisitor_id?: stringUnique visitor identifier issued by Fingerprint Identification and all active Smart Signals.
Filter for events matching this visitor_id.
Optionalvpn?: booleanOptionalvpn_confidence?: "high" | "low" | "medium"Filter events by VPN Detection result confidence level.
high - events with high VPN Detection confidence.
medium - events with medium VPN Detection confidence.
low - events with low VPN Detection confidence.
> Note: When using this parameter, only events with the vpn.confidence property set to a valid value are returned. Events without a vpn Smart Signal result are left out of the response.
Update an event with a given event ID
The unique event identifier.
Data to update the event with.
Optionallinked_id?: stringOptionalsuspect?: booleanOptionaltags?: { [key: string]: unknown }Change information in existing events specified by eventId or flag suspicious events.
When an event is created, it is assigned linkedId and tag submitted through the JS agent parameters. This information might not be available on the client so the Server API allows for updating the attributes after the fact.
Warning It's not possible to update events older than one month.
const body = {
linked_id: 'linked_id',
suspect: false,
}
client
.updateEvent('<eventId>', body)
.then(() => {
// Event was successfully updated
})
.catch((error) => {
if (error instanceof RequestError) {
console.log(error.statusCode, error.message)
// Access raw response in error
console.log(error.response)
if(error.statusCode === 409) {
// Event is not mutable yet, wait a couple of seconds and retry the update.
}
}
})
FingerprintJS server API client used to fetch data from FingerprintJS