Back to catalog

eKYC Simulator

/ekyc/v1 · /verifications · /sessions/score · /references

Test the three eKYC flows. The result natively correlates biometrics with SIFIP telecom signals — a successful face check on a compromised line is flagged, not approved.

SIFIP differentiation

No standalone eKYC engine produces this decision: biometrics can be perfect, but if trust_signals detects a recent SIM swap, the session is downgraded to REVIEW.

Forces the engine outcome to illustrate each case.

Document
Selfie & liveness

Camera only — file import disabled (anti-fraud)

Request sent
POST /ekyc/v1/verifications
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json
Idempotency-Key: a1b2c3d4-e5f6-7890-abcd-ef0123456789
{
  "type": "onboarding",
  "reference_id": "client-defined-id-12345",
  "document": {
    "type": "national_id",
    "country": "MG",
    "front_image": "data:image/jpeg;base64,…"
  },
  "selfie": {
    "image": "data:image/jpeg;base64,…",
    "liveness_required": true,
    "liveness_mode": "passive"
  },
  "trust_signals": {
    "enabled": true,
    "phone_number": "+261340000000"
  },
  "callback_url": "https://client.example.com/webhooks/ekyc",
  "metadata": {
    "channel": "mobile_app",
    "session_ip": "41.0.0.0"
  }
}
Response
// Fill the form then run the simulation
Decision enumerations (§6)
APPROVEAll checks pass → allow.
REVIEWBiometrics OK but risk signal → human review / step-up.
REJECTCritical check failed → block.
Score → decision mapping (configurable)
0–40REJECT
41–74REVIEW
75–100APPROVE
Reason codes (§6.3)
CodeSeverityMeaning
FACE_MATCH_OK / _FAILinfo / criticalFace concordance.
LIVENESS_OK / _FAILinfo / criticalPresence detection.
INJECTION_ATTACK_DETECTEDcriticalInjected forged video stream.
DOC_AUTHENTIC / _TAMPEREDinfo / criticalDocument authenticity.
DOC_EXPIREDwarningExpired document.
RECENT_SIM_SWAPwarningCorrelated recent SIM swap.
LOW_LINE_TENUREwarningVery recent line.
DATA_MISMATCHwarningDocument vs provided data mismatch.
Error handling (§9)
HTTPCodeCase
400INVALID_IMAGEThe selfie image is unreadable or too low resolution.
400UNSUPPORTED_DOCUMENTUnsupported document type or country.
401UNAUTHORIZEDMissing, invalid or expired Bearer token.
404REFERENCE_NOT_FOUNDUnknown reference.id.
409IDEMPOTENCY_CONFLICTIdempotency-Key reused with a different body.
422LIVENESS_UNAVAILABLELiveness mode not supported for this channel.
429RATE_LIMITEDQuota exceeded.
503PROVIDER_UNAVAILABLEBiometric engine unavailable (internal abstraction).
Verification states (§7) · Compliance & retention (§10 — Law 2014-038 / GDPR)

processing · completed · failed (technical failure ≠ business rejection).

  • Explicit, timestamped consent required for any reference.
  • Minimization: raw images deleted after processing unless a consented reference; only templates & metadata persisted.
  • Right to erasure: DELETE /references/{id} purges reference + derived templates.
  • Traceability: timestamped reasons & scores kept for audit, without raw image.