Update the account's tenure
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.
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
Path Parameters
Unique identifier of the account.
uuidRequest Body
application/json
Request to update the account tenure. For Flex Credit, this sets the default for future draws. Posted purchases and agreements do not change.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X PATCH "https://example.com/v1/accounts/550e8400-e29b-41d4-a716-446655440000/tenure" \ -H "Content-Type: application/json" \ -d '{ "tenure": {} }'{ "id": "550e8400-e29b-41d4-a716-446655440000", "resource_id": "acc_2n1t201rmv87aae5j4csam8000", "account_number": "29384756", "user_id": "660e8400-e29b-41d4-a716-446655440111", "type": "CREDIT", "credit_limit": -5000000, "available_limit": -2000000, "available_balance": -3000000, "balance": { "total_charged": -3000000, "principal_used": -2500000, "total_outstanding": -3000000, "total_paid": 0, "breakdown": { "principal_outstanding": -2500000, "interest_outstanding": -500000, "arrears_outstanding": 0, "penalty_outstanding": 0 } }, "currency": "KES", "due_date": "2025-10-31", "final_payment_due_date": "2025-10-31", "status": "ACTIVE", "fee_basis_points": 300, "interest_rate": { "basis_points": 300, "period_value": 1, "period_unit": "WEEKS" }, "tenure": { "duration": 4, "unit": "WEEKS" }, "billing_period": { "value": 1, "unit": "WEEKS" }, "limits": { "overdraft_limit": 500000, "minimum_transfer_amount": 1000, "maximum_transfer_amount": 5000000, "daily_transfer_limit": 10000000 }, "auto_renews": true, "paid_at": "2025-10-31T14:30:00", "can_transact": true, "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": "BAD_REQUEST", "description": "Invalid input"}{ "code": "RATE_LIMIT_EXCEEDED", "description": "Too Many Requests"}{ "code": "INTERNAL_ERROR", "description": "Internal Server Error"}Close the account POST
Closes the caller's own revolving credit account. Allowed only when nothing has been disbursed in the current cycle, no balance is outstanding, no transfer is pending, and the previous cycle is settled. Requires an authenticated, active user who owns the account. Returns 404 when the account does not exist, is not the caller's, or is not a revolving credit account. Returns 400 when the account fails a closing precondition.
Open the caller's current account POST
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.