Skip to main content
thibit.id

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.