Cowdidocs
API ReferenceCurrent account

Upgrade the caller's current account

POST
/v1/user/accounts/current/upgrade

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.

AuthorizationBearer <token>

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

Request Body

application/json

Request body for upgrading the caller's wallet account to a full current account.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/user/accounts/current/upgrade" \  -H "Content-Type: application/json" \  -d '{    "kra_pin": "A012345678Z",    "selfie_photo": "/9j/4AAQSkZJRgABAQAAAQABAAD..."  }'
Empty
{  "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"}