> ## 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.

Server API enables you to get more information about individual identification events (using the [`/events`](/reference/server-api-v4-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:

* [`/v4/events/:event_id`](/reference/server-api-v4-get-event)
  * [GET](/reference/server-api-v4-get-event) a detailed payload for a **single** event defined by an `event_id`
  * [PATCH](/reference/server-api-v4-update-event) an event with `linked_id`, `tag` and `suspect` flag

* [`/v4/events`](/reference/server-api-v4-search-events)
  * [GET](/reference/server-api-v4-search-events)  a list of event details using on a wide range of built-in filters (`linked_id`, `visitor_id`, `start`, `end` and `suspect` fields among others).

* [`v4/visitors/:visitor_id`](/reference/server-api-v4-delete-visitor-id)
  * [DELETE](/reference/server-api-v4-delete-visitor-id) all data associated with a specific visitor ID

### See Also

* To identify the browsers that visit your web application, see our documentation for [Javascript agent](/docs/js-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

Use an `Authorization: Bearer` header to authenticate to the API. All unauthenticated requests will return a `HTTP 403 Forbidden` response.

### Authorization: Bearer HTTP header

When making an API request, add the `Authorization: Bearer SECRET_API_KEY` HTTP header with your [secret API key](https://dashboard.fingerprint.com/api-keys?type=api).

Example request including the API key in the `Authorization` header

<CodeGroup>
  ```bash bash theme={"theme":"github-dark-dimmed"}
  curl https://api.fpjs.io/v4/events/EVENT_ID  \
       -H `Authorization: Bearer SECRET_API_KEY`
  ```
</CodeGroup>

## Query parameter syntax

For query parameters with multiple values, use the repeated keys syntax (`parameter=value1&parameter=value2`).
Other notations like comma-separated (`parameter=value1,value2`) or bracket notation (`parameter[]=value1&parameter[]=value2`) are not supported.

## Rate limiting

If you exceed the rate limit when making a Server API call, you'll get an HTTP 429 error:

```json JSON theme={"theme":"github-dark-dimmed"}
{
  "error": {
    "code": "too_many_requests",
    "message": "too many requests"
  }
}
```

Retry the request after a short interval. The response may include a `Retry-After` header indicating how long to wait.

## Server API SDKs

<Warning>
  **Server SDKs for v4 API in progress**

  We are working on new major versions of our SDKs. Some SDKs already support Server API v4, while others are still in progress. Check the [Server SDK compatibility table](/reference/migrating-from-server-api-v3-to-v4#server-sdk-compatibility-for-server-api-v4) for the current status of each SDK.
</Warning>

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

* [Node SDK](https://github.com/fingerprintjs/node-sdk)
* [PHP SDK](https://github.com/fingerprintjs/php-sdk)
* [Python SDK](https://github.com/fingerprintjs/python-sdk)
* [C# SDK](https://github.com/fingerprintjs/dotnet-sdk/)
* [Java SDK](https://github.com/fingerprintjs/java-sdk)
* [Go SDK](https://github.com/fingerprintjs/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 an `event_id` 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 event by event ID](/reference/server-api-v4-get-event).
4. Set **Authentication** to your secret API key.
5. Set the **event\_id** path parameter to some `event_id` from your dashboard.
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.
