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

# Kotlin SDK for Android Verification

> Add Dojah KYC and verification to Android with the Kotlin SDK. Native UI and the same flows as iOS and web.

<Warning> All file links (e.g. selfie URLs, document URLs) returned in the response expire within **one hour**. We strongly recommend transferring these documents and images to your own infrastructure as soon as you receive them. If a link expires before you are able to download the file, call the [Fetch KYC widget Verification Data](/docs/technical-reference/get-verification-details) endpoint to generate a new link — which will also expire in one hour. </Warning>

Package : [com.dojah\_inc.dojah\_android\_sdk](https://github.com/dojah-inc/sdk-kotlin/packages/2174016)

Example Application: [https://github.com/dojah-inc/sdk-kotlin](https://github.com/dojah-inc/sdk-kotlin)

### Requirements

* Minimum Android SDK version - 21
* Supported targetSdkVersion - 35

### Installation [![](https://jitpack.io/v/dojah-inc/sdk-kotlin.svg)](https://jitpack.io/#dojah-inc/sdk-kotlin)

Set maven path in your root/build.gradle file:

```
...
allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
}
```

Or Set maven path in your root/settings.gradle file:

```
...
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
}
```

Enable jetifier in gradle.properties:

```
android.enableJetifier=true
```

Add dojah dependency in your app/build.gradle

```
...
dependencies {
  ...
  // Dojah Kyc SDK
  implementation 'com.github.dojah-inc:sdk-kotlin:[latest-version]'
}
```

### Usage

To start KYC, import Dojah in your code, and launch Dojah Screen

```kotlin theme={null}
import com.dojah_inc.dojah_android_sdk.DojahSdk
 
DojahSdk.with(context).launch(
    "{Required: Your_WidgetID}",
    referenceId = "{Optional: Reference_ID}",
    email = “{Optional: Email_Address}”,
)

```

### SDK Parameters

* `context` - `REQUIRED` parameter. Your Activity Context.
* `WidgetID` - a `REQUIRED` parameter. You get this ID when you sign up on the Dojah platform, follow the next step to generate your WidgetId.
* `Reference ID` - an `OPTIONAL` parameter that allows you to initialize the SDK for an ongoing verification.
* `Email Address` - an `OPTIONAL` parameter that allows you to initialize the SDK for an ongoing verification.

### How to Get a Widget ID

To use the SDK, you need a WidgetID, which is a required parameter for initializing the SDK. You can obtain this by creating a flow on the Dojah platform. Follow these steps to configure and get your Widget ID:

```txt theme={null}
1. Log in to your Dojah Dashboard: If you don’t have an account, sign up on the Dojah platform.

2. Navigate to the EasyOnboard Feature: Once logged in, find the EasyOnboard section on your dashboard.

3. Create a Flow:

    - Click on the 'Create a Flow' button.
    - Name Your Flow: Choose a meaningful name for your flow, which will help you identify it later.

4. Add an Application:

    - Either create a new application or add an existing one.
    - Customise your widget with your brand logo and color by selecting an application.

5. Configure the Flow:

    - Select a Country: Choose the country or countries relevant to your verification process.
    - Select a Preview Process: Decide between automatic or manual verification.
    - Notification Type: Choose how you’d like to receive webhook notifications, send verification status to your user’s email or add a support email for your customers to easily reach out to you directly if they encounter any blocker during verification.
    - Add Verification Pages: Customize the verification steps in your flow (e.g., ID verification, address verification, etc.).
    
6. Publish Your Widget: After configuring your flow, publish the widget. Once published, your flow is live.

7. Copy Your Widget ID: After publishing, the platform will generate a Widget ID. Copy this Widget ID as you will need it to initialize the SDK as stated above.
```

### Contributing

* [KYC WIDGET Repository](https://github.com/dojah-inc/sdk-kotlin)
* Fork it!
* Create your feature branch: `git checkout -b feature/feature-name`
* Commit your changes: `git commit -am 'Some commit message'`
* Push to the branch: `git push origin feature/feature-name`
* Submit a pull request 😉😉
