All URIs are relative to https://api.fpjs.io
| Method | HTTP request | Description |
|---|---|---|
| DeleteVisitorData | Delete /visitors/{visitor_id} | Delete data by visitor ID |
| GetEvent | Get /events/{request_id} | Get event by request ID |
| GetRelatedVisitors | Get /related-visitors | Get Related Visitors |
| GetVisits | Get /visitors/{visitor_id} | Get visits by visitor ID |
| SearchEvents | Get /events/search | Get events via search |
| UpdateEvent | Put /events/{request_id} | Update an event with a given request ID |
DeleteVisitorData(ctx, visitorId) Delete data by visitor ID
🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on Jan 7th 2026 and will be fully removed on Jan 7th 2027 according to our API Deprecation Policy. If you still use this version, please follow our migration guide to migrate from this deprecated version to the new one. Request deleting all data associated with the specified visitor ID. This API is useful for compliance with privacy regulations. ### Which data is deleted? - Browser (or device) properties - Identification requests made from this browser (or device) #### Browser (or device) properties - Represents the data that Fingerprint collected from this specific browser (or device) and everything inferred and derived from it. - Upon request to delete, this data is deleted asynchronously (typically within a few minutes) and it will no longer be used to identify this browser (or device) for your Fingerprint Workspace. #### Identification requests made from this browser (or device) - Fingerprint stores the identification requests made from a browser (or device) for up to 30 (or 90) days depending on your plan. To learn more, see Data Retention. - Upon request to delete, the identification requests that were made by this browser - Within the past 10 days are deleted within 24 hrs. - Outside of 10 days are allowed to purge as per your data retention period. ### Corollary After requesting to delete a visitor ID, - If the same browser (or device) requests to identify, it will receive a different visitor ID. - If you request
/eventsAPI with arequest_idthat was made outside of the 10 days, you will still receive a valid response. - If you request/visitorsAPI for the deleted visitor ID, the response will include identification requests that were made outside of those 10 days. ### Interested? Please contact our support team to enable it for you. Otherwise, you will receive a 403.
| Name | Type | Description | Notes |
|---|---|---|---|
| ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
| visitorId | string | The visitor ID you want to delete. |
(empty response body)
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
EventsGetResponse GetEvent(ctx, requestId) Get event by request ID
🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on Jan 7th 2026 and will be fully removed on Jan 7th 2027 according to our API Deprecation Policy. If you still use this version, please follow our migration guide to migrate from this deprecated version to the new one. Get a detailed analysis of an individual identification event, including Smart Signals. Please note that the response includes mobile signals (e.g.
rootApps) even if the request originated from a non-mobile platform. It is highly recommended that you ignore the mobile signals for such requests. UserequestIdas the URL path parameter. This API method is scoped to a request, i.e. all returned information is byrequestId.
| Name | Type | Description | Notes |
|---|---|---|---|
| ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
| requestId | string | The unique identifier of each identification request. |
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
RelatedVisitorsResponse GetRelatedVisitors(ctx, visitorId) Get Related Visitors
🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on Jan 7th 2026 and will be fully removed on Jan 7th 2027 according to our API Deprecation Policy. Related visitors API lets you link web visits and in-app browser visits that originated from the same mobile device. It searches the past 6 months of identification events to find the visitor IDs that belong to the same mobile device as the given visitor ID.
⚠️ Please note that this API is not enabled by default and is billable separately.⚠️ If you would like to use Related visitors API, please contact our support team. To learn more, see Related visitors API reference.
| Name | Type | Description | Notes |
|---|---|---|---|
| ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
| visitorId | string | The visitor ID for which you want to find the other visitor IDs that originated from the same mobile device. |
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
VisitorsGetResponse GetVisits(ctx, visitorId, optional) Get visits by visitor ID
🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on Jan 7th 2026 and will be fully removed on Jan 7th 2027 according to our API Deprecation Policy. If you still use this version, please follow our migration guide to migrate from this deprecated version to the new one. Get a history of visits (identification events) for a specific
visitorId. Use thevisitorIdas a URL path parameter. Only information from the Identification product is returned. #### Headers *Retry-After— Present in case of429 Too many requests. Indicates how long you should wait before making a follow-up request. The value is non-negative decimal integer indicating the seconds to delay after the response is received.
| Name | Type | Description | Notes |
|---|---|---|---|
| ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
| visitorId | string | Unique visitor identifier issued by Fingerprint Identification and all active Smart Signals. |
Optional parameters are passed through a pointer to a FingerprintApiGetVisitsOpts struct
| Name | Type | Description | Notes |
|---|---|---|---|
| requestId | string | Filter visits by requestId. Every identification request has a unique identifier associated with it called requestId. This identifier is returned to the client in the identification result. When you filter visits by requestId, only one visit will be returned. |
|
| linkedId | string | Filter visits by your custom identifier. You can use 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. |
|
| limit | int32 | 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. |
|
| paginationKey | string | 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. |
|
| before | int64 | paginationKey instead. Timestamp (in milliseconds since epoch) used to paginate results. |
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
SearchEventsResponse SearchEvents(ctx, limit, optional) Get events via search
🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on Jan 7th 2026 and will be fully removed on Jan 7th 2027 according to our API Deprecation Policy. If you still use this version, please follow our migration guide to migrate from this deprecated version to the new one. Search for identification events, including Smart Signals, using multiple filtering criteria. If you don't provide
startorendparameters, 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.
| Name | Type | Description | Notes |
|---|---|---|---|
| ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
| limit | int32 | Limit the number of events returned. | |
| opts | *FingerprintApiSearchEventsOpts | optional parameters | nil if no parameters |
Optional parameters are passed through a pointer to a FingerprintApiSearchEventsOpts struct
| Name | Type | Description | Notes |
|---|---|---|---|
| paginationKey | string | Use pagination_key to get the next page of results. When more results are available (e.g., you requested up to 200 results for your search using limit, but there are more than 200 events total matching your request), the paginationKey top-level attribute is added to the response. The key corresponds to the timestamp of the last returned event. 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/search?limit=200 2. Use response.paginationKey to get the next page of results: GET api-base-url/events/search?limit=200&pagination_key=1740815825085 |
|
| visitorId | string | Unique visitor identifier issued by Fingerprint Identification and all active Smart Signals. Filter for events matching this visitor_id. |
|
| bot | string | 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 products.botd.data.bot.result property set to a valid value are returned. Events without a products.botd Smart Signal result are left out of the response. |
|
| ipAddress | string | Filter events by IP address range. The range can be as specific as a single IP (/32 for IPv4 or /128 for IPv6) All ip_address filters must use CIDR notation, for example, 10.0.0.0/24, 192.168.0.1/32 | |
| linkedId | string | Filter events by your custom identifier. You can use linked IDs 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. |
|
| start | int64 | Filter events with a timestamp greater than the start time, in Unix time (milliseconds). | |
| end | int64 | Filter events with a timestamp smaller than the end time, in Unix time (milliseconds). | |
| reverse | bool | Sort events in reverse timestamp order. | |
| suspect | bool | Filter 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. |
|
| vpn | bool | Filter events by VPN Detection result. > Note: When using this parameter, only events with the products.vpn.data.result property set to true or false are returned. Events without a products.vpn Smart Signal result are left out of the response. |
|
| virtualMachine | bool | Filter events by Virtual Machine Detection result. > Note: When using this parameter, only events with the products.virtualMachine.data.result property set to true or false are returned. Events without a products.virtualMachine Smart Signal result are left out of the response. |
|
| tampering | bool | Filter events by Tampering Detection result. > Note: When using this parameter, only events with the products.tampering.data.result property set to true or false are returned. Events without a products.tampering Smart Signal result are left out of the response. |
|
| antiDetectBrowser | bool | Filter events by Anti-detect Browser Detection result. > Note: When using this parameter, only events with the products.tampering.data.antiDetectBrowser property set to true or false are returned. Events without a products.tampering Smart Signal result are left out of the response. |
|
| incognito | bool | Filter events by Browser Incognito Detection result. > Note: When using this parameter, only events with the products.incognito.data.result property set to true or false are returned. Events without a products.incognito Smart Signal result are left out of the response. |
|
| privacySettings | bool | Filter events by Privacy Settings Detection result. > Note: When using this parameter, only events with the products.privacySettings.data.result property set to true or false are returned. Events without a products.privacySettings Smart Signal result are left out of the response. |
|
| jailbroken | bool | Filter events by Jailbroken Device Detection result. > Note: When using this parameter, only events with the products.jailbroken.data.result property set to true or false are returned. Events without a products.jailbroken Smart Signal result are left out of the response. |
|
| frida | bool | Filter events by Frida Detection result. > Note: When using this parameter, only events with the products.frida.data.result property set to true or false are returned. Events without a products.frida Smart Signal result are left out of the response. |
|
| factoryReset | bool | Filter events by Factory Reset Detection result. > Note: When using this parameter, only events with the products.factoryReset.data.result property set to true or false are returned. Events without a products.factoryReset Smart Signal result are left out of the response. |
|
| clonedApp | bool | Filter events by Cloned App Detection result. > Note: When using this parameter, only events with the products.clonedApp.data.result property set to true or false are returned. Events without a products.clonedApp Smart Signal result are left out of the response. |
|
| emulator | bool | Filter events by Android Emulator Detection result. > Note: When using this parameter, only events with the products.emulator.data.result property set to true or false are returned. Events without a products.emulator Smart Signal result are left out of the response. |
|
| rootApps | bool | Filter events by Rooted Device Detection result. > Note: When using this parameter, only events with the products.rootApps.data.result property set to true or false are returned. Events without a products.rootApps Smart Signal result are left out of the response. |
|
| vpnConfidence | string | 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 products.vpn.data.confidence property set to a valid value are returned. Events without a products.vpn Smart Signal result are left out of the response. |
|
| minSuspectScore | float32 | Filter events with Suspect Score result above a provided minimum threshold. > Note: When using this parameter, only events where the products.suspectScore.data.result property set to a value exceeding your threshold are returned. Events without a products.suspectScore Smart Signal result are left out of the response. |
|
| ipBlocklist | bool | Filter events by IP Blocklist Detection result. > Note: When using this parameter, only events with the products.ipBlocklist.data.result property set to true or false are returned. Events without a products.ipBlocklist Smart Signal result are left out of the response. |
|
| datacenter | bool | Filter events by Datacenter Detection result. > Note: When using this parameter, only events with the products.ipInfo.data.v4.datacenter.result or products.ipInfo.data.v6.datacenter.result property set to true or false are returned. Events without a products.ipInfo Smart Signal result are left out of the response. |
|
| developerTools | bool | Filter events by Developer Tools detection result. > Note: When using this parameter, only events with the products.developerTools.data.result property set to true or false are returned. Events without a products.developerTools Smart Signal result are left out of the response. |
|
| locationSpoofing | bool | Filter events by Location Spoofing detection result. > Note: When using this parameter, only events with the products.locationSpoofing.data.result property set to true or false are returned. Events without a products.locationSpoofing Smart Signal result are left out of the response. |
|
| mitmAttack | bool | Filter events by MITM (Man-in-the-Middle) Attack detection result. > Note: When using this parameter, only events with the products.mitmAttack.data.result property set to true or false are returned. Events without a products.mitmAttack Smart Signal result are left out of the response. |
|
| rareDevice | bool | Filter events by Rare Device detection result. > Note: When using this parameter, only events with the products.rareDevice.data.result property set to true or false are returned. Events without a products.rareDevice Smart Signal result are left out of the response. |
|
| rareDevicePercentileBucket | string | Filter events by Rare Device percentile bucket. <p95 - device configuration is in the bottom 95% (most common). p95-p99 - device is in the 95th to 99th percentile. p99-p99.5 - device is in the 99th to 99.5th percentile. p99.5-p99.9 - device is in the 99.5th to 99.9th percentile. p99.9+ - device is in the top 0.1% (rarest). not_seen - device configuration has never been observed before. |
|
| proxy | bool | Filter events by Proxy detection result. > Note: When using this parameter, only events with the products.proxy.data.result property set to true or false are returned. Events without a products.proxy Smart Signal result are left out of the response. |
|
| sdkVersion | string | Filter events by a specific SDK version associated with the identification event. Example: 3.11.14 |
|
| sdkPlatform | string | Filter events by the SDK Platform associated with the identification event. js - JavaScript agent (Web). ios - Apple iOS based devices. android - Android based devices. |
|
| environment | Interface of []string | Filter for events by providing one or more environment IDs. | |
| proximityId | string | Filter events by the most precise Proximity ID provided by default. > Note: When using this parameter, only events with the products.proximity.id property matching the provided ID are returned. Events without a products.proximity result are left out of the response. |
|
| proximityPrecisionRadius | int32 | Filter events by Proximity Radius. > Note: When using this parameter, only events with the products.proximity.precisionRadius property set to a valid value are returned. Events without a products.proximity result are left out of the response. |
- Content-Type: Not defined
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]
UpdateEvent(ctx, body, requestId) Update an event with a given request ID
🚧 Deprecation Notice > > This version of Server API is marked as deprecated starting on Jan 7th 2026 and will be fully removed on Jan 7th 2027 according to our API Deprecation Policy. If you still use this version, please follow our migration guide to migrate from this deprecated version to the new one. Change information in existing events specified by
requestIdor flag suspicious events. When an event is created, it is assignedlinkedIdandtagsubmitted 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 10 days.
| Name | Type | Description | Notes |
|---|---|---|---|
| ctx | context.Context | context for authentication, logging, cancellation, deadlines, tracing, etc. | |
| body | EventsUpdateRequest | ||
| requestId | string | The unique event identifier. |
(empty response body)
- Content-Type: application/json
- Accept: application/json
[Back to top] [Back to API list] [Back to Model list] [Back to README]