Skip to main content
Retrieve the complete verification result for a specific eKYC widget session, including verification checks, government-issued identity data, biometric scores, and session timestamps.

GET Endpoint

Authentication

Authentication is performed using your LumiID API key in the Authorization header.
Keep your API key secure and make requests from your backend.

Path parameters

Example request

cURL

Successful response

HTTP status: 200 OK The endpoint returns the session metadata, verification results, identity information and webhook delivery status.
The BVN and photo have been masked or abbreviated in this example for security and readability. The actual response returns the fields provided by the verification session.

Response fields

1. Session information

2. Biometric scores

Scores should be interpreted according to LumiID’s configured scoring thresholds. Do not assume they are percentages or that a particular value means a pass unless the scoring rules establish that.

3. Verification checks — checks

The device_risk object can include:
  • suspicious_label: indicates whether a suspicious device label was detected.
  • resolution_mismatch: indicates whether a resolution mismatch was detected.
The timing_risk object can include:
  • evaluated: indicates whether the timing-risk check was evaluated.
These individual checks should be interpreted together with the overall session status and your business rules.

4. Government identity data — gov_data

This object contains the government identity data returned by the relevant verification provider. example below uses Nigerian BVN The fields available inside gov_data depend on the identity type and provider response. Clients should handle missing, empty or additional fields safely. Handling the photo: The photo value is Base64-encoded image data, not a regular image URL. Decode it on your backend or construct a suitable data URI for display when appropriate. Avoid logging or unnecessarily storing biometric images.

5. Webhook status

This field reports webhook delivery state; it does not independently confirm that the user’s identity verification passed.

Error responses

401 Unauthorized

Returned when the API key is missing or invalid.

404 Not Found

Returned when the session does not exist or the authenticated API key’s organization does not have access to it.

Other errors

Requests may also encounter framework-level or infrastructure errors. Clients should handle unexpected non-2xx responses gracefully.

Integration example — Python

Integration example — React.js

Recommended: Call LumiID from your backend in production so your secret API key is never exposed in browser code. The following example assumes your backend exposes a protected proxy endpoint.
The /api/lumiid/... URL is your own backend route, not a LumiID endpoint. Your backend should call LumiID with the Bearer token and authenticate the requesting user.

Integration example — PHP

This example uses PHP cURL and retrieves the result directly from LumiID. Run it on your server.
Set LUMIID_API_KEY in your server environment. Do not hardcode your production key into a publicly accessible PHP file or commit it to source control.

Integration example — Flutter (Dart)

Add the HTTP package:
Create a service to retrieve the result:
Example usage:
Security note: Do not bundle a permanent secret API key in a production Flutter app. Use your authenticated backend as a proxy.
  1. Create a verification session using your LumiID widget.
  2. Register a webhook URL when configuring the widget to receive session results after completion.
  3. Use the session ID to retrieve the full result from your backend when needed.
  4. Validate the session status and individual checks before making an onboarding decision.
  5. Store sensitive identity data securely and retain it only as necessary.