Account, balance and banks
Who the key belongs to, its limits and today's usage, the balance payouts are paid from, and the bank codes payouts accept.
Call GET /api/v1/account first in any integration: it confirms the key works, tells you whether it's test or live, and returns your limits and what you have left today.
Send your API key as Authorization: Bearer apk_test_… (sandbox) or apk_live_… (live). Each endpoint lists the scope the key needs. See API keys.
Get the account
/api/v1/accountaccount:readThe workspace and key behind this request, your limits, and how much of today's and this month's limit you've used.
curl "https://api.autopayke.com/api/v1/account" \
-H "Authorization: Bearer $AUTOPAYKE_API_KEY"{
"ok": true,
"data": {
"object": "account",
"livemode": false,
"workspace": {
"id": "2f6c1a4e-7b3d-4e58-9c21-5a8d0e7f3b64",
"name": "Acme Payroll",
"kind": "merchant",
"tier": "starter",
"live_access": true
},
"key": {
"prefix": "apk_test_7Hq2aB",
"name": "Production server",
"scopes": [
"account:read",
"payouts:read",
"payouts:write"
],
"expires_at": "2027-11-03T09:10:00.000Z"
},
"limits": {
"per_payout_kes": 150000,
"daily_kes": 1000000,
"monthly_kes": 10000000,
"requests_per_second": 10,
"methods": [
"mobile_money",
"till",
"paybill",
"bank"
],
"countries": [
"KE"
]
},
"usage": {
"today_kes": 45000,
"this_month_kes": 820000,
"remaining_today_kes": 955000,
"remaining_this_month_kes": 9180000
}
}
}livemodebooleantrue for an apk_live_ key.
workspaceobjectid, name, kind (personal, merchant or organization), tier (sandbox, starter, growth, enterprise) and live_access.
keyobjectThe calling key: prefix (first 16 characters), name, scopes and expires_at.
limitsobjectLimits in whole KES (not cents): per_payout_kes, daily_kes, monthly_kes, requests_per_second, the payout methods and countries you may use.
usageobjectWhole KES paid out today and this month (Nairobi time), and what's left of each limit.
- Limits here are in whole shillings, unlike payout amounts, which are cents.
- Days and months follow Africa/Nairobi time.
Get the balance
/api/v1/balancebalance:readWhat your payouts are paid from. Live: the workspace's USDC and USDT on Avalanche C-Chain and the wallet address to fund it. Test: your sandbox balance of free test USDC.
curl "https://api.autopayke.com/api/v1/balance" \
-H "Authorization: Bearer $AUTOPAYKE_API_KEY"{
"ok": true,
"data": {
"object": "balance",
"livemode": true,
"wallet_address": "0x4B2e8F1a9C3d7E6b5A0f2D8c1E9b3A7d6F4c2E10",
"usdc": "1520.402100",
"usdt": "0.000000",
"total_usd": "1520.40"
}
}wallet_addressstringLive only. Send USDC or USDT on Avalanche C-Chain here to fund payouts.
usdcstringUSDC balance, 6 decimal places.
usdtstringUSDT balance, 6 decimal places. Always 0 in the sandbox.
total_usdstringBoth together, 2 decimal places.
- Payouts are paid from USDC today. Check total_usd before a large batch, or listen for the balance.low webhook.
List banks
/api/v1/banksKenyan banks you can pay out to, with the bank_code a bank destination needs. Cache it for a day.
curl "https://api.autopayke.com/api/v1/banks" \
-H "Authorization: Bearer $AUTOPAYKE_API_KEY"{
"ok": true,
"data": {
"object": "list",
"data": [
{
"code": "KCBLKENX",
"name": "KCB Bank"
},
{
"code": "EQBLKENA",
"name": "Equity Bank"
},
{
"code": "KCOOKENA",
"name": "Co-operative Bank"
}
]
}
}- Any valid key can call this; no scope needed.