Create Company User API
Overview
Dedicated endpoint used by Company Admins to create employees, managers, or additional company admins under their corporate account.
- Endpoint:
/api/users/create-company-user - Method:
POST - Access: Company Admin / Super Admin
Request Body Schema
| Field | Type | Required | Description |
|---|---|---|---|
companyId | String (UUID) | Yes | Target company ID |
firstName | String | Yes | User first name |
lastName | String | No | User last name |
email | String | Yes | Valid unique email address |
password | String | No | Initial password (Default: "Password123!") |
phone | String | No | Contact phone number |
departmentId | String (UUID) | No | Assigned department ID |
bandId | String (UUID) | No | Assigned Employee Band ID (Defaults to Company Band 1) |
role | Enum | No | COMPANY_ADMIN, COMPANY_MANAGER, or COMPANY_EMPLOYEE (Default: COMPANY_EMPLOYEE) |
Request Body Example
{
"companyId": "c478a846-993d-4c8d-bf8d-d77cb3370e01",
"firstName": "Rohit",
"lastName": "Verma",
"email": "rohit.verma@abbott.com",
"password": "Password123!",
"phone": "+919876543211",
"departmentId": "d1234567-89ab-cdef-0123-456789abcdef",
"bandId": "b1234567-89ab-cdef-0123-456789abcdef",
"role": "COMPANY_MANAGER"
}
Success Response (201 Created)
{
"success": true,
"message": "Company user created successfully",
"data": {
"id": "u8888-uuid",
"email": "rohit.verma@abbott.com",
"firstName": "Rohit",
"lastName": "Verma",
"employeeBand": "Band 1",
"roles": [
"COMPANY_MANAGER"
],
"company": {
"id": "c478a846-993d-4c8d-bf8d-d77cb3370e01",
"name": "Abbott Healthcare"
},
"department": {
"id": "d1234567-89ab-cdef-0123-456789abcdef",
"name": "Marketing"
},
"band": {
"id": "b1234567-89ab-cdef-0123-456789abcdef",
"name": "Band 1",
"autoApprovalLimit": "7000.00"
}
}
}
Database Impact
- Tables:
users,roles,user_role_maps - Operations: Atomic transaction creating
Userand assigning role mapping undercompanyId.