> For the complete documentation index, see [llms.txt](https://docs.vida.id/identity-stack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vida.id/identity-stack/verify/kyc-mobile-sdk/get-started.md).

# Get Started

Integrate the VIDA KYC Mobile SDK into your Android or iOS app. A single integration covers document capture, OCR, document verification, liveness, and face match.

### Before you start

You will need the following from VIDA:

| Item           | Where it is used                         |
| -------------- | ---------------------------------------- |
| API key        | Backend, to generate session tokens      |
| License key    | SDK setup                                |
| Activation key | `vida_activation_key` in your app config |

{% hint style="info" %}
Contact VIDA to enable the KYC product and define your flows (ID verification or full KYC), regions, and supported documents.
{% endhint %}

### Integration steps

{% stepper %}
{% step %}

#### Generate an access token

From your **backend**, generate a secure token for each KYC session and each user. The token binds the SDK call to your organization and the specific applicant.
{% endstep %}

{% step %}

#### Install the SDK

{% tabs %}
{% tab title="Android" %}

1. Add the VIDA Maven repository and the `id.vida:kyc` dependency.
2. Add the `vida_activation_key` meta-data entry to `AndroidManifest.xml`.
   {% endtab %}

{% tab title="iOS" %}

1. Add the `vidaKYC` pod to your Podfile, then run `pod install`.
2. Add the camera usage description and `vida_activation_key` to your `Info.plist`.
   {% endtab %}
   {% endtabs %}
   {% endstep %}

{% step %}

#### Initialize the KYC flow

Build the config object for your platform: `VidaKycRequest` (Android) or `VIDAKYCConfig` (iOS).

<table><thead><tr><th width="294.7109375">Parameter</th><th>Description</th></tr></thead><tbody><tr><td><code>token</code></td><td>Session token from step 1</td></tr><tr><td><code>flow</code></td><td>Verification flow (ID verification or full KYC)</td></tr><tr><td><code>sdkRegion</code></td><td>Region the SDK operates in</td></tr><tr><td><code>DocumentType</code></td><td>Default document type</td></tr><tr><td>Liveness, UI, error config</td><td>Behavior and appearance settings</td></tr></tbody></table>

Then initialize the SDK and **wait for the `onInitialized` callback** before starting the flow.
{% endstep %}

{% step %}

#### Start the verification

Call `startFlow()` to launch the built-in KYC UI. The SDK guides the user through document capture, liveness, and face match as required.
{% endstep %}

{% step %}

#### Handle the result and clean up

<table><thead><tr><th width="127.04296875">Callback</th><th width="218.09375">When it fires</th><th>Returns</th></tr></thead><tbody><tr><td><code>onSuccess</code></td><td>Verification completes</td><td><code>VidaKycResponse</code> (Android) / <code>VIDAKYCResponse</code> (iOS), the full result</td></tr><tr><td><code>onError</code></td><td>Something fails</td><td><code>errorCode</code>, <code>errorMessage</code>, and optional diagnostic <code>response</code></td></tr></tbody></table>

After completion or cancellation, call `release()` (Android) or `releaseSDK()` (iOS) to free resources.
{% endstep %}
{% endstepper %}

{% hint style="success" %}
**You're done.** With these five steps you can run a complete KYC journey on mobile through one SDK integration.
{% endhint %}
