Skip to main content
Verify customer identities using a wide range of Nigerian and international identity documents. All verification endpoints support idempotency to prevent duplicate charges.

How it works

  1. Choose the appropriate verification type for your use case
  2. Send a POST request with the required identifier (BVN, NIN, etc.)
  3. Receive a normalized result with the verification data

Available verification types

Identity

EndpointDescription
/api/v1/business/verification/bvnBank Verification Number
/api/v1/business/verification/bvn-advancedBVN with extended data
/api/v1/business/verification/ninNational Identification Number
/api/v1/business/verification/pvcPermanent Voter’s Card
/api/v1/business/verification/pvc-premiumPVC with extended data
/api/v1/business/verification/frscDriver’s License (FRSC)
/api/v1/business/verification/passportInternational Passport

Business

EndpointDescription
/api/v1/business/verification/cac-basicCAC Basic lookup
/api/v1/business/verification/cac-advancedCAC with detailed info
/api/v1/business/verification/cac-premiumCAC with full records
/api/v1/business/verification/cac-by-nameCAC lookup by company name
/api/v1/business/verification/tinTax Identification Number

Financial

EndpointDescription
/api/v1/business/verification/bank-accountBank account verification
/api/v1/business/verification/amlAnti-Money Laundering check

Phone

EndpointDescription
/api/v1/business/verification/phone-basicBasic phone number lookup
/api/v1/business/verification/phone-advancedPhone with detailed data
/api/v1/business/verification/phone-ninPhone + NIN cross-check

Credit

EndpointDescription
/api/v1/business/verification/{verificationCode}Generic verification (TriCredit, CRC, Kenya CRB, Kenya National ID)

History

EndpointMethodDescription
/api/v1/business/verification/historyGETList past verifications
/api/v1/business/verification/{id}GETGet verification details by ID

Authentication

All verification POST endpoints require:
  • x-api-key header
  • x-signature-key header (request signature)
GET endpoints (history, details) only require x-api-key.

Idempotency

All verification POST endpoints accept an optional idempotencyKey parameter. If you send the same idempotencyKey twice, the second request will return the cached result without charging you again.
{
  "bvn": "12345678901",
  "idempotencyKey": "unique-key-for-this-request"
}

Standard response format

All verification endpoints return this structure:
{
  "status": true,
  "message": "Successful",
  "code": "200",
  "data": {
    "verificationRequestId": 12345,
    "reference": "VER-abc123",
    "success": true,
    "statusCode": "00",
    "statusMessage": "Verification successful",
    "normalizedResult": {
      "firstName": "John",
      "lastName": "Doe",
      "dateOfBirth": "1990-05-15",
      "...": "..."
    },
    "walletTransactionReference": "TRX-abc123",
    "walletAmount": 100.00
  }
}
FieldTypeDescription
verificationRequestIdnumberInternal verification ID
referencestringVerification reference
successbooleanWhether the verification was successful
statusCodestringProvider status code
statusMessagestringHuman-readable status
normalizedResultobjectThe verified data (varies by verification type)
walletTransactionReferencestringTransaction reference for the charge
walletAmountnumberAmount charged for this verification