Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.quepass.com/llms.txt

Use this file to discover all available pages before exploring further.

1. Init

KycSdk.initialize() is the first call your application must make. It authenticates the operator channel, prepares the SDK state, and stores a session token for all subsequent API calls. The SDK must be initialized once in the Application class before using any KYC or biometric functionality.

a. Function

val sdk = KycSdk.initialize({
  email: string;
  password: string;
  channelId: string;
  baseUrl: string;
});

b. Init Parameters

ParameterTypeRequiredDescription
emailstringYesOperator email address registered with Quepass.
passwordstringYesOperator password.
channelIdstringYesChannel identifier issued by the Quepass team.
baseUrlstringYesRoot URL of the Quepass backend — no trailing slash.

c. Init Response

Required Parameters

  • email (string) – Operator email address registered with Quepass
  • password (string) – Operator password
  • channelId (string) – Channel identifier issued by the Quepass team
  • baseUrl (string) – Root URL of the Quepass backend (no trailing slash)

1. Success

Return Parameters

  • sessionId (string) – Unique identifier for the user session
  • token (string) – Authentication token for API access

Code Example

// Success
{
  "code": 200,
  "data": {
    "sessionId": "string",
    "token": "string"
  }
}

2. Failure

Return Parameters

  • code (number) – HTTP or API error code
  • errors (array) – List of error objects
    • code (string/number) – Error code identifier
    • message (string) – Detailed error description

Code Example

// Failure
{
  "code": "number",
  "errors": [
    {
      "code": "string | number",
      "message": "string"
    }
  ]
}

d. SDK Capabilities

Use the Quepass SDK to retrieve available SDK capabilities by building an SDKBuilder with FunctionType.GET_SDK_CAPABILITIES. The sdkGeneralHandler receives the response containing capability information, which can then be launched using the Launcher.

Required Parameters

  • Empty

Return Parameters

supportedPlatformVersion (object) – Supported operating system versions
  • minimum (string) – Minimum supported platform version
  • maximum (string) – Maximum supported platform version
apiVersion (array of strings) – Supported API versions (e.g., v1, v2) deviceInfo (object) – Device information details
  • model (string) – Device model name
  • manufacturer (string) – Device manufacturer name

Code Example

val sdkBuilder = SDKBuilder.builder() 
    .functionType(FunctionType.GET_SDK_CAPABILITIES) 
    .sdkGeneralHandler { response -> 
        // capability information 
    }.build() 
 
Launcher.launch(sdkBuilder, context) 
 

2. Configuration

Required Parameters

  • email (string) – Operator email address
  • password (string) – Operator password
  • channel (string) – Channel identifier issued by Quepass
  • baseURL (string) – Root URL of the Quepass backend

Return Parameters

  • s_SessionTimeout (number|string) – session timeout duration
  • onboardingFlow (object|array) – configuration for onboarding flow
  • verificationFlow (object|array) – configuration for verification flow
  • govIntegration (boolean) – government integration enabled or not
  • allowedJourneys (array of strings) – list of allowed journeys

Code Example

val sdk = KycSdk.initialize( 
    baseUrl = "https://your-base-url.com", 
    email = "email", 
    password = "password", 
    channelId = "unique-channel-id" 
) 

3. Code Example(Application.kt)

The SDK is initialized once in your Application class:
@Inject
lateinit var sdkInitializer: SDKInitializer

onCreate() {
    // ONE TIME initialization
    SDK.initialize(sdkInitializer)
}

// Then call KycSdk.initialize() with your credentials
val sdk = KycSdk.initialize(
    baseUrl = "https://your-base-url.com",
    email = "email",
    password = "password",
    channelId = "unique-channel-id"
)
Initialize the SDK once before using any features.