ZamuPay API Documentation
    ZamuPay API Documentation
    • Zamupay overview
    • Token Request
      POST
    • Payment Order Request
      POST
    • Reject Order By OriginatorConversationId
      POST
    • Express Deposit Request
      POST
    • Find Payment Order By OriginatorConversationId
      GET
    • Find Express Deposit By OriginatorConversationId
      GET
    • Bill Number
      POST
    • Find Bill Number By Service Id and Account Number
      GET
    • Find Transaction Routes
      GET
    • Find Charges By TransactionTypeId
      GET
    • Bill Request
      POST
    • Find Bill Request By Originator Converstion Id
      GET
    • Find Bill Services
      GET
    • Account Number Validation Request
      POST
    • Find Account Validation Status by SystemTraceAuditNumber
      GET
    • Airtime Purchase
      POST
    • Find Airtime Purchases By OriginatorConversationId
      GET
    • Health Check
      GET
    • Create Payment Link
      POST
    • Find Payment Links By Id
      GET
    • Update Payment Link
      PUT
    • KYC Validation
      POST
    • KYC Validation
      GET
    • Balance Check
      GET

      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 2025-12-09 12:39:20
      Previous
      Find Bill Services
      Next
      Find Account Validation Status by SystemTraceAuditNumber
      Built with