diff --git a/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs b/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs
index cb90fae29fb465e9298dddbe750edfbf5e5677c3..07e1566697c0d69bfc9157b5d449be5cf4a9f575 100644
--- a/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs
+++ b/Tsi1.Api/Tsi1.Api/Controllers/CourseController.cs
@@ -14,6 +14,7 @@ using Tsi1.BusinessLayer.Interfaces;
 
 namespace Tsi1.Api.Controllers
 {
+    [Authorize]
     [Route("api/[controller]")]
     [ApiController]
     public class CourseController : ControllerBase
@@ -220,5 +221,18 @@ namespace Tsi1.Api.Controllers
             return Ok();
         }
 
+
+        [HttpGet("GetProfessors/{courseId}")]
+        public async Task<IActionResult> GetProfessors(int courseId)
+        {
+            var result = await _courseService.GetProfessors(courseId);
+            if (result.HasError)
+            {
+                return BadRequest(result.Message);
+            }
+
+            return Ok(result.Data);
+        }
+
     }
 }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Dtos/UserDetailDto.cs b/Tsi1.Api/Tsi1.BusinessLayer/Dtos/UserDetailDto.cs
new file mode 100644
index 0000000000000000000000000000000000000000..6bf61369e938f72b9bb4da9afb07cebf05bf368b
--- /dev/null
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Dtos/UserDetailDto.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Tsi1.BusinessLayer.Dtos
+{
+    public class UserDetailDto
+    {
+        public int Id { get; set; }
+
+        public string Username { get; set; }
+
+        public string FirstName { get; set; }
+
+        public string LastName { get; set; }
+
+        public StudentPreviewDto Student { get; set; }
+
+        public ProfessorPreviewDto Professor { get; set; }
+    }
+}
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Dtos/UserPreviewDto.cs b/Tsi1.Api/Tsi1.BusinessLayer/Dtos/UserPreviewDto.cs
index 1c9804bd001f492f7f22dd84357ef2b56b528790..c29cc7432efa4a6d37945ba05c0078603f8dd0ac 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Dtos/UserPreviewDto.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Dtos/UserPreviewDto.cs
@@ -8,14 +8,10 @@ namespace Tsi1.BusinessLayer.Dtos
     {
         public int Id { get; set; }
 
-        public string Username { get; set; }
-
         public string FirstName { get; set; }
 
         public string LastName { get; set; }
 
-        public StudentPreviewDto Student { get; set; }
-
-        public ProfessorPreviewDto Professor { get; set; }
+        public string Email { get; set; }
     }
 }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs b/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs
index 00a67f4141fbdb357d1dc3552ed02951b200b20c..70331a3460dc0b13a3efd4f20f128faa0ac94a10 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Helpers/MappingProfile.cs
@@ -20,9 +20,10 @@ namespace Tsi1.BusinessLayer.Helpers
             CreateMap<PostMessage, PostMessagePreviewDto>();
             CreateMap<Message, MessagePreviewDto>();
             CreateMap<Message, MessageCreateDto>();
-            CreateMap<User, UserPreviewDto>();
+            CreateMap<User, UserDetailDto>();
             CreateMap<User, UserRegisterDto>();
             CreateMap<User, UserModifyDto>();
+            CreateMap<User, UserPreviewDto>();
             CreateMap<Student, StudentPreviewDto>();
             CreateMap<Professor, ProfessorPreviewDto>();
             CreateMap<Course, CourseCreateDto>();
@@ -41,9 +42,10 @@ namespace Tsi1.BusinessLayer.Helpers
             CreateMap<PostMessagePreviewDto, PostMessage>();
             CreateMap<MessagePreviewDto, Message>();
             CreateMap<MessageCreateDto, Message>();
-            CreateMap<UserPreviewDto, User>();
+            CreateMap<UserDetailDto, User>();
             CreateMap<UserRegisterDto, User>();
             CreateMap<UserModifyDto, User>();
+            CreateMap<UserPreviewDto, User>();
             CreateMap<StudentPreviewDto, Student>();
             CreateMap<ProfessorPreviewDto, Professor>();
             CreateMap<CourseCreateDto, Course>();
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ICourseService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ICourseService.cs
index f13641f98f895d1f846b25bda95135e3a6b5be64..54b167f3278d6340d0fe16f2282c89dd400df7da 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ICourseService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/ICourseService.cs
@@ -27,5 +27,6 @@ namespace Tsi1.BusinessLayer.Interfaces
         Task<ServiceResult<bool>> DropOutFromCourse(int userId, int courseId);
 
         Task<ServiceResult<bool>> RemoveProfessorToCourse(ProfessorCourseDto professorCourseDto);
+        Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int courseId);
     }
 }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IUserService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IUserService.cs
index 54550814463757e24870ae34bb6b51a68217ce11..c031f87e8744a5e7cc82f8d7b610919d9ecd6ceb 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IUserService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Interfaces/IUserService.cs
@@ -14,9 +14,9 @@ namespace Tsi1.BusinessLayer.Interfaces
 
         Task<ServiceResult<User>> Create(UserRegisterDto dto, string type, int tenantId);
 
-        Task<ServiceResult<List<UserPreviewDto>>> GetAll(int tenantId);
+        Task<ServiceResult<List<UserDetailDto>>> GetAll(int tenantId);
 
-        Task<ServiceResult<UserPreviewDto>> GetById(int userId);
+        Task<ServiceResult<UserDetailDto>> GetById(int userId);
 
         Task<ServiceResult<User>> GetByUsername(string username, int tenantId);
 
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/CourseService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/CourseService.cs
index 6930b541c7218a1262f4c772951d1d29ef787be3..88c42781b34915538f046da2dd4a1682a96c72a5 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Services/CourseService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/CourseService.cs
@@ -323,5 +323,23 @@ namespace Tsi1.BusinessLayer.Services
 
             return result;
         }
+
+        public async Task<ServiceResult<List<UserPreviewDto>>> GetProfessors(int courseId)
+        {
+            var result = new ServiceResult<List<UserPreviewDto>>();
+
+            var users = await _context.ProfessorCourses
+                .Include(x => x.Professor)
+                    .ThenInclude(x => x.User)
+                .Where(x => x.CourseId == courseId)
+                .Select(x => x.Professor.User)
+                .ToListAsync();
+
+            var userDtos = _mapper.Map<List<UserPreviewDto>>(users);
+
+            result.Data = userDtos;
+
+            return result;
+        }
     }
 }
diff --git a/Tsi1.Api/Tsi1.BusinessLayer/Services/UserService.cs b/Tsi1.Api/Tsi1.BusinessLayer/Services/UserService.cs
index 3a54107291fd41bd09bd26976997cfe64e3788e7..d664244f7663cee6040ae15020d65d65dee635a2 100644
--- a/Tsi1.Api/Tsi1.BusinessLayer/Services/UserService.cs
+++ b/Tsi1.Api/Tsi1.BusinessLayer/Services/UserService.cs
@@ -135,24 +135,24 @@ namespace Tsi1.BusinessLayer.Services
             return result;
         }
 
-        public async Task<ServiceResult<List<UserPreviewDto>>> GetAll(int tenantId)
+        public async Task<ServiceResult<List<UserDetailDto>>> GetAll(int tenantId)
         {
-            var result = new ServiceResult<List<UserPreviewDto>>();
+            var result = new ServiceResult<List<UserDetailDto>>();
 
             var users = await _context.Users
                 .Where(x => x.UserType.Name != UserTypes.FacultyAdmin && x.TenantId == tenantId)
                 .ToListAsync();
 
-            var usersDto = _mapper.Map<List<UserPreviewDto>>(users);
+            var usersDto = _mapper.Map<List<UserDetailDto>>(users);
 
             result.Data = usersDto;
 
             return result;
         }
 
-        public async Task<ServiceResult<UserPreviewDto>> GetById(int userId)
+        public async Task<ServiceResult<UserDetailDto>> GetById(int userId)
         {
-            var result = new ServiceResult<UserPreviewDto>();
+            var result = new ServiceResult<UserDetailDto>();
 
             var user = await _context.Users
                 .Include(x => x.UserType)
@@ -182,7 +182,7 @@ namespace Tsi1.BusinessLayer.Services
                 return result;
             }
 
-            var userDto = _mapper.Map<UserPreviewDto>(user);
+            var userDto = _mapper.Map<UserDetailDto>(user);
 
             result.Data = userDto;