1. KYC
ZamuPay API Documentation
  • Introduction
  • Definitions
    • Data Types
  • Authorization
    • Overview
    • Token Request
      POST
    • Find Transaction Routes
      GET
    • Health Check
      GET
  • Checkout Request
    • Overview
    • Checkout Order Request
      POST
    • Query Checkout Request
      GET
    • Checkout Callback Request
      POST
  • Payment Request
    • Payment Order Request
      POST
    • Reject Order By OriginatorConversationId
      POST
    • Find Payment Order By OriginatorConversationId
      GET
  • Collection Request
    • Find Express Deposit By OriginatorConversationId
      GET
    • Express Deposit Request
      POST
  • Bill Payments
    • Bill Number
      POST
    • Find Bill Number By Service Id and Account Number
      GET
    • Bill Request
      POST
    • Find Bill Request By Originator Converstion Id
      GET
    • Find Bill Services
      GET
  • KYC
    • Account Number Validation Request
      POST
    • KYC Validation
      POST
    • KYC Validation
      GET
    • Find Account Validation Status by SystemTraceAuditNumber
      GET
  • Payment Links
    • Find Payment Links By Id
    • Create Payment Link
    • Update Payment Link
  • Customer Accounts
    • Balance Check
    • Find Charges By TransactionTypeId
  • Airtime Purchase
    • Airtime Purchase
    • Find Airtime Purchases By OriginatorConversationId
  1. KYC

Account Number Validation Request

https://auth.zamupay.com
https://auth.zamupay.com
https://auth.zamupay.com
https://auth.zamupay.com
POST
/v1/account/validate
This is a POST request that is responsible for validation of an account number.
Note: A valid token is required for authentication as it expires after every hour. Refer to Token Request to generate a new token.
The required Json body contains :

type: This is the validation type either 1-mobile or 2-bank
systemTraceAuditNumber: This is a unique number that is generated by the consumer
primaryAccountNumber: Account number that needs to be validated.
institutionCode: This is the code for a particular institution, either mobile mccmnc or bank code
callBackUrl: This is the webhook endpoint to receive notifications.
callBackFormat: This is the format in which the notifications should be in either JSON or XML.
ccy: The currency in which the account is set as.
countryCode: The country in which the account is allowed to transact in especially important for bank accounts

Data definition#

Field NameData TypeOptions
type
int
Mandatory
systemTraceAuditNumber
string
Mandatory
primaryAccountNumber
string
Mandatory
institutionCode
string
Mandatory
callBackUrl
string
Mandatory
callBackFormat
string
Mandatory
ccy
string
Optional
countryCode
string
Optional

Sample success response:#

{
   "systemTraceAuditNumber": "325ac159-a4fe-472d-954d-7a6293dc1a84",
   "message":"Request Accepted. Kindly await processing"
}

Sample failed response:#

{
   "systemTraceAuditNumber": "325ac159-a4fe-472d-954d-7a6293dc1a84",
   "errorMessage":"Something went wrong"
}

Sample validation errors response:#

{
    "errors": {
        "AccountNumber": [
            "The AccountNumber field is required."
        ]
    },
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
    "title": "One or more validation errors occurred.",
    "status": 400,
    "traceId": "00-03529608f740804d9e7bf8210d6e1cb9-df15d6e73e04804c-00"
}

Sample Callback Response#

{
  "validationType": 1,
  "validationTypeDesc": "Mobile",
  "accountNumber": "+254714653433",
  "accountNumberCCY": "KES",// currency in which the account number transacts
  "institutionCode": "63902", // institution number, either mobile mccmnc or bank code
  "countryCode": "KE",
  "callbackURL": "https://eo2j2658kmohqiy.m.pipedream.net",
  "status": 4,
  "statusDesc": "Completed",
  "systemTraceAuditNumber": "f9445f06-2a9a-456e-98a0-5f9db5d3a202",
  "conversationID": "AG_20230720_2010431240a6879fd40b",//unique Id from Mobile Provider
  "responseCode": "0",
  "responseDesc": "Accept the service request successfully.",
  "resultCode": "0",
  "resultDesc": "The service request is processed successfully.",
  "transactionID": "RGK71AERRN",
  "transactionCreditParty": "254702900800 - JOHN DOE",//Contains the details for the validated primary account number
  "createdDate": "2023-08-03T06:01:21.15"
}

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Body Params application/json

Examples

Responses

🟢200Success
application/json
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://auth.zamupay.com/v1/account/validate' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "type": 0,
    "systemTraceAuditNumber": "string",
    "primaryAccountNumber": "string",
    "institutionCode": "string",
    "callBackUrl": "http://example.com",
    "callbackFormat": 0,
    "ccy": "string",
    "countryCode": "string"
}'
Response Response Example
{}
Modified at 2026-01-29 06:17:47
Previous
Find Bill Services
Next
KYC Validation
Built with