Your App Users/Customers
Manage your App users or your Customers who will have access to Tuku Pay.

Description
App users are individuals or entities interacting with Tuku Pay through a registered app. Each user must be registered with Tuku Pay if they engage in transactions or SMS services. Even users who do not use Tuku Pay directly can be registered for analysis and marketing purposes.
User Types
Individuals
Joint Accounts
Escrows
Organizations
Apps (treated as users)
Registration Requirements
Mandatory Fields:
Name
Phone number (used as a unique identifier or account number)
KYC documents
Optional Fields:
Username
Profile photo (separate from KYC photo)
Account Numbers:
An account number is assigned upon registration.
The phone number can also act as the account number.
Endpoints
1. Create User
Method:
POST
URL:
/api/users/create
Request Body:
{
"appId": "app123",
"name": "Jane Doe",
"phone": "+254712345678",
"username": "jdoe",
"profilePhoto": "https://example.com/photo.jpg",
"kyc": {
"type": "National ID",
"documentUrl": "https://example.com/id.jpg"
},
"type": "individual"
}
Response:
{
"userId": "user123",
"accountNumber": "1234567890",
"status": "active",
"message": "User created successfully."
}
2. Edit User
Method:
PUT
URL:
/api/users/edit
Request Body:
{
"appId": "app123",
"userId": "user123",
"name": "Jane Doe Updated",
"username": "jdoe_updated",
"profilePhoto": "https://example.com/photo_updated.jpg"
}
Response:
{
"userId": "user123",
"status": "updated",
"message": "User details updated successfully."
}
3. Delete User
Method:
DELETE
URL:
/api/users/delete
Request Body:
{
"appId": "app123",
"userId": "user123"
}
Response:
{
"userId": "user123",
"status": "deleted",
"message": "User deleted successfully."
}
4. Retrieve User Details
Method:
POST
URL:
/api/users/details
Request Body:
{
"appId": "app123",
"userId": "user123"
}
Response:
{
"userId": "user123",
"name": "Jane Doe",
"phone": "+254712345678",
"username": "jdoe",
"profilePhoto": "https://example.com/photo.jpg",
"accountNumber": "1234567890",
"type": "individual",
"status": "active"
}
Notes
App ID in Request Body: All endpoints require the
appId
to be included in the request body to identify the app context.Normalized Requests: All request and response payloads follow a standardized format for consistency and ease of integration.
KYC Verification: Users must have verified KYC to perform transactions.
Phone Number as Account Number: The phone number acts as a fallback identifier if the account number is unavailable.