diff --git a/Tsi1.Api/Tsi1.Api/Controllers/UserController.cs b/Tsi1.Api/Tsi1.Api/Controllers/UserController.cs
index ac1b1b8b0df52c850b35dd1c4c1c15e5a6153b4f..e2abf687b6751ddbe19028264e3f2444c8b14269 100644
--- a/Tsi1.Api/Tsi1.Api/Controllers/UserController.cs
+++ b/Tsi1.Api/Tsi1.Api/Controllers/UserController.cs
@@ -300,6 +300,39 @@ namespace Tsi1.Api.Controllers
             return Ok(result.Data);
         }
 
+        [Authorize(Roles = UserTypes.FacultyAdmin)]
+        [HttpGet("GetStudents")]
+        public async Task<IActionResult> GetStudents()
+        {
+            var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
+
+            var result = await _userService.GetStudents(tenantId);
+
+            if (result.HasError)
+            {
+                return BadRequest(result.Message);
+            }
+
+            return Ok(result.Data);
+        }
+
+        [Authorize(Roles = UserTypes.FacultyAdmin)]
+        [HttpGet("GetProfessors")]
+        public async Task<IActionResult> GetProfessors()
+        {
+            var tenantId = int.Parse(HttpContext.User.Claims.FirstOrDefault(x => x.Type == "TenantId").Value);
+
+            var result = await _userService.GetProfessors(tenantId);
+
+            if (result.HasError)
+            {
+                return BadRequest(result.Message);
+            }
+
+            return Ok(result.Data);
+        }
+
+
         [Authorize(Roles = UserTypes.Student + ", " + UserTypes.Professor)]
         [HttpGet("GetById/{userId}")]
         public async Task<IActionResult> GetById(int userId)
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IUserService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IUserService.cs
index c031f87e8744a5e7cc82f8d7b610919d9ecd6ceb..1fbf3d8f98fe9bb37e97efba2d5df19c33f524bf 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IUserService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IUserService.cs
@@ -29,5 +29,9 @@ namespace Tsi1.BusinessLayer.Interfaces
         Task<ServiceResult<bool>> Delete(int userId);
 
         Task<ServiceResult<UserTypeDto>> GetUserType(int userId);
+
+        Task<ServiceResult<List<UserPreviewDto>>> GetStudents(int tenantId);
+
+        Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int tenantId);
     }
 }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/UserService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/UserService.cs
index d664244f7663cee6040ae15020d65d65dee635a2..f7710da8edce4efe65a498e4a24a6034da930c49 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Services/UserService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/UserService.cs
@@ -302,5 +302,35 @@ namespace Tsi1.BusinessLayer.Services
 
             return result;
         }
+
+        public async Task<ServiceResult<List<UserPreviewDto>>> GetStudents(int tenantId)
+        {
+            var result = new ServiceResult<List<UserPreviewDto>>();
+
+            var users = await _context.Users
+                .Where(x => x.UserType.Name == UserTypes.Student && x.TenantId == tenantId)
+                .ToListAsync();
+
+            var usersDto = _mapper.Map<List<UserPreviewDto>>(users);
+
+            result.Data = usersDto;
+
+            return result;
+        }
+
+        public async Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int tenantId)
+        {
+            var result = new ServiceResult<List<UserPreviewDto>>();
+
+            var users = await _context.Users
+                .Where(x => x.UserType.Name == UserTypes.Professor && x.TenantId == tenantId)
+                .ToListAsync();
+
+            var usersDto = _mapper.Map<List<UserPreviewDto>>(users);
+
+            result.Data = usersDto;
+
+            return result;
+        }
     }
 }