The atomic primitive
ID + liveness. One API call. One verdict.
thibit.id is the underlying verification primitive that powers the full KYC and KYB workflows.
Capture a government-issued document, run a passive liveness check on the subject, and return a clear
approved
/
inconclusive
/
rejected
result. No hosted onboarding. No review queue. No state machine. Just the check.
When to use thibit.id
When your onboarding already exists.
You already have a sign-up form, a database, an email pipeline. You just need a trusted identity verdict at one step. thibit.id slots in at that single step — collect the document and selfie, get the verdict, attach the verification ID to your user record, move on.
If you find yourself wanting a hosted document-collection flow, a review queue for borderline cases, and an audit trail you can hand to a regulator — graduate to KYC by thibit. Same engine. No re-integration.
Inside the box
- Document capture — passport, ID card, driver's licence, multi-region templates.
- Passive liveness — selfie + anti-spoofing, no awkward head-turns.
- Authenticity checks — MRZ parse, hologram detection, expiry, template tamper.
- Face match — document portrait vs liveness selfie.
- HMAC-signed webhook with the final verdict.
Outside the box
- Bank statements. Proof of residence. Source of funds.
- Sanctions, PEP, adverse media screening.
- Human review queue.
- Multi-step workflow state machines.
All of those live in KYC by thibit and KYB by thibit.
The API
Two calls. One verdict.
You open a verification, redirect the subject to a hosted capture page, and receive a signed webhook when the verdict is ready. End to end: a typical run finishes in under 90 seconds.
1. Open the verification
POST $THIBIT_API_URL/api/v1/external/verifications
Authorization: Bearer $THIBIT_API_KEY
Content-Type: application/json
{
"type": "id+liveness",
"subject": { "id": "user_123", "country": "MZ" },
"redirectUrl": "https://your-app.example.com/onboarding/done"
}
// → 201 Created
// {
// "verificationId": "ver_01HZX…",
// "hostedUrl": "https://onboard.kyc.xibodev.com/?token=…",
// "status": "pending"
// } 2. Receive the verdict
POST https://your-backend/webhooks/thibit
X-Thibit-Signature: sha256=…
{
"type": "verification.completed",
"verificationId": "ver_01HZX…",
"subject": { "id": "user_123" },
"result": "approved", // approved | inconclusive | rejected
"checks": {
"documentAuthenticity": "passed",
"livenessMatch": "passed",
"documentExpiry": "valid_until_2031-04-19"
},
"completedAt": "2026-05-31T22:14:08Z"
} Drop in a verification step today.
Sandbox keys are free and there's no commitment. When you need more than a verdict — a queue, a workflow, an audit trail — graduate to KYC by thibit without re-integrating.