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

# Visitor fingerprints API

> List and retrieve durable visitor fingerprints with the Foil API, including lifecycle data, anchors, and recent linked sessions for correlation.

Use the Visitor fingerprints API to inspect durable visitor identifiers and their recent linked sessions.

<Warning>
  Fingerprints endpoints require a secret key.
</Warning>

## Endpoint summary

| Method | Path                          | Purpose                                                         |
| ------ | ----------------------------- | --------------------------------------------------------------- |
| `GET`  | `/v1/fingerprints`            | List durable visitor fingerprints for an organization           |
| `GET`  | `/v1/fingerprints/:visitorId` | Retrieve one visitor fingerprint and its recent linked sessions |

## `GET /v1/fingerprints`

Supported query parameters:

* `limit`
* `cursor`
* `search`
* `sort`

Example response:

```json theme={"dark"}
{
  "data": [
    {
      "object": "visitor_fingerprint",
      "id": "vid_7m2k9x4v8q1n5t3w6r0p2c4y8h",
      "lifecycle": {
        "first_seen_at": "2026-03-17T00:00:00.000Z",
        "last_seen_at": "2026-03-17T00:00:00.000Z",
        "seen_count": 1,
        "expires_at": "2026-04-16T00:00:00.000Z"
      },
      "latest_request": {
        "user_agent": "Mozilla/5.0 ...",
        "ip_address": "127.0.0.1"
      },
      "storage": {
        "cookies": true,
        "local_storage": true,
        "indexed_db": true,
        "service_worker": false,
        "window_name": false
      },
      "anchors": {
        "webgl_hash": null,
        "parameters_hash": null,
        "audio_hash": null
      }
    }
  ],
  "pagination": {
    "limit": 50,
    "has_more": false
  },
  "meta": {
    "request_id": "req_0123456789abcdef0123456789abcdef"
  }
}
```

## `GET /v1/fingerprints/:visitorId`

Returns the visitor fingerprint detail plus a recent linked-session summary.

Example response:

```json theme={"dark"}
{
  "data": {
    "object": "visitor_fingerprint",
    "id": "vid_7m2k9x4v8q1n5t3w6r0p2c4y8h",
    "lifecycle": {
      "first_seen_at": "2026-03-17T00:00:00.000Z",
      "last_seen_at": "2026-03-17T00:00:00.000Z",
      "seen_count": 1,
      "expires_at": "2026-04-16T00:00:00.000Z"
    },
    "latest_request": {
      "user_agent": "Mozilla/5.0 ...",
      "ip_address": "127.0.0.1"
    },
    "storage": {
      "cookies": true,
      "local_storage": true,
      "indexed_db": true,
      "service_worker": false,
      "window_name": false
    },
    "anchors": {
      "webgl_hash": null,
      "parameters_hash": null,
      "audio_hash": null
    },
    "components": {
      "vector": [1, 2, 3]
    },
    "activity": {
      "sessions": [
        {
          "session_id": "sid_7m2k9x4v8q1n5t3w6r0p2c4y8h",
          "decision": {
            "event_id": "evt_7m2k9x4v8q1n5t3w6r0p2c4y8h",
            "verdict": "human",
            "risk_score": 12,
            "phase": "snapshot",
            "is_provisional": false,
            "manipulation": null,
            "evaluation_duration_ms": 17,
            "evaluated_at": "2026-03-17T00:00:03.000Z"
          },
          "request": {
            "url": "https://app.example.com/signup",
            "user_agent": "Mozilla/5.0 ...",
            "ip_address": "127.0.0.1",
            "screen_size": "1440x900",
            "is_touch_capable": false
          },
          "score_breakdown": {
            "categories": {
              "behavioral": 12
            }
          }
        }
      ]
    }
  },
  "meta": {
    "request_id": "req_0123456789abcdef0123456789abcdef"
  }
}
```
