---
title: "Verify Face"
method: POST
path: "/liveness/verify-face"
tags: ["Verification"]
---

# Verify Face

`POST /liveness/verify-face`

Validates the Face Match session provided and returns detailed information, risk signals, and an overall decision.

## Request body

- VerifyFaceRequest
  - `session_id` string, uuid, required — The session ID of a completed Face Match session

## Response `200`

Face Match completed successfully

- VerifyFaceResponse
  - `metadata` object
    - `project_id` string, uuid
    - `session_id` string, uuid
    - `account_id` string, nullable
    - `referring_session_id` string, uuid, nullable
    - `request_id` string, uuid
    - `timestamp` string, date-time
  - `decision` 'Fake' | 'Suspicious' | 'Real' — Overall decision
  - `risk_score` number, float — Risk score where higher values indicate higher risk
  - `risk_flags` string[] — See [Risk Flags](/verifications/face-match/resources/risk-flags) for more information.
  - `device_network_signals` object
    - `device_risk` number, float — Risk score for the device
    - `proxy` number, float — Probability of proxy usage
    - `vpn` number, float — Probability of VPN usage
    - `datacenter` number, float — Probability of datacenter IP
    - `tor` number, float — Probability of Tor usage
    - `spoofed_ip` number, float — Probability of IP spoofing
    - `recent_fraud_ip` number, float — Probability of recent fraud association
    - `device_network_mismatch` number, float — Probability of device-network mismatch
    - `location_spoofing` number, float — Probability of location spoofing
  - `referring_session_signals` object
    - `impossible_travel` number, float — Probability of impossible travel
    - `ip_mismatch` number, float — Probability of IP mismatch
    - `user_agent_mismatch` number, float — Probability of user agent mismatch
    - `device_timezone_mismatch` number, float — Probability of device timezone mismatch
    - `ip_timezone_mismatch` number, float — Probability of IP timezone mismatch
  - `photo_urls` object
    - `face` string, uri — Signed URL to the face image
  - `video_urls` string[]
  - `session_data` object
    - `true_country_code` string — Country code of the true location
    - `network` object
      - `ip_address` string
      - `service_provider` string
      - `connection_type` string
    - `location` object
      - `continent` string
      - `country_code` string
      - `state` string
      - `city` string
      - `zip_code` string
      - `timezone` string
      - `latitude` number
      - `longitude` number
    - `browser` object
      - `type` string
      - `version` string
      - `language` string
      - `user_agent` string
      - `timezone` string
    - `device` object
      - `category` 'desktop' | 'mobile' | 'tablet' | 'console' | 'smarttv' | 'wearable' | 'embedded' | 'other' — Device category. See [Device Categories](/signals-scores/device#device-categories) for details.
      - `type` string
      - `os` string
      - `cpu_cores` integer
      - `memory` integer
      - `gpu` string
  - `matches` object
    - `num_accounts_linked` integer — Number of accounts linked
    - `accounts_linked` object[] — List of linked accounts
      - `account_id` string — Account ID
      - `match_types` string[] — Types of matches found

## Other responses

- `400` — Bad request - session is not valid

---

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