Skip to main content
Datapoint Analytics
DevDeveloper Platform

Verification as an API. Built for integration.

A GraphQL surface for identity verification, liveness, document matching, scoped checks and settlement — designed to integrate into onboarding, hiring and compliance flows.

APICapabilities

Six capability clusters. One GraphQL surface.

Each cluster exposes a focused set of operations. Compose them for onboarding, re-verification, workforce checks or ongoing monitoring.

Identity Verification

Submit a subject with purpose and scope. We confirm identity and return a structured verification result.

  • requestVerification
  • verifyIdentity
  • clientValidation

Documents & ID Match

Compare an ID photograph against a selfie, confirm document authenticity and extract identifying fields.

  • compareIdPhoto
  • verifyIdentity

Liveness & Face Capture

Create a session, run a passive or active liveness check and retrieve the signed session result.

  • createLivenessSession
  • checkLiveness
  • livenessSessionResult

Scoped Checks

Submit defined check scopes with structured input and receive a verification response through the configured workflow.

  • clientValidation
  • completeClientValidation

Certificates & Webhooks

Retrieve issued certificates by reference or subscribe to status events as checks complete.

  • certificateById
  • allCertificates
  • certificate (subscription)

Payments & Settlement

Initiate M-Pesa STK push, confirm payment status and subscribe to settlement events.

  • initiateStkPush
  • confirmPayment
  • mpesaPayment (subscription)
CodeSample Requests

See the shape before you integrate.

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.

Request
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"
    }
  }
}
Response
{
  "data": {
    "requestVerification": {
      "success": true,
      "message": "Verification request accepted",
      "data": {
        "id": "req_01HK7Z3R…",
        "status": "PENDING",
        "createdAt": "2026-10-02T14:22:11Z"
      }
    }
  }
}
AuthAuthentication & Delivery

Controlled access. Reliable delivery.

API keys over HTTPS

Scoped API keys with per-key rate limits. Rotate without downtime from the client portal.

Signed webhook payloads

Verify delivery authenticity with HMAC signatures. Automatic retries with exponential backoff.

Encrypted PII handling

TLS 1.2+ in transit, encryption at rest and controlled access aligned with the DPA 2019.

DevIntegration Path

Four steps from sandbox to production.

  1. Step 01

    Request access

    Tell us your use case and expected volume. We confirm scope, lawful basis and the checks that fit.

  2. Step 02

    Receive sandbox keys

    Get scoped API keys and sample subjects to build against. The sandbox mirrors production behaviour.

  3. Step 03

    Build and test

    Integrate submission, status, and certificate retrieval. Subscribe to webhooks for completion events.

  4. Step 04

    Go live

    Rotate to production keys when ready. We provide a go-live checklist and ongoing support.

Request API Access

Tell us what you’re building.

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.