> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fingerprint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Server API

> Fingerprint Server API enables you to get more information about your visitors or about individual identification events.

export const DeprecatedVersion = ({currentPath}) => <Warning>
    This version is deprecated. See the{" "}
    <a href="/reference/api-deprecation-policy">deprecation policy</a> and use
    the <a href={currentPath}>current version</a> instead.
  </Warning>;

<DeprecatedVersion currentPath="/reference/server-api-v4" />

Server API enables you to get more information about visitors (using the [`/visitors`](/reference/v3/server-api-get-visits) endpoint) or about individual identification events (using the [`/events`](/reference/v3/server-api-get-event) endpoint). Server API must be used only from the server side; it was never designed to be and must not be used from the client side (i.e. browsers, mobile devices).

Server API requests are not billed and do not count towards your monthly allowance.

The following Server APIs are available:

* [`/events`](/reference/v3/server-api-get-event)
  * GET a detailed payload for an identification request.
  * PUT an update with `linkedId`, `tag` and `suspect` flag to an existing event.

* [`/events/search`](/reference/v3/server-api-search-events)
  * GET a list of event details using a wide range of built-in filters (`linkedId`, `visitorId`, `timestamp` and `suspect` fields among others).

* [`/visitors`](/reference/v3/server-api-get-visits)
  * GET the history of visits for a given `visitorId`.

### See Also

* To identify the browsers that visit your web application, see our documentation for [JavaScript agent](/reference/v3/javascript-agent).
* To identify the mobile devices that use your mobile app, see our documentation for [Android](/docs/native-android-integration) and [iOS](/docs/ios).

## Regions

The server API is available in the **Global**, **EU** and **Asia (Mumbai)** regions:

| Region        | Base URL                 | Server Location    |
| ------------- | ------------------------ | ------------------ |
| Global        | `https://api.fpjs.io`    | Global             |
| EU            | `https://eu.api.fpjs.io` | Frankfurt, Germany |
| Asia (Mumbai) | `https://ap.api.fpjs.io` | Mumbai, India      |

Use the **Base URL** dropdown in the right column of each endpoint to select the correct base URL according to your workspace region.

## Authentication

There are 2 ways to authenticate with the API: with auth header or with a query parameter. All unauthenticated requests will return `HTTP 403 Forbidden` response.

### Auth header

This is the recommended way of API authentication. When making an API request, add `Auth-API-Key` HTTP header with your [secret API key](/docs/v3/quick-start-guide#2-get-your-api-key).

### API key query parameter

This method of authentication is easy to use when you want to test it in the browser. However, we don't recommend using it in production.

Example request with an API key query parameter:

```http HTTP theme={"theme":"github-dark-dimmed"}
// Paste this URL into your browser
// replace the API key with your real secret API key
https://api.fpjs.io/visitors/someVisitorId?api_key=YOUR_SECRET_API_KEY
```

## Server API SDKs

For a smoother developer experience, we offer typed SDKs for these languages:

* [Node SDK](https://github.com/fingerprintjs/node-sdk/tree/api-v3)
* [PHP SDK](https://github.com/fingerprintjs/php-sdk/tree/api-v3)
* [Python SDK](https://github.com/fingerprintjs/python-sdk/tree/api-v3)
* [C# SDK](https://github.com/fingerprintjs/dotnet-sdk/tree/api-v3)
* [Java SDK](https://github.com/fingerprintjs/fingerprint-pro-server-api-java-sdk)
* [Go SDK](https://github.com/fingerprintjs/fingerprint-pro-server-api-go-sdk)

Pick one of them as the **Language** on the endpoint page's top right corner to see an example request using that SDK.

The SDKs (and this reference) are based on a Server API OpenAPI schema, which is also available on GitHub:

* [Server API OpenAPI schema](https://github.com/fingerprintjs/fingerprint-pro-server-api-openapi)

## Trying it out

You can try calling the Server API directly from this reference:

1. You are going to need a Secret API Key. You can create one in your Fingerprint **Dashboard** > [**API Keys**](https://dashboard.fingerprint.com/api-keys).
2. To make a request, you will need either a `visitorId` or `requestId` of an identification event associated with your workspace. Go to **Dashboard** > [**Identification**](https://dashboard.fingerprint.com/visits) to see your identification events.
3. Scroll down to one of the endpoints, for example, [Get visits by visitorId](/reference/v3/server-api-get-visits).
4. Set **Authentication** to your secret API key.
5. Set the **visitor\_id** path parameter to some `visitorId` from your dashboard (or `requestId` in the case of [Get event by requestId](/reference/v3/server-api-get-event)).
6. Make sure the **Base URL** corresponds to your workspace region.
7. Click **Try it!**

A real API response will appear in the **Response** section. Alternatively, you can view the prepared response examples there.
