1. KYC
Core Banking Services
  • Introduction
  • Terminologies
  • Webhooks
  • Authentication
  • Account
    • Product List
      GET
    • Create Account
      POST
    • Update Account
      PUT
    • Find Client
      POST
    • Accounts
      GET
    • Create Additional Account
      POST
    • Account Details By BVN
      GET
    • Get Client Addresses
      GET
    • Get Account Details
      GET
    • Get Account Summary
      GET
    • Client Images
      GET
    • Update BVN
      POST
    • Update Transaction Limit
      POST
    • Client Notifications
      PUT
    • Activate Client Account
      POST
    • Add Client Address
      POST
    • Update Client Address
      PUT
    • Get Full Account Details
      GET
    • Get Full Account Details By NUBAN
      GET
    • Upload Client Passport
      POST
    • Update NIN
      POST
    • Create Client
      POST
    • Get Directors
      GET
    • Create Directors
      POST
    • Update Directors
      PUT
    • Delete Director
      DELETE
    • Get Genders
      GET
    • Get Signatories
      GET
    • Create Signatories
      POST
    • Delete Signatory
      DELETE
    • Get Template
      GET
  • KYC
    • Get KYC Info
      POST
    • Update KYC
      POST
    • Get KYC Level
      GET
    • Auto Verify KYC
      POST
    • Get KYC Comparison Details
      GET
    • Face Comparison
      POST
    • Get KYC Info
      POST
    • Get KYC Settings
      GET
    • Get KYC Info
      POST
    • Create Face Liveness Session
      POST
    • Get KYC Log Details
      GET
    • Get KYC Logs
      GET
    • Set KYC Level
      POST
    • Set KYC Log Status
      POST
  • Transaction
    • Payment Types
    • Debit Account
    • Credit Account
    • Transaction History
    • Transaction Details [Legacy]
    • Transaction Details
    • Get All Transactions
  • Transfer
    • Interbank Transfer
      • Get Institutions
      • Name Inquiry
      • Interbank Transfer
      • InterBank Transfer Query
      • Transfer Details
      • Bulk Interbank Transfer
    • Intrabank Transfer
      • IntraBank Transfer
      • Intrabank Transfer To Virtual Accounts
      • Query Intrabank Transfer Status
      • Intrabank Transfer To Virtual Accounts
      • Query Intrabank Transfer To Virtual Account Status
  • Account Restrictions
    • Block Debit
    • Unblock Debit
    • Hold Amount
    • Release Amount
    • Block Account
    • Block Account Credits
    • Unblock Account
    • Unblock Account Credits
  • Reporting
    • Report Types
    • Get Report Parameters
    • Create Report
    • Report Details
    • Get Reports
  • Organisation
    • Get Address Types
    • Get Offices
    • Get States
  • Schemas
    • Client
    • Product
    • ClientNotificationsRequest
    • ClientNotificationsResponse
    • ErrorDetail
    • ErrorResponse
    • ValidationErrorResponse
  1. KYC

Auto Verify KYC

POST
/core/kyc/autoverify

Auto Verify KYC#

Looks up the client's BVN, NIN or CAC, compares the provider data and passport photo with the client record against the automated KYC settings, and assigns a KYC level when the comparison passes. Requires client passport upload and the automatic verification setting to be enabled.
POST /core/kyc/autoverify

Request Body#

Field NameTypeRequiredDescription
clientIdLongTRUEClient to verify
kycTypeStringTRUEBVN, NIN or CAC (case sensitive)
kycUpgradeBooleanFALSESet true to validate against a specific upgrade level. Defaults to false
kycUpgradeLevelStringFALSELevel to validate when upgrading, e.g. KYC_LEVEL_2

Response#

Field NameTypeDescription
kycRequestObjectRequest as processed
kycClientDataObjectClient data used in the comparison
kycResponseObjectProvider response
kycComparisonDataArrayPer-level, per-field comparison results
verifiedBooleanTrue if a KYC level was assigned
approvedKYCLevelLongLevel assigned, if any
requestById / requestByLong / StringUser that triggered the verification

Request

Authorization
OAuth 2.0
Client Credentials
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Token URL: {{tpGatewayHostUrl}}/security/authenticate
or
Body Params application/json

Example
{
  "clientId": 1,
  "kycType": "BVN",
  "kycUpgrade": false
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/core/kyc/autoverify' \
--header 'Content-Type: application/json' \
--data '{
  "clientId": 1,
  "kycType": "BVN",
  "kycUpgrade": false
}'

Responses

🟢200Success
application/json
Success
Bodyapplication/json

Example
{
  "kycRequest": {
    "kycProvider": "PROVIDER",
    "kycType": "BVN",
    "kycNumber": "22000000000",
    "clientId": 1,
    "kycUpgrade": false
  },
  "kycClientData": {
    "id": 1,
    "firstName": "Ada",
    "lastName": "Example",
    "mobileNo": "08000000000",
    "dateOfBirth": "1990-01-15",
    "gender": "Male"
  },
  "kycResponse": {
    "id": 101,
    "idType": "BVN",
    "firstName": "Ada",
    "lastName": "Example",
    "kycLogId": 101
  },
  "kycComparisonData": [
    {
      "kycLevel": "KYC_LEVEL_1",
      "approved": true
    }
  ],
  "verified": true,
  "approvedKYCLevel": 1,
  "requestById": 5,
  "requestBy": "Sample Admin"
}
🟠400| Source | Error | When |
🟠401| Source | Error | When |
🟠403| Source | Error | When |
🔴500| Source | Error | When |
Modified at 2026-11-02 05:49:15
Previous
Get KYC Level
Next
Get KYC Comparison Details
Built with