Get the caller's current-account activation
Returns the caller's most recent current-account activation, in any lifecycle status. The caller must be authenticated. Use it to resume the OTP step after losing the activation id, for example on a new device. Returns 404 when the caller has no current account, or has one but never started an activation.
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 GET "https://example.com/v1/user/accounts/current/activation"{ "id": "550e8400-e29b-41d4-a716-446655440000", "status": "AWAITING_OTP", "created_at": "2026-01-15T09:30:00Z", "otp_confirmed_at": "2026-01-15T09:31:00Z", "completed_at": "2026-01-15T09:32:00Z", "rejection_reason": "Document image quality too low for verification", "current_verification": { "channel": "sms" }, "resource_id": "string"}{ "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"}Upgrade the caller's current account POST
Submits the caller's KRA PIN, selfie, and ID photos to the wallet provider. The provider raises the account from its capped entry tier to the full current-account tier. Requires an authenticated, active user. The upgrade finishes later through a provider callback. The account's limits rise only once the callback confirms success. Returns 409 when the caller has no active, upgradeable current account, or an upgrade is already in progress.
Start a current-account activation POST
Creates an activation for the caller's current account and sends an OTP by SMS. Requires an authenticated, active user. If an activation is already in progress, the call returns that activation instead of starting a new one. It does not send a second OTP. Returns 422 when the caller's KYC status is not `APPROVED`. Returns 409 when a previous activation was rejected and still awaits an operator reset. Returns 409 `WALLET_ID_ALREADY_REGISTERED` when the wallet provider already holds the caller's ID and support must resolve it. Do not retry this error.