diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/GroupController.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/GroupController.java
index d646a5e51836736cc0a3818f8d08e0f520d25d9c..f29dfed771ebd26ca850c3b264ebaa465529ab35 100644
--- a/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/GroupController.java
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/controller/group/GroupController.java
@@ -3,6 +3,8 @@ package ntnu.idatt2016.v233.SmartMat.controller.group;
 import lombok.AllArgsConstructor;
 import ntnu.idatt2016.v233.SmartMat.dto.request.group.GroupConnectionRequest;
 import ntnu.idatt2016.v233.SmartMat.dto.request.group.GroupRequest;
+import ntnu.idatt2016.v233.SmartMat.dto.response.group.GroupDetailsResponse;
+import ntnu.idatt2016.v233.SmartMat.dto.response.group.UserAuthorityInfo;
 import ntnu.idatt2016.v233.SmartMat.dto.response.group.GroupResponse;
 import ntnu.idatt2016.v233.SmartMat.entity.group.Group;
 import ntnu.idatt2016.v233.SmartMat.entity.group.UserGroupAsso;
@@ -13,10 +15,7 @@ import ntnu.idatt2016.v233.SmartMat.service.user.UserService;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
 
 /**
  * Controller for groups API, providing endpoints for group management
@@ -51,25 +50,28 @@ public class GroupController {
      * @return a ResponseEntity containing the group if it exists, or a 404 if it doesn't
      */
     @GetMapping("/{groupId}")
-    public ResponseEntity<?> getGroupById(@PathVariable("groupId") long groupId){
+    public ResponseEntity<?> getGroupById(@PathVariable("groupId") long groupId) {
         Optional<Group> group = groupService.getGroupById(groupId);
-        if(group.isPresent()) {
+        if (group.isPresent()) {
             List<UserGroupAsso> users = group.get().getUser();
-            Map<String, String> usernames = new HashMap<>();
-            for (UserGroupAsso user : users) {
-                String userAuthority = groupService.getUserGroupAsso(user.getUser().getUsername(), groupId)
-                                .get().getGroupAuthority();
+            List<UserAuthorityInfo> userAuthorityInfoList = new ArrayList<>();
 
-                if(groupService.getUserGroupAsso(user.getUser().getUsername(), groupId).isPresent()) {
-                    usernames.put(user.getUser().getUsername(), userAuthority);
+            for (UserGroupAsso user : users) {
+                Optional<UserGroupAsso> userGroupAsso = groupService.getUserGroupAsso(user.getUser().getUsername(), groupId);
+                if (userGroupAsso.isPresent()) {
+                    String userAuthority = userGroupAsso.get().getGroupAuthority();
+                    userAuthorityInfoList.add(new UserAuthorityInfo(user.getUser().getUsername(), userAuthority));
                 }
-                usernames.put(user.getUser().getUsername(), userAuthority);
             }
-            return ResponseEntity.ok(usernames);
+
+            GroupDetailsResponse groupDetailsResponse = new GroupDetailsResponse(group.get(), userAuthorityInfoList);
+
+            return ResponseEntity.ok(groupDetailsResponse);
         }
         return ResponseEntity.badRequest().body("Group not found.");
     }
 
+
     /**
      * Creates a new group
      *
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/dto/response/group/GroupDetailsResponse.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/dto/response/group/GroupDetailsResponse.java
new file mode 100644
index 0000000000000000000000000000000000000000..38016d4483fdc93b461f2d30e4d6833b1f23f52d
--- /dev/null
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/dto/response/group/GroupDetailsResponse.java
@@ -0,0 +1,20 @@
+package ntnu.idatt2016.v233.SmartMat.dto.response.group;
+
+import lombok.Data;
+import ntnu.idatt2016.v233.SmartMat.entity.group.Group;
+
+import java.util.List;
+
+@Data
+public class GroupDetailsResponse {
+    private long groupId;
+    private String linkCode;
+    private List<UserAuthorityInfo> userAuthorityInfoList;
+
+    public GroupDetailsResponse(Group group, List<UserAuthorityInfo> userAuthorityInfoList) {
+        this.groupId = group.getGroupId();
+        this.linkCode = group.getLinkCode();
+        this.userAuthorityInfoList = userAuthorityInfoList;
+    }
+}
+
diff --git a/src/main/java/ntnu/idatt2016/v233/SmartMat/dto/response/group/UserAuthorityInfo.java b/src/main/java/ntnu/idatt2016/v233/SmartMat/dto/response/group/UserAuthorityInfo.java
new file mode 100644
index 0000000000000000000000000000000000000000..260607e221010a347b09abd68d3ddd2033831832
--- /dev/null
+++ b/src/main/java/ntnu/idatt2016/v233/SmartMat/dto/response/group/UserAuthorityInfo.java
@@ -0,0 +1,3 @@
+package ntnu.idatt2016.v233.SmartMat.dto.response.group;
+
+public record UserAuthorityInfo(String username, String authority) {}