Skip to main content
Use this endpoint to confirm that an account number or phone number is valid and retrieve the name registered against it. This is especially useful before initiating large or bulk disbursements — you can verify each recipient’s account details before committing funds.
Validate accounts before submitting a bulk disbursement file. Catching invalid accounts early avoids failed transactions and the associated delays in recovering funds.

Request

POST https://app.kulmipay.com/api/v1/send-money/validate-account/
Authorization
string
required
Bearer token. Format: Bearer <token>.
provider
string
required
The payment provider to validate against. Use the same provider value you intend to use when initiating the payout. For example, "MPESA-B2B" to validate a PayBill or Till number.
account
string
required
The account number or phone number to validate. Use international format for phone numbers, e.g. 254712345678.
account_type
string
Required for MPESA-B2B validations. Specifies whether the account is a "PayBill" or a "TillNumber".
bank_code
string
Required for bank account validations. The numeric code for the recipient’s bank. Fetch the full list from GET /api/v1/send-money/bank-codes/ke/.

Response

A successful request returns HTTP 200 with the account name and validation status. The request is synchronous — Kulmi Pay queries the provider in real time and waits for a response before returning.
account
string
The account number or phone number you submitted.
name
string
The name registered to this account with the provider. Use this to confirm the recipient before initiating a payment.
status
string
The validation result. Typically "SUCCESS" when the account was found, or an error indicator when it could not be validated.

Examples

curl -X POST https://app.kulmipay.com/api/v1/send-money/validate-account/ \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "MPESA-B2B",
    "account": "400200",
    "account_type": "PayBill"
  }'

Sample response

{
  "account": "400200",
  "name": "SAFARICOM PLC",
  "status": "SUCCESS"
}

Validate a bank account

Pass bank_code when validating a PesaLink bank account.
curl -X POST https://app.kulmipay.com/api/v1/send-money/validate-account/ \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "provider": "PESALINK",
    "account": "1234567890",
    "bank_code": "68"
  }'