Open the caller's current account
Creates the caller's current account in PENDING status. Requires an authenticated, active user. Returns 400 when the caller's organization does not allow self-service account creation. Returns 409 when the caller already has a non-closed current account. Continue with POST /v1/user/accounts/current/activations to activate the account.
Authorization
oauth2 Create a client with POST /v1/oauth/clients, then exchange its credentials for an access token. AUTHORIZATION_CODE clients act on behalf of a signed-in user and always use PKCE; CLIENT_CREDENTIALS clients act as themselves. A client may only be granted scopes its creator already holds — read the grantable list from GET /v1/oauth/clients/scopes.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/user/accounts/current"{ "id": "550e8400-e29b-41d4-a716-446655440000", "resource_id": "acc_2n1t201rmv87aae5j4csam8000", "account_number": "00123455", "user_id": "660e8400-e29b-41d4-a716-446655440111", "external_account_number": "1234567890", "external_account_id": "1234567890", "external_provider": "CHOICE", "wallet_onboarding_status": "ACCOUNT_OPENED", "wallet_onboarding_rejection_reasons": [], "onboarding_status": "ACTIVE", "onboarding_rejection_reasons": [], "activatable": false, "type": "CURRENT", "account_id": "550e8400-e29b-41d4-a716-446655440000", "available_balance": 1000000, "balance": { "total_balance": 1500000, "hold_amount": -500000, "available_balance": 1000000 }, "currency": "KES", "status": "ACTIVE", "limits": { "minimum_transfer_amount": 1000, "maximum_transfer_amount": 10000000, "daily_transfer_limit": 50000000 }, "interest": { "deposit": { "annual_rate_basis_points": 300, "payout_frequency": "WEEKLY" } }, "created_at": "2025-09-01T10:15:30Z", "updated_at": "2025-10-15T14:22:00Z"}{ "code": "BAD_REQUEST", "description": "Bad Request"}{ "code": "UNAUTHORISED", "description": "Unauthorised"}{ "code": "FORBIDDEN", "description": "Forbidden"}{ "code": "RATE_LIMIT_EXCEEDED", "description": "Too Many Requests"}{ "code": "INTERNAL_ERROR", "description": "Internal Server Error"}Update the account's tenure PATCH
Sets the account's tenure for future draws or billing cycles. For a revolving credit account, this changes the tenure for the next cycle. For a Flex Credit account, this changes the default tenure for future purchases; posted purchases are unchanged. The interest rate is resolved automatically from the account's rate schedule. Requires an authenticated, active user who owns the account. Returns 404 when the account does not exist, is not the caller's, or does not support a tenure update.
Get the caller's current-account summary GET
Returns aggregate figures for the caller's current account. For now the only figure is the interest the account earned. Requires an authenticated, active user. The figures come from the transaction ledger, which keeps about 12 months of history. It does not count older credits.