Skip to documentation content
DocumentationGetting started

Start here

Prepare your IKYC project.

These steps apply to the native Flutter session flow. They keep server credentials and applicant references out of the mobile application.

Get credentials

  1. Sign in to the IKYC Dashboard and select your organisation and project.
  2. Open the project’s API key area and create or reveal a secret project API key for the environment you are using.
  3. Store the key in your existing application server’s secret manager. It must never be bundled into Flutter.
Server environment
IKYC_API_BASE_URL=https://<YOUR_IKYC_HOST>
IKYC_SECRET_PROJECT_KEY=<YOUR_SECRET_PROJECT_API_KEY>

In the Dashboard, open Project → Flow → Native mobile consent. Save approved full text, version, revision, and an effective date/time, then enable the policy. The Flutter SDK loads the active policy from the native configuration response. It does not use generic fallback wording.

Create a native session from your application server

When an authenticated applicant starts verification, your existing application server creates the IKYC session. Use a server-generated, pseudonymous subjectRef only when liveness is in scope. It is required at session minting, must differ from externalUserId, and must not contain personal data.

Server-only request
POST https://<YOUR_IKYC_HOST>/api/v1/native/v1/sessions
x-api-key: <YOUR_SECRET_PROJECT_API_KEY>
Idempotency-Key: <NEW_STABLE_UUID>
Content-Type: application/json

{
  "externalUserId": "your-server-side-verification-attempt-id",
  "subjectRef": "a-pseudonymous-random-uuid",
  "operations": ["config", "consent", "liveness:reference", "liveness:result", "verify"],
  "ttlSeconds": 300
}

Store the returned session information and return only the short-lived native sessionToken and expiry to Flutter. Never return the secret project key, subject reference, external user ID, QoreID credentials, or raw provider data.

Continue with Flutter

The Flutter guide provides the exact public SDK setup, native host requirements, controlled testing sequence, troubleshooting, and migration notes.

Open Flutter SDK guide