Skip to main content
POST
Register User, Create Default Wallets, And Return User And Wallets With Balances

Body

application/json
email
string<email>
required

User's login email. Must be unique.

phone_number
string
required

E.164 format phone (e.g., +2547xxxxxxx).

first_name
string
required

Given name.

last_name
string
required

Family name.

password
string<password>
required

User password (min 6 chars).

role
enum<string>
required

Role to assign.

Available options:
customer,
vendor,
user
kyc_status
enum<string>
required

Initial KYC state. Usually pending.

Available options:
pending,
approved,
rejected
pin
string

Optional 6-digit numeric PIN used for PIN-based login (POST /api/v1/users/login-pin). If omitted, the user can still log in with email + password but cannot use PIN login until a PIN is set.

Pattern: ^[0-9]{6}$

Response

User registered

message
string

Success message.

user
object
wallets
object[]
warning
string

Present when one or more default wallets failed.

wallet_errors
object[]