Skip to main content

Overview

This endpoint verifies bank account details, confirming that the account exists and belongs to the person or entity named. This is commonly used for payment processing, salary disbursement, and KYC workflows.

Endpoint

POST /Citizen/AccountVerificationService

Request

curl -X POST "https://citizen.uat.securecitizen.cloud/Citizen/AccountVerificationService" \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "ConsentReceived": true,
    "AccountNumber": "1234567890",
    "BranchCode": "123456",
    "AccountType": "Current",
    "IdNumber": "8001014800080",
    "InitialsAndSurname": "J Doe",
    "CRef": "REF00001"
  }'

Request Fields

FieldTypeRequiredDescription
ConsentReceivedbooleanYesMust be true
AccountNumberstringYesBank account number to verify
BranchCodestringYesBank branch code
AccountTypestringYesAccount type (Current, Savings, Transmission)
IdNumberstringYesSA ID number of the account holder
InitialsAndSurnamestringYesInitials and surname of the account holder
CRefstringNoYour transaction reference

Response

{
  "AccountVerificationResult": {
    "accountFound": true,
    "accountOpen": true,
    "accountAcceptsCredits": true,
    "accountAcceptsDebits": true,
    "idNumberMatch": true,
    "initialsMatch": true,
    "resultCode": "PASS",
    "resultDescription": "Account verified successfully"
  },
  "Status": "Success",
  "CRef": "REF00001"
}

Response Fields

FieldDescription
accountFoundtrue if the account exists
accountOpentrue if the account is open and active
accountAcceptsCreditstrue if the account can receive payments
accountAcceptsDebitstrue if the account can be debited
idNumberMatchtrue if the ID number matches the account holder
initialsMatchtrue if the initials match the account holder
resultCodeSummary result code (PASS, FAIL, PARTIAL)
resultDescriptionHuman-readable result description