Documentation Index
Fetch the complete documentation index at: https://developers.kulmipay.com/llms.txt
Use this file to discover all available pages before exploring further.
Use Bank Payouts when the recipient should receive funds in a Kenyan bank account. KulmiPay routes these payouts through PesaLink.
Transaction fields
| Field | Required | Description |
|---|
account | Yes | Recipient bank account number. |
bank_code | Yes | Recipient bank code. Fetch valid codes from GET /api/v1/send-money/bank-codes/ke/. |
amount | Yes | Amount to send in KES. Minimum is KES 100. |
name | No | Recipient name for your records. |
narrative | No | Payment reason shown in your reports. |
idempotency_key | No | Unique key to prevent duplicate payouts. |
Initiate a bank payout
curl -X POST https://app.kulmipay.com/api/v1/send-money/initiate/ \
-H "Authorization: Bearer ISSecretKey_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"currency": "KES",
"provider": "PESALINK",
"requires_approval": "YES",
"transactions": [
{
"account": "1234567890",
"bank_code": "68",
"amount": "5000",
"name": "John Kamau",
"narrative": "Vendor payment",
"idempotency_key": "vendor-jan-john-001"
}
]
}'
Get bank codes
curl https://app.kulmipay.com/api/v1/send-money/bank-codes/ke/ \
-H "Authorization: Bearer ISSecretKey_live_xxxxxxxxxxxxxxxx"
Validate bank account
curl -X POST https://app.kulmipay.com/api/v1/send-money/validate-accounts/ \
-H "Authorization: Bearer ISSecretKey_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"provider": "PESALINK",
"account": "1234567890",
"bank_code": "68"
}'