
# User Verification

Verify a person with a published workflow. Start in Sandbox, send the person a link, and receive the result on your backend. You can embed the same workflow in an [SDK](https://trust.myaza.co/documentation/sdks/markdown) when you are ready.

## 1. Publish a workflow

In **Workflows**, create an **Individual** workflow. Choose the countries, ID types and checks you need, then publish it in **Sandbox**. Copy its `workflowId`. A draft cannot start a verification.

## 2. Start a verification

For one person, create a [session](https://trust.myaza.co/documentation/api-create-session/markdown) from your backend with a Sandbox secret key (`sk_test_…`):

```bash
curl "https://trust.myaza.app/api/kyc/sessions" \
  -H "Authorization: Bearer $MYAZA_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"workflowId":"wf_AbC123dEf456","externalUserId":"user_42"}'
```

The response includes `session.url` and `session.kind: "individual"`. Send the URL to that person. Treat it as a credential. If you want one link that many people can open, use the workflow's [hosted link](https://trust.myaza.co/documentation/workflows/markdown#2-share-a-hosted-link) instead.

To keep verification inside your app, mount the published workflow with the [Web SDK](https://trust.myaza.co/documentation/sdk-react/markdown), [React Native SDK](https://trust.myaza.co/documentation/sdk-react-native/markdown) or [Flutter SDK](https://trust.myaza.co/documentation/sdk-flutter/markdown) and a `pk_test_…` key.

## 3. Receive the result

Configure a [webhook](https://trust.myaza.co/documentation/webhooks/markdown) for verification updates. The checks and your workflow's final decision may arrive as separate events; follow the [latest decision guidance](https://trust.myaza.co/documentation/webhooks/markdown) before acting. You can also read [status](https://trust.myaza.co/documentation/api-verification-status/markdown) by session ID. Read the [full result](https://trust.myaza.co/documentation/api-verification-result/markdown) only on your backend with a secret key.

Next: [verification lifecycle](https://trust.myaza.co/documentation/verifications/markdown), [supported ID types](https://trust.myaza.co/documentation/id-types/markdown), and [production setup](https://trust.myaza.co/documentation/environments/markdown).
