Identity Verification
Submit a subject with purpose and scope. We confirm identity and return a structured verification result.
requestVerificationverifyIdentityclientValidation
A GraphQL surface for identity verification, liveness, document matching, scoped checks and settlement — designed to integrate into onboarding, hiring and compliance flows.
Each cluster exposes a focused set of operations. Compose them for onboarding, re-verification, workforce checks or ongoing monitoring.
Submit a subject with purpose and scope. We confirm identity and return a structured verification result.
requestVerificationverifyIdentityclientValidationCompare an ID photograph against a selfie, confirm document authenticity and extract identifying fields.
compareIdPhotoverifyIdentityCreate a session, run a passive or active liveness check and retrieve the signed session result.
createLivenessSessioncheckLivenesslivenessSessionResultSubmit defined check scopes with structured input and receive a verification response through the configured workflow.
clientValidationcompleteClientValidationRetrieve issued certificates by reference or subscribe to status events as checks complete.
certificateByIdallCertificatescertificate (subscription)Initiate M-Pesa STK push, confirm payment status and subscribe to settlement events.
initiateStkPushconfirmPaymentmpesaPayment (subscription)Representative requests and responses drawn from the live schema. Variables, fields and types match the sandbox you’ll receive on access approval.
Submit a subject and verification scope. The response includes a request reference you can poll or subscribe to.
mutation RequestVerification($input: VerificationRequestInput!) {
requestVerification(input: $input) {
success
message
data {
id
status
createdAt
}
}
}
# variables
{
"input": {
"requester": { "name": "Savanna Digital Ltd", "email": "api@savannadigital.co.ke" },
"scope": {
"checks": ["IDENTITY", "CRIMINAL_RECORD", "EMPLOYMENT"],
"purpose": "PRE_EMPLOYMENT"
},
"subject": {
"firstName": "Jane",
"lastName": "Mwangi",
"idNumber": "12345678"
}
}
}{
"data": {
"requestVerification": {
"success": true,
"message": "Verification request accepted",
"data": {
"id": "req_01HK7Z3R…",
"status": "PENDING",
"createdAt": "2026-10-02T14:22:11Z"
}
}
}
}Scoped API keys with per-key rate limits. Rotate without downtime from the client portal.
Verify delivery authenticity with HMAC signatures. Automatic retries with exponential backoff.
TLS 1.2+ in transit, encryption at rest and controlled access aligned with the DPA 2019.
Tell us your use case and expected volume. We confirm scope, lawful basis and the checks that fit.
Get scoped API keys and sample subjects to build against. The sandbox mirrors production behaviour.
Integrate submission, status, and certificate retrieval. Subscribe to webhooks for completion events.
Rotate to production keys when ready. We provide a go-live checklist and ongoing support.
Request API Access
Describe your use case, expected volume and the checks you need. We confirm scope, lawful basis and issue sandbox credentials so you can start building.
Practical guides on KYC, KYB and verification decisions.