Skip to main content

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

FieldTypeRequiredDescription
companyIdString (UUID)YesTarget company ID
firstNameStringYesUser first name
lastNameStringNoUser last name
emailStringYesValid unique email address
passwordStringNoInitial password (Default: "Password123!")
phoneStringNoContact phone number
departmentIdString (UUID)NoAssigned department ID
bandIdString (UUID)NoAssigned Employee Band ID (Defaults to Company Band 1)
roleEnumNoCOMPANY_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 User and assigning role mapping under companyId.