Assign User Managers API
Overview
Assigns or updates sequential approving managers (Manager 1, Manager 2, Manager 3) for a subordinate employee. Any user ID assigned as managerId acts as an approving manager for booking requests.
- Endpoint:
/api/users/assign-managers - Method:
POST - Access: Corporate Admin / Super Admin
Request Body Schema
| Field | Type | Required | Description |
|---|---|---|---|
subordinateId | String (UUID) | Yes | Subordinate employee user ID |
companyId | String (UUID) | No | Target company ID |
managers | Array | Yes | List of manager mappings (managerId, managerLevel: 1..3, isPrimary) |
Request Body Example
{
"subordinateId": "u1111111-1111-1111-1111-111111111111",
"companyId": "c478a846-993d-4c8d-bf8d-d77cb3370e01",
"managers": [
{
"managerId": "u2222222-2222-2222-2222-222222222222",
"managerLevel": 1,
"isPrimary": true
},
{
"managerId": "u3333333-3333-3333-3333-333333333333",
"managerLevel": 2,
"isPrimary": false
},
{
"managerId": "u4444444-4444-4444-4444-444444444444",
"managerLevel": 3,
"isPrimary": false
}
]
}
Success Response (200 OK)
{
"success": true,
"message": "User managers assigned successfully",
"data": [
{
"id": "umm1-uuid",
"subordinateId": "u1111111-1111-1111-1111-111111111111",
"managerId": "u2222222-2222-2222-2222-222222222222",
"managerLevel": 1,
"isPrimary": true,
"manager": {
"id": "u2222222-2222-2222-2222-222222222222",
"firstName": "Alex",
"lastName": "Manager1",
"email": "alex.m1@company.com"
}
}
]
}
Database Impact
- Tables:
user_manager_maps - Operations: Soft-deletes existing mappings for subordinate and creates/updates new
managerLevelentries.