The API

REST with JSON, API key authentication, and resources for sessions, face enrollments, policy, evidence and usage.

Core resources

POST/v1/sessionsOpens the session and returns the capture link
GET/v1/sessions/:idThe envelope: status, reasons, checks, evidence
POST/v1/enrollmentsSaves the face enrollment from an approved session
PUT/v1/policyChanges the policy and reports conformance to the profile
GET/v1/evidence-keysPublic keys for verifying receipts
POST/v1/subjects/eraseDeletes a data subject's data
GET/v1/usageUsage by period

The session envelope

{ "sessionId": "5b0e…", "flow": "ONBOARDING", "status": "APPROVED",
  "decision": { "outcome": "APPROVED", "reasons": [], "reviewRequired": false },
  "checks": [ { "kind": "liveness.passive", "status": "PASSED",
                "score": 0.97, "threshold": 0.8,
                "engine": { "model": "minifasnet", "version": "2026.09.20" } } ],
  "evaluation": { "profileId": "pad-l1-2026-09", "conforms": true },
  "evidence": { "bundleHash": "…", "signature": { "alg": "Ed25519" } } }

Errors and limits

Invalid key, suspended account, monthly allowance used up: each case has its own code, so your app can show the right message.

Loading the example…

Run your first verification and read the receipt.