Skip to main content

Live Demo API

The public, no-auth endpoint that powers the Live Demo on the marketing site. It runs the real verification engine in-memory, discards the images afterwards, and never persists anything.

POST /demo/verify
Content-Type: multipart/form-data

No Authorization header is required. Anonymous requests are rate-limited by the shared middleware.

Request Body (multipart/form-data)​

FieldTypeRequiredDescription
filefileYesDocument image (passport / ID)
selfiefileNoSelfie for face matching
full_namestringNoName for AML / sanctions screening
mrz_linesstringNoJSON array of MRZ lines (manual fallback)
ocr_textstringNoRaw OCR text hint
face_matchstringNoJSON with client-computed face match
nfcstringNoJSON NFC request (see NFC API)
liveness_challengestringNoActive-liveness challenge: blink, turn_left, turn_right, nod, smile
liveness_framesfile[]NoFrame burst for the active-liveness challenge (≥ 2 frames)

Response​

{
"demo": true,
"document": { "passed": true, "details": { "mrz_parsed": true, "mrz": {} } },
"face_match": { "passed": true, "confidence": 0.94 },
"aml": { "passed": true, "risk_score": 0.1 },
"nfc": { "passed": true },
"active_liveness": { "passed": true, "score": 0.8, "challenge": "nod", "checks": [] }
}

Each sub-object (face_match, aml, nfc, active_liveness) is omitted when the corresponding inputs were not provided.