type = user), Doss users (type = doss), merchants (type = merchant), and admin accounts. Each type has its own list view, creation flow, and export options.
User lists
- Regular users
- Doss users
- Merchants
- Admin users
Navigate to Users > Users (
/admin/users). The list is paginated at 10 records per page and supports filtering by status and full-text search across UUID, full name, formatted phone number, and email address.Required permission: view_userCreating users
- Regular user
- Doss user
- Admin user
Fill in the required fields
- First name and last name (letters and spaces only, max 30 characters each)
- Email address (must be unique)
- Phone number (must be unique)
- Password (minimum 6 characters, with confirmation)
- Status (
ActiveorInactive)
Editing user profiles
Go to/admin/users/edit/{id} (required permission: edit_user) or /admin/doss_users/edit/{id} for Doss accounts. You can update profile fields, change status, and reassign roles.
For Doss users, a dedicated update route (POST /admin/users/doss_update) handles the submission separately from regular user updates.
Approving users
If a user has submitted identity documents (ID proof front/back, passport front/back, driving licence front/back), they appear in the App user verification list at/admin/app_user_verification.
To approve a user, navigate to /admin/approve/{id}. This sets varified_user = 1 on the user record.
KYC document review
KYC verification is split into two independent document types:Identity proofs
Navigate to
/admin/identity-proofs. Review submitted identity documents, then approve or reject each submission at /admin/identity-proofs/edit/{id}.Required permission: view_identity_verfication / edit_identity_verficationAddress proofs
Navigate to
/admin/address-proofs. Review address documents, then approve or reject each submission at /admin/address-proofs/edit/{id}.Required permission: view_address_verfication / edit_address_verficationAdmin deposits and withdrawals for users
Admins can perform deposits and withdrawals on behalf of users directly from the panel:- Deposit for user —
/admin/users/deposit/create/{id} - Withdraw for user —
/admin/users/withdraw/create/{id} - Doss user fund top-up —
POST /admin/add/fund/doss
User alerts
Custom alerts can be created and broadcast to users:Create an alert
Go to
/admin/create/alerts, fill in the alert content, and POST to /admin/save-custom-alerts.Edit or delete
Edit at
/admin/edit/alert/{id} (POST to /admin/update-custom-alerts). Delete at /admin/custom/alerts/delete/{id}./admin/admin-alert-users-export) or PDF (/admin/admin-alert-pdf-export).
Exporting user data
All user list views support export in two formats:| User type | CSV | |
|---|---|---|
| Regular users | /admin/users/csv | /admin/users/pdf |
| Merchant users | /admin/merchant_users/csv | /admin/merchant_users/pdf |
| Doss users | /admin/doss-users/csv | /admin/doss-users/pdf |
| Admin users | /admin/admin-users/csv | /admin/admin-users/pdf |
startfrom and endto query parameters.
Role assignment
Roles are managed separately from user accounts:- Admin roles —
/admin/settings/roles(permission:view_role) - User roles —
/admin/settings/user_role(permission:view_group) - Merchant groups —
/admin/settings/merchant-group(permission:view_merchant_group)
display_name, a user_type, and a set of granular permissions. When you create a user, the selected role ID is written to the role_users table via RoleUser::insert.
The
permission middleware gate enforces role-based access on every admin route. A user without the required permission will be blocked from that route even if they are authenticated.Per-user data views
From a user’s record you can access:- Transaction history —
/admin/users/transactions/{id} - Wallet balances —
/admin/users/wallets/{id} - Support tickets —
/admin/users/tickets/{id} - Disputes —
/admin/users/disputes/{id}