Skip to main content

Overview

The monei.user service allows you to manage the authenticated user’s profile, verify KYC status, and retrieve account limits. This service provides:
  • Retrieve current authenticated user
  • Update user profile
  • Check KYC verification status
  • Get deposit limits
Note: All methods return response objects with attributes accessible via dot notation (e.g., user.id, kyc.status).

Get Current User

Retrieve details of the authenticated user.
user = monei.user.get_current_user()

print(user.id)
print(user.email)
print(user.status)

Update User

Update a user’s profile information.
updated_user = monei.user.update_user(
    user_id="user_123",
    first_name="John",
    last_name="Doe"
)

print(updated_user)

Get KYC Status

Check the user’s KYC verification status.
kyc = monei.user.kyc_status()

print(kyc.status)
print(kyc.level)

Get Deposit Limits

Retrieve the user’s deposit limits based on KYC level.
limits = monei.user.get_deposit_limit()

print(limits)

Working with Response Objects

All methods return objects with attribute access:
# Get current user response
user = monei.user.get_current_user()
print(user.id)           # User ID
print(user.email)        # Email address
print(user.first_name)   # First name
print(user.last_name)    # Last name
print(user.status)       # User status
print(user.created_at)   # Account creation date

# Update user response
updated_user = monei.user.update_user("user_123", first_name="John", last_name="Doe")
print(updated_user.id)         # User ID
print(updated_user.first_name) # Updated first name
print(updated_user.last_name)  # Updated last name
print(updated_user.updated_at) # Last update timestamp

# KYC status response
kyc = monei.user.kyc_status()
print(kyc.status)      # pending | verified | rejected
print(kyc.level)       # KYC level (0, 1, 2)
print(kyc.submitted_at) # When KYC was submitted
print(kyc.verified_at)  # When KYC was verified (if verified)

# Deposit limits response
limits = monei.user.get_deposit_limit()
print(limits.daily_limit)    # Daily deposit limit
print(limits.monthly_limit)  # Monthly deposit limit
print(limits.used_today)     # Amount used today
print(limits.used_this_month) # Amount used this month
print(limits.remaining_today) # Remaining daily limit


Error Handling

All user service calls may raise an exception if the request fails.
from monei import MoneiError

try:
    user = monei.user.get_current_user()
    print(user.email)
except MoneiError as err:
    print(err.status_code)  # HTTP status code
    print(err.message)      # Error message
    print(err.code)         # Error code

Service Overview

MethodDescription
get_current_user()Retrieve authenticated user profile
update_user(id, first_name, last_name, ...)Update user profile
kyc_status()Get KYC verification status
get_deposit_limit()Retrieve deposit limits

Notes

  • All methods require a properly configured MoneiClient instance with authentication
  • User ID is required for update operations
  • KYC status affects deposit limits and available features
  • All responses are strongly typed objects with attribute access
  • Deposit limits are returned in kobo (1 NGN = 100 kobo)