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

Account Validation

https://auth.zamupay.com
https://auth.zamupay.com
https://auth.zamupay.com
https://auth.zamupay.com
POST
/v1/kyc-request/validate
This endpoint performs customer identity verification using provided KYC details.
Use the Find Transaction Routes endpoint to get the routeId

Sample request#

{

    "routeId": "efazae34-3fc5-f001-bbc1-0e34952d7n37",
    "kycRequestFirstName": "Ian", // mandatory
    "kycRequestMiddleName": "Murithi",
    "kycRequestLastName": "Njuguna",  
    "kycRequestOtherNames": "",
    "kycRequestNationalID": "34237005",
    "CustomerAccountSerialNo": "00980",   // mandatory
    "kycRequestPassportNo": "",
    "kycRequestServiceID": "{{$guid}}",
    "kycRequestAlienID": "string",
    "kycRequestTaxID": "string",
    "kycRequestDateOfBirth": "2019-08-24T14:15:22.123Z",
    "kycRequestPostalBoxNo": "string",
    "kycRequestPostalTown": "Kangemi",
    "kycRequestTelephoneMobile": "string",
    "kycRequestPhysicalAddress": "Nairobi",
    "kycRequestPhysicalTown": "Nairobi",
    "kycRequestPhysicalCountry": "Kenya",
    "kycRequestReportReason": 0,
    "kycRequestCallBackURL": "https://strong-deer-12.webhook.cool",
    "deviceId": "A45494",
    "systemTraceAuditNumber": "{{$guid}}",
    "country": "KEN",
    "ccy": 404
}
Field NameData TypeState
routeIdstringMandatory
kycRequestFirstNamestringMandatory
kycRequestMiddleNamestringMandatory
kycRequestLastNamestringMandatory
kycRequestOtherNamesstringOptional
kycRequestNationalIDstringMandatory
serialNostringOptional
kycRequestPassportNostringOptional
kycRequestServiceIDstringOptional
kycRequestAlienIDstringOptional
kycRequestTaxIDstringOptional
kycRequestDateOfBirthstringOptional
kycRequestPostalBoxNostringOptional
kycRequestPostalTownstringOptional
kycRequestTelephoneMobilestringOptional
kycRequestPhysicalAddressstringOptional
kycRequestPhysicalTownstringOptional
kycRequestPhysicalCountrystringOptional
kycRequestReportReasonstringMandatory
kycRequestCallBackURLstringOptional
deviceIdstringOptional
systemTraceAuditNumberstringMandatory
countrystringMandatory
ccystringMandatory
NOTE: Once access to the API has been granted, the routeID will be shared.

Sample response#

{
    "systemTraceAuditNumber": "95156e7a-16f4-4973-964b-a01f610a4b66",
    "message": "Request Accepted. Kindly await processing"
}

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/kyc-request/validate' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "routeId": "string",
    "kycRequestFirstName": "string",
    "kycRequestMiddleName": "string",
    "kycRequestLastName": "string",
    "kycRequestOtherNames": "string",
    "kycRequestNationalID": "string",
    "serialNo": "string",
    "kycRequestPassportNo": "string",
    "kycRequestServiceID": "string",
    "kycRequestAlienID": "string",
    "kycRequestTaxID": "string",
    "kycRequestDateOfBirth": "2019-08-24T14:15:22.123Z",
    "kycRequestPostalBoxNo": "string",
    "kycRequestPostalTown": "string",
    "kycRequestTelephoneMobile": "string",
    "kycRequestPhysicalAddress": "string",
    "kycRequestPhysicalTown": "string",
    "kycRequestPhysicalCountry": "string",
    "kycRequestReportReason": 0,
    "kycRequestCallBackURL": "string",
    "deviceId": "string",
    "systemTraceAuditNumber": "string",
    "country": "string",
    "ccy": 0
}'
Response Response Example
{
    "systemTraceAuditNumber": "95457e7a-16f4-4973-964b-a01f610a4b66",
    "message": "Request Accepted. Kindly await processing"
}
Modified at 2026-04-20 08:14:31
Previous
Find KYC Status by SystemTraceAuditNumber
Next
Find Account Validation Status by SystemTraceAuditNumber
Built with