# Add account user

This endpoint creates a new user within the currently active account
and assigns the specified roles and permissions.

Before user creation, the user’s email domain is validated against
the list of mail domains configured for the account. If the domain
is not allowed, the request is rejected.
            
Process overview:

- Validate the user’s email domain against configured account domains
- Create the user through the Identity Provider
- Update account user caches and licensing state
- Return the newly created user details and role information

Endpoint: POST /api/v1/account/users/add

## Request fields (application/json-patch+json):

  - `keyword` (string,null)

  - `userRoleIds` (array,null)

  - `teamId` (string,null)

  - `userId` (string)

  - `name` (string,null)

  - `firstName` (string,null)

  - `middleName` (string,null)

  - `lastName` (string,null)

  - `phoneNumber1` (string,null)

  - `phoneNumber2` (string,null)

  - `accountAccess` (object)

  - `accountAccess.loginName` (string,null)

  - `accountAccess.resetPasswordState` (boolean)

  - `accountAccess.activationDate` (string,null)

  - `accountAccess.expiryDate` (string,null)

  - `status` (object)

  - `status.id` (string)

  - `status.name` (string,null)

  - `status.code` (string,null)

  - `email` (string,null)

  - `timezone` (object)

  - `timezone.timezoneId` (string)

  - `timezone.timezoneName` (string,null)

  - `timezone.code` (string,null)

  - `timezone.supportsDaylightSavingTime` (boolean)

  - `timezone.daylightName` (string,null)

  - `profilePic` (string,null)

  - `userIds` (array,null)

  - `isSSOUser` (boolean)

  - `userRoles` (array,null)

  - `statusCode` (string,null)

  - `team` (object)

  - `team.accountOrgUnitId` (string)

  - `team.levelOrdinal` (integer)

  - `team.accountOrgUnitName` (string,null)

  - `team.accountOrgUnitCode` (string,null)

  - `team.parentAccountOrgUnitId` (string,null)

  - `team.subLevelUnits` (array,null)

  - `loginName` (string,null)

  - `statusDetails` (object)

  - `statusDetails.statusId` (integer)

  - `statusDetails.uniqueId` (string)

  - `statusDetails.statusName` (string,null)

  - `statusDetails.statusCode` (string,null)

  - `statusDetails.statusColor` (string,null)

  - `isEmployee` (boolean)

  - `employeeCode` (string,null)

  - `isTwoFactorEnabled` (boolean)

## Response 200 fields (text/plain):

  - `data` (object)

  - `data.userRoleModels` (array,null)

  - `data.userRoleModels.userRoleId` (string)

  - `data.userRoleModels.userRoleName` (string,null)

  - `data.userRoleModels.noofUsers` (integer)

  - `data.userRoleModels.users` (array,null)

  - `data.userRoleModels.users.id` (string)

  - `data.userRoleModels.users.userId` (string)

  - `data.userRoleModels.users.name` (string,null)

  - `data.userRoleModels.users.email` (string,null)

  - `data.userRoleModels.users.profilePic` (string,null)

  - `data.userRoleModels.privileges` (array,null)

  - `data.userRoleModels.privileges.privilegeName` (string,null)

  - `data.userRoleModels.privileges.privilegeId` (string)

  - `data.userRoleModels.privileges.privilegeCode` (string,null)

  - `data.userRoleModels.privileges.accessType` (object)

  - `data.userRoleModels.privileges.accessType.accessTypeName` (string,null)

  - `data.userRoleModels.privileges.accessType.accessTypeId` (string)

  - `data.userRoleModels.privileges.accessLevel` (object)

  - `data.userRoleModels.privileges.accessLevel.accessLevelName` (string,null)

  - `data.userRoleModels.privileges.accessLevel.accessLevelId` (string)

  - `data.userRoleModels.privileges.accessMode` (object)

  - `data.userRoleModels.privileges.accessMode.accessModeName` (string,null)

  - `data.userRoleModels.privileges.accessMode.accessModeId` (string)

  - `data.userRoleModels.privileges.responseDescription` (string,null)

  - `data.userRoleModels.isLicensed` (boolean)

  - `data.userRoleModels.isDefault` (boolean)

  - `data.userRoleModels.responseDescription` (string,null)

  - `data.activationDateString` (string,null)

  - `data.expiryDateString` (string,null)

  - `data.responseDescription` (string,null)

  - `data.userId` (string)

  - `data.name` (string,null)

  - `data.firstName` (string,null)

  - `data.middleName` (string,null)

  - `data.lastName` (string,null)

  - `data.phoneNumber1` (string,null)

  - `data.phoneNumber2` (string,null)

  - `data.accountAccess` (object)

  - `data.accountAccess.loginName` (string,null)

  - `data.accountAccess.resetPasswordState` (boolean)

  - `data.accountAccess.activationDate` (string,null)

  - `data.accountAccess.expiryDate` (string,null)

  - `data.status` (object)

  - `data.status.id` (string)

  - `data.status.name` (string,null)

  - `data.status.code` (string,null)

  - `data.email` (string,null)

  - `data.timezone` (object)

  - `data.timezone.timezoneId` (string)

  - `data.timezone.timezoneName` (string,null)

  - `data.timezone.code` (string,null)

  - `data.timezone.supportsDaylightSavingTime` (boolean)

  - `data.timezone.daylightName` (string,null)

  - `data.profilePic` (string,null)

  - `data.userIds` (array,null)

  - `data.isSSOUser` (boolean)

  - `data.userRoles` (array,null)

  - `data.statusCode` (string,null)

  - `data.team` (object)

  - `data.team.accountOrgUnitId` (string)

  - `data.team.levelOrdinal` (integer)

  - `data.team.accountOrgUnitName` (string,null)

  - `data.team.accountOrgUnitCode` (string,null)

  - `data.team.parentAccountOrgUnitId` (string,null)

  - `data.team.subLevelUnits` (array,null)

  - `data.loginName` (string,null)

  - `data.statusDetails` (object)

  - `data.statusDetails.statusId` (integer)

  - `data.statusDetails.uniqueId` (string)

  - `data.statusDetails.statusName` (string,null)

  - `data.statusDetails.statusCode` (string,null)

  - `data.statusDetails.statusColor` (string,null)

  - `data.isEmployee` (boolean)

  - `data.employeeCode` (string,null)

  - `data.isTwoFactorEnabled` (boolean)

  - `message` (string,null)

  - `isError` (boolean)

  - `messageCode` (integer)

  - `status` (string,null)

  - `errorType` (string,null)

  - `traceid` (string,null)

  - `responseDescription` (string,null)


