Skip to main content
POST
/
api
/
v1
/
admin
/
users
curl -X POST "https://olive-gateway-a6ba.onrender.com/api/v1/admin/users" \
  -H "Authorization: Bearer ADMIN_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@olive.sl",
    "password": "SecureP@ss123",
    "first_name": "New",
    "last_name": "User",
    "phone_number": "+23277123456",
    "role": "support_user",
    "pep_access_authorized": false
  }'
{
  "success": true,
  "user_id": "123",
  "message": "User created successfully",
  "user": {
    "id": "123",
    "email": "newuser@olive.sl",
    "first_name": "New",
    "last_name": "User",
    "role": "support_user",
    "status": "active"
  }
}
Create a new admin/system user with specified role. Only system administrators can create users.

Request

Authorization
string
required
Bearer <token> - System Admin JWT

Body Parameters

email
string
required
Email address for login
password
string
required
Password (min 8 chars, uppercase, lowercase, number, special char)
first_name
string
required
First name
last_name
string
required
Last name
phone_number
string
Phone number for notifications
role
string
required
User role (see valid roles below)
pep_access_authorized
boolean
Grant access to PEP accounts

Valid Roles

RoleDescription
system_adminFull system access
compliance_userCompliance monitoring
support_userCustomer support
sales_userSales operations
audit_userAudit/reporting access
super_agentAgent network manager
sub_agentField agent

Response

success
boolean
Whether user was created
user_id
string
New user ID
message
string
Status message
user
object
Created user details

Examples

curl -X POST "https://olive-gateway-a6ba.onrender.com/api/v1/admin/users" \
  -H "Authorization: Bearer ADMIN_JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "newuser@olive.sl",
    "password": "SecureP@ss123",
    "first_name": "New",
    "last_name": "User",
    "phone_number": "+23277123456",
    "role": "support_user",
    "pep_access_authorized": false
  }'
{
  "success": true,
  "user_id": "123",
  "message": "User created successfully",
  "user": {
    "id": "123",
    "email": "newuser@olive.sl",
    "first_name": "New",
    "last_name": "User",
    "role": "support_user",
    "status": "active"
  }
}

Notes

  • Credentials are sent via WhatsApp if phone_number is provided
  • Password must meet security requirements
  • Only system_admin role can create new users

Errors

StatusCodeDescription
400INVALID_REQUESTInvalid request or weak password
403FORBIDDENNot authorized to create users
409USER_EXISTSUser with email already exists