1. Account Validation
Almara Pay Documentation
  • Introduction
  • Definitions
    • Data Types
    • Error Codes
    • MCCMNC Codes
  • Authorization
    • Overview
    • Token Request
      POST
    • Find Transaction Routes
      GET
    • Health Check
      GET
  • Payouts
    • 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
  • Pay-Ins
    • Payment Links
      • Overview
      • Create Payment Link
      • Find Payment Links By Id
      • Update Payment Link
    • Express Deposits
      • Overview
      • Express Deposit Request
      • Find Express Deposit By OriginatorConversationId
    • C2B IPN (Callback)
      • C2B IPN Overview
  • Card Payments
    • Overview
    • Checkout Order Request
      POST
    • Query Checkout Request
      GET
    • Checkout Callback Request
      POST
  • Account Validation
    • Overview
    • Account Number Validation Request
      POST
    • Find KYC Status by SystemTraceAuditNumber
      GET
    • Account Validation
      POST
    • Find Account Validation Status by SystemTraceAuditNumber
      GET
  • Platform Services
    • Airtime Purchase
      • Overview
      • Airtime Purchase
      • Find Airtime Purchases By OriginatorConversationId
    • Customer Accounts
      • Balance Check
      • Find Charges By TransactionTypeId
    • 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
  1. Account Validation

Account Validation

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
Body Params application/json

Examples

Responses

🟢200Success
application/json
Body

Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST '/v1/kyc-request/validate' \
--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-30 05:53:25
Previous
Find KYC Status by SystemTraceAuditNumber
Next
Find Account Validation Status by SystemTraceAuditNumber
Built with