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

# VU Technical Documentation

> VU Security integration docs: VU Identity Link for end-to-end identity verification, and VU Cloud Services: ID Analysis, Face Analysis, Facial Antispoofing and Connection Fingerprint.

Integration reference for VU's identity products. Everything below is written for whoever is going to write the code: endpoints, contracts, status codes, and the traps that only show up in production.

<Warning>
  **The VU Identity Link API is only available on the Premium and Pro plans.** The Basic plan has no API access: `POST /oauth/token` answers `401 invalid_client`. See [Plans](/en/identity-link/plans) for what each plan includes.
</Warning>

<CardGroup cols={2}>
  <Card title="VU Identity Link" icon="link" horizontal href="/en/identity-link/introduction">
    **End-to-end identity verification.** Single-use links, document capture, OCR, liveness, and adaptive flow. One integration covers the whole journey.

    `OAuth2` · `REST` · `Webhooks`
  </Card>

  <Card title="VU Cloud Services" icon="cloud" horizontal href="/en/vucs/introduction">
    **APIs you integrate one at a time.** ID Analysis reads the document, Face Analysis compares the faces, Facial Antispoofing confirms the selfie is a real person, and Connection Fingerprint identifies the device.

    `Api-Key` · `REST` · `No SDK` · **Available now**
  </Card>
</CardGroup>

## What you can do with Identity Link

<CardGroup cols={2}>
  <Card title="1. Verify anyone in three steps" icon="wand-magic-sparkles" href="/en/identity-link/links">
    Create a link, share it, read the result. `POST /links` hands you a `linkUrl` you can send however you already reach your customer — email, WhatsApp, SMS, or a QR code. No app to install, no SDK to ship: it runs in the browser they already have.
  </Card>

  <Card title="2. Their documents never travel through WhatsApp" icon="shield-halved" href="/en/identity-link/plans#when-the-window-closes">
    You share a link, not an ID photo. The document and the selfie go straight to VU inside the link's own session, which is single-use and closes on a timer you set. Past that window the API answers `410` for the record and `404` for the images, whatever the messaging app still holds.
  </Card>

  <Card title="3. Go Premium and integrate by API" icon="code" href="/en/identity-link/authentication">
    OAuth2 client credentials, a REST API, and webhooks signed with HMAC-SHA256 so your server can trust what it receives. Premium raises the quota to 100 verifications a month and unlocks full branding — your name, your logo, your color on every screen your customer sees.
  </Card>

  <Card title="4. Go Pro and have it fit your rules" icon="sliders" href="/en/identity-link/plans#changing-plan">
    Support sets your verification quota and both expiration windows to the exact values you need, in minutes rather than fixed options. Pro is also the only plan that can run somewhere other than the shared SaaS.
  </Card>

  <Card title="5. Returning customers verify with a selfie" icon="user-check" href="/en/identity-link/liveness">
    Adaptive flow routes a customer who already verified to a face-only branch and skips the document capture entirely. The status endpoint reports which branch ran as `method`: `FACE` or `DOCUMENT`. Available from version 2.2.0.
  </Card>
</CardGroup>

## Get started in five minutes

<CodeGroup>
  ```bash 1. Get a token theme={null}
  curl -X POST https://api.identity.vu-one.com/api/v1/oauth/token \
    -H "Authorization: Basic $(printf '%s' "$CLIENT_ID:$CLIENT_SECRET" | base64)" \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "grant_type=client_credentials"
  ```

  ```bash 2. Create a link theme={null}
  curl -X POST https://api.identity.vu-one.com/api/v1/links \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"type":"FULL FLOW","externalUserId":"customer-12345"}'
  ```

  ```bash 3. Read the result theme={null}
  curl "https://api.identity.vu-one.com/api/v1/verifications/$VERIFICATION_ID/status?linkId=$LINK_ID"
  ```
</CodeGroup>

<Note>
  The status endpoint is **public** and has required the `linkId` query parameter since version 2.2.0. It carries no `Authorization` header. Details in [Authentication](/en/identity-link/authentication) and [KYC](/en/identity-link/kyc).
</Note>

## Go straight to what you need

| If you need to… | Page |
| - | - |
| Authenticate your calls | [Authentication](/en/identity-link/authentication) |
| Create a verification link | [Links](/en/identity-link/links) |
| Read the result and the document data | [KYC](/en/identity-link/kyc) |
| Understand liveness and the adaptive flow | [Liveness](/en/identity-link/liveness) |
| Receive events on your server | [Webhooks](/en/identity-link/webhooks) |
| Resolve an unexpected HTTP status | [Errors](/en/identity-link/errors) |
| Read an identity document over an API | [ID Analysis](/en/vucs/id-analysis/introduction) |
| Compare two faces | [Face Analysis](/en/vucs/face-analysis/introduction) |
| Detect a spoofed selfie | [Facial Antispoofing](/en/vucs/antispoofing-face/introduction) |
| Identify the device behind a connection | [Connection Fingerprint](/en/vucs/connection-fingerprint/introduction) |
| See what changed in the API | [Changelog](/en/identity-link/changelog) |

## Base URLs

| Service | Base URL | Authentication |
| - | - | - |
| VU Identity Link API | `https://api.identity.vu-one.com/api/v1` | `Authorization: Bearer` |
| ID Analysis | Provided by VU per environment | `Api-Key` |
| Face Analysis | Provided by VU per environment | `Api-Key` |
| Facial Antispoofing | Provided by VU per environment | `Api-Key` |
| Connection Fingerprint | `https://fingerprint.api.vusecurity.com` | None on the main endpoint |

<Warning>
  Api-keys and `clientSecret` values live in your backend, in a secrets manager. Never inside a mobile app or a frontend bundle: anyone can extract them from the binary.
</Warning>

## Resources

<CardGroup cols={3}>
  <Card title="Changelog" icon="clock-rotate-left" href="/en/identity-link/changelog">
    Versions, behavior changes, and migration guidance.
  </Card>

  <Card title="Wiki" icon="arrow-up-right-from-square" href="https://wiki.corp.vusecurity.com/es/home">
    Additional internal documentation for VU teams.
  </Card>

  <Card title="Support" icon="life-ring" href="mailto:customer.support@vusecurity.com">
    Write in with the transaction `id`, the environment, and the timestamp.
  </Card>
</CardGroup>

***

VU Security is Latin America's digital identity platform. Non-technical material — solutions by use case, industries, certifications, and about VU — lives on [vusecurity.com](https://vusecurity.com).


## Related topics

- [Identity Link API Changelog](/en/identity-link/changelog.md)
- [Identity Link API: Integration Guide](/en/identity-link/introduction.md)
- [Identity Link API: Guia de Integração Completo](/pt/identity-link/introducao.md)
- [Identity Link API Error Codes and Responses](/en/identity-link/errors.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.