---
title: "Identify user by fingerprint"
method: POST
path: "/user/identify"
---

# Identify user by fingerprint

`POST /user/identify`

Same identification flow as GET, but optional fingerprint fields are sent in the request body.
Required inputs are still api_key and User-Agent headers.

## Headers

- `api_key` string, required — API key for authentication.
- `User-Agent` string, required — Client user agent used for fingerprint matching.
- `platform` string — Device/platform for fingerprint matching (e.g. ios, android, web).

## Request body

- object
  - `screen_size` string — Device screen size for fingerprint matching.
  - `timezone` string — Client timezone for fingerprint matching.
  - `os_version` string — OS version for enhanced fingerprint matching.

## Response `200`

Identification result (user found or not).

- object
  - `success` 0 | 1 — 1 if a user was identified, 0 otherwise.
  - `user_id` string, nullable — Identified user GUID, or null if no match.
  - `match_method` string — How the user was matched (e.g. IP, fingerprint).
  - `platform` string, nullable — Detected or provided platform.
  - `message` string — Present when success is 0 (e.g. "User not found by fingerprint").
  - `error` integer — Present on failure (1).
  - `error_msg` string — Error message when error is 1 (e.g. missing IP/User-Agent).

## Other responses

- `422` — Validation error (e.g. invalid parameters).
- `500` — Server error during identification.

---

[API](https://skmtc.net/web2wave/apis/web2wave-api.md) · [All operations](https://skmtc.net/web2wave/apis/web2wave-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/web2wave/web2wave-api/versions/c88545119271/schema)
