User Management
Documentation for the User Management Service
User Management Service
The User Management Service provides comprehensive functionality for managing users, organizations, and user groups within your application. This service handles org and user profile management, allowing for seamless user administration across your organization.
Architecture Overview
The User Management Service is built on a Node.js backend with MongoDB for data persistence. It utilizes an Inversify container for dependency injection and includes several key components:
- User Management - Core functionality for managing user accounts
- Organization Management - Controls organization-level settings and configurations
- User Groups Management - Manages permissions and access control through user groups
The service integrates with other components such as:
- Auth Service - Handles authentication methods and user credentials
- IAM Service - Manages permissions and authorization
- Mail Service - Sends notifications and invitations
- Configuration Manager - Manages application settings
Data Models
Organizations
Organizations represent the top-level entity that contains users and groups:
- Organization metadata (name, domain, contact information)
- Organization settings and configurations
- Onboarding status tracking
Users
Users represent individual accounts within an organization:
- Profile information (name, email, contact details)
- Organization membership
- Authentication status
User Groups
User Groups provide role-based access control within organizations:
- Group types (admin, standard, everyone, custom)
- User memberships
- Access permissions
Organization API
The Organization API enables managing organization-level settings and configurations.
Check Organization Existence
Checks if any organization exists in the system.
Create Organization
Creates a new organization in the system.
Get Organization
Retrieves the authenticated user’s organization details.
Update Organization
Updates organization details.
Get Onboarding Status
Retrieves the current onboarding status of the organization.
Update Onboarding Status
Updates the organization’s onboarding status.
Upload Organization Logo
Uploads a logo for the organization.
Get Organization Logo
Retrieves the organization’s logo.
Delete Organization Logo
Removes the organization’s logo.
Users API
The Users API provides endpoints for managing users within an organization.
Get All Users
Retrieves all users in the authenticated user’s organization.
Get All Users With Groups
Retrieves all users along with their associated groups.
Get User by ID
Retrieves a specific user by their ID.
Create User
Creates a new user in the organization.
Update User
Updates a user’s information.
Update User Specific Fields
The following endpoints update specific user fields:
Update Full Name
Update First Name
Update Last Name
Update Designation
Update Email
Bulk Invite Users
Invites multiple users to the organization by email.
Resend User Invite
Resends an invitation to a specific user.
Delete User
Soft-deletes a user from the organization.
Upload User Display Picture
Uploads a profile picture for the authenticated user.
Get User Display Picture
Retrieves the authenticated user’s profile picture.
Delete User Display Picture
Removes the authenticated user’s profile picture.
User Groups API
The User Groups API manages group-based access control within organizations.
Create User Group
Creates a new user group in the organization.
Get All User Groups
Retrieves all user groups in the organization.
Get User Group By ID
Retrieves a specific user group by its ID.
Update User Group
Updates a user group’s information.
Delete User Group
Soft-deletes a user group.
Add Users to Groups
Adds multiple users to multiple groups.
Remove Users from Groups
Removes multiple users from multiple groups.
Get Users in Group
Retrieves all users in a specific group.
Get Groups for User
Retrieves all groups that a specific user belongs to.
Get Group Statistics
Retrieves statistics about all groups in the organization.