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

# Identity verification

> Verify a connected user's identity: upload their ID, submit extra fields, then a short face scan.

**Identity verification** (KYC) is required before a user can hold a balance or be issued a card. The flow runs in your own UI: upload the front and back of the user's ID, send any `required_fields` the back-of-ID response asks for, then show the `iframe_url` for the face scan. Track the result by polling status or listening for `identity.verification.updated`.

Already verified the user on your own Sumsub account? **Import** the verification with a share token and the user skips document capture and the face scan.

## The verification object

| Field | Type | Description |
| - | - | - |
| `object` | string | `kyc` |
| `status` | string | `awaiting_documents`, `needs_information`, `requires_verification`, `pending`, `approved`, `rejected`. |
| `required_fields` | array | Only on `needs_information`: exactly the fields to collect and post to `/kyc/information`. |
| `iframe_url` | string | On every actionable status: the hosted page that collects what the verification still needs (documents, fields, or the face scan). |
| `warnings` | array | On document uploads: actionable feedback safe to show the user. |
| `extracted` | object | On document uploads: what the document reader pulled off the image, to prefill your form. |
| `reason` | string | On `needs_information`, `awaiting_documents`, `requires_verification`, `rejected`: an end-user-safe explanation. |

```json theme={null}
{ "object": "kyc", "status": "needs_information", "required_fields": ["address_line1", "postal_code"], "iframe_url": "https://in.sumsub.com/websdk/p/…" }
```

## Endpoints

| Endpoint | |
| - | - |
| `POST /api/v2/kyc/documents/front` | [Upload the front of the ID](/api-reference/identity-verification/upload-front) |
| `POST /api/v2/kyc/documents/back` | [Upload the back of the ID](/api-reference/identity-verification/upload-back): the branch point (`needs_information`, `requires_verification`, `rejected`) |
| `POST /api/v2/kyc/information` | [Submit information](/api-reference/identity-verification/submit-information) |
| `GET /api/v2/kyc` | [Get verification status](/api-reference/identity-verification/status) |
| `POST /api/v2/kyc/simulate` | [Simulate an outcome](/api-reference/identity-verification/simulate) (test mode only) |
| `POST /api/v2/kyc/import` | [Import a verification](/api-reference/identity-verification/import) (Sumsub share token) |

Webhook: `identity.verification.updated`.


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