Your account & payout phones
Your profile holds account-level settings — most importantly, the M-Pesa accounts used to collect KES-funded payments. Register at least one number for any Kenya-funded flow; the first you add becomes the default.
collectionMethod: MPESA. See the M-Pesa guide.Get your profile
Returns the full profile, including your registered M-Pesa accounts in mpesaAccounts.
The current default is the profile-level defaultMpesaAccountId — there is no per-account
isDefault flag.
MPESAKE{
"id": "9f430126-99da-42e8-afb1-4cab619cda5a",
"email": "ops@acme.com",
"name": "Jane Doe",
"companyName": "Acme Remittance",
"isVerified": true,
"defaultMpesaAccountId": "3b1e4c2a-7f10-4d6e-9a2b-2c5e8f0a1b34",
"mpesaAccounts": [
{
"id": "3b1e4c2a-7f10-4d6e-9a2b-2c5e8f0a1b34",
"label": "My Safaricom",
"phoneNumber": "+254700000000",
"mobileNetwork": "MPESA",
"countryCode": "KE"
}
],
"createdAt": "2025-06-10T08:00:00.000Z",
"updatedAt": "2025-06-10T08:00:00.000Z"
}Update your profile
Patch editable fields — send only what you want to change. Returns the full updated profile.
id, email, mpesaAccounts and
defaultMpesaAccountId are read-only here (manage accounts via the endpoints below), and
KYC fields lock once your account is verified.
{
"companyName": "Acme Pay",
"sector": "Remittances"
}Add an M-Pesa account
Register a Safaricom number to receive STK pushes. The first account you add automatically becomes
the default. Returns the full profile with a 201 status.
"MPESA""KE"409 Conflict.{
"phoneNumber": "+254700000000",
"mobileNetwork": "MPESA",
"countryCode": "KE",
"label": "My Safaricom"
}Update or set the default
One endpoint updates an account's fields and/or makes it the default. Send
{ "isDefault": true } to promote a number — the previous default is replaced.
Returns the full updated profile.
{ "isDefault": false } on the current
default (returns 400) — promote another account instead, so a default always exists.{ "isDefault": true }Remove an account
Delete a number you no longer use. Returns the full updated profile. If you remove the current
default, defaultMpesaAccountId is cleared to null — set another account as
default afterwards (and note that removing your only account disables M-Pesa collection).
{
"id": "9f430126-99da-42e8-afb1-4cab619cda5a",
"email": "ops@acme.com",
"name": "Jane Doe",
"companyName": "Acme Remittance",
"isVerified": true,
"defaultMpesaAccountId": "3b1e4c2a-7f10-4d6e-9a2b-2c5e8f0a1b34",
"mpesaAccounts": [
{
"id": "3b1e4c2a-7f10-4d6e-9a2b-2c5e8f0a1b34",
"label": "My Safaricom",
"phoneNumber": "+254700000000",
"mobileNetwork": "MPESA",
"countryCode": "KE"
}
],
"createdAt": "2025-06-10T08:00:00.000Z",
"updatedAt": "2025-06-10T08:00:00.000Z"
}