Skip to main content

How to Use Lumis Before Deploying to Persona, Onfido, or Sumsub

A step-by-step technical guide for integrating Lumis as a pre-production testing layer before deploying live KYC/IDV providers.

Integrating Lumis Before Persona, Onfido, or Sumsub

Before deploying your fintech application to production identity verification (IDV) platforms like Persona, Onfido, or Sumsub, you must validate that your application handles every logical outcome—pass, fail, flag, and retry—correctly.

Rather than sending live staging queries to these vendors, which charges transaction fees and hits staging rate limits, you can plug in Lumis as a pre-production testing layer. This guide demonstrates how to configure and execute this testing.

Step 1: Configure Your Mock Ruleset

Create a ruleset in Lumis that matches the logic you expect from your IDV provider. For example, if you require a document match score above 85% and a clean PEP sanctions screen, you can arrange these nodes on the Lumis canvas.

Step 2: Query the Simulation Endpoint

Redirect your staging environment variables to point to https://api.lumiscompliance.com/v1/simulate instead of the live vendor API.

Sample Request Payload

Here is the JSON request payload representing a user signing up who requires KYC verification. Note the optional expected_outcome tag to force specific routing paths for test validation:

{
  "ruleset_id": "ruleset_kyc_fincen_v1",
  "expected_outcome": "APPROVED",
  "data": {
    "first_name": "Jane",
    "last_name": "Doe",
    "dob": "1994-04-12",
    "ssn_last_four": "9876",
    "document_front_url": "https://mocks.lumis.dev/images/clean_dl.jpg",
    "biometric_selfie_url": "https://mocks.lumis.dev/images/clean_selfie.jpg",
    "address": {
      "street": "123 Main St",
      "city": "Austin",
      "state": "TX",
      "zip": "78701",
      "country": "US"
    }
  }
}

Sample Response Payload

Lumis will run the request through your DAG ruleset and immediately return a deterministic response in under 500ms:

{
  "simulation_id": "sim_8f9e0d1b-3c4a-5b6d-7e8f",
  "status": "APPROVED",
  "risk_score": 12,
  "nodes_executed": [
    { "id": "node_doc_match", "status": "PASSED", "details": "Match score 94%" },
    { "id": "node_pep_screen", "status": "PASSED", "details": "No watchlist hits" }
  ],
  "audit_trail_url": "https://lumiscompliance.com/audit/sim_8f9e0d1b-3c4a-5b6d-7e8f",
  "timestamp": "2026-06-07T09:55:18Z"
}

Step 3: Implement Fallback to Live Production

In your production configuration, switch your API keys and target URLs back to Persona, Onfido, or Sumsub. Since you've validated all branch pathways using Lumis, your integration will handle real user responses flawlessly from day one.