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 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 from your backend with a Sandbox secret key (sk_test_…):

shell
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 instead.

To keep verification inside your app, mount the published workflow with the Web SDK, React Native SDK or Flutter SDK and a pk_test_… key.

3. Receive the result

Configure a webhook for verification updates. The checks and your workflow's final decision may arrive as separate events; follow the latest decision guidance before acting. You can also read status by session ID. Read the full result only on your backend with a secret key.

Next: verification lifecycle, supported ID types, and production setup.