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

# /v3/confirmations/{token}

> Exchange a vyt token for the authoritative verdict.

`GET` Secret key. Tokens exchange for 30 minutes. A token from another company or the other test/live partition reads as nonexistent.

## Path parameter

<ParamField path="token" type="string" required>The `vyt` from the return URL or the SDK result.</ParamField>

## Response

<ResponseField name="verified" type="boolean">Gate on this. `true` only when approved and not locked.</ResponseField>
<ResponseField name="status" type="&#x22;approved&#x22; | &#x22;denied&#x22;">Approved with `reasons` is "flagged".</ResponseField>
<ResponseField name="reasons" type="string[]">`collision_company`, `identity_mismatch`, `external_identity_mismatch`, `duplicate_account`, `linked_denial`, `limit_reached`, `face_self_mismatch`, `age_blocked`, `guest_declined`, `no_invite`. Open set; route unknown values to denied.</ResponseField>
<ResponseField name="declined" type="boolean">The person chose not to scan. Denied, but not failed.</ResponseField>

```json theme={null}
{ "verified": true, "status": "approved", "reasons": [], "declined": false }
```

## Errors

| Status | `detail`        | When                                                       |
| ------ | --------------- | ---------------------------------------------------------- |
| `404`  | `token_invalid` | Not ours, not yours, wrong partition, or the pass is gone. |
| `410`  | `token_expired` | Older than 30 minutes. Run it again.                       |

Denied, declined, and locked are `200` with `verified: false`.

Deprecated and still returned (see the [OpenAPI spec](https://trust.verifyyou.com/openapi.json)): `id`, `confirmed_at`, `locked`, `is_test`, `score`, `band`, `external_id`, `identity`.
