diff --git a/src/main/java/polish_community_group_11/polish_community/admin/controllers/AdminApiController.java b/src/main/java/polish_community_group_11/polish_community/admin/controllers/AdminApiController.java
new file mode 100644
index 0000000000000000000000000000000000000000..8f8aea46bc9aab8de1c2920cc4eaf5810cd97798
--- /dev/null
+++ b/src/main/java/polish_community_group_11/polish_community/admin/controllers/AdminApiController.java
@@ -0,0 +1,26 @@
+package polish_community_group_11.polish_community.admin.controllers;
+
+import org.springframework.web.bind.annotation.*;
+import polish_community_group_11.polish_community.admin.models.AdminBoard;
+import polish_community_group_11.polish_community.admin.models.ManageUser;
+import polish_community_group_11.polish_community.admin.services.AdminService;
+
+@RestController
+public class AdminApiController {
+    private final AdminService adminService;
+
+    public AdminApiController(AdminService adminService) {
+        this.adminService = adminService;
+    }
+
+    @PutMapping("admin/edit/role/{role_name}")
+    public void changeUserRole(@PathVariable("role_name") String role_name,
+                               @ModelAttribute ManageUser user){
+        adminService.updateUserRole(user,role_name);
+    }
+
+    @DeleteMapping("admin/delete/{user_id}")
+    public void removeUser(@PathVariable("user_id") int user_id){
+        adminService.deleteUser(user_id);
+    }
+}
diff --git a/src/main/java/polish_community_group_11/polish_community/admin/dao/AdminRepository.java b/src/main/java/polish_community_group_11/polish_community/admin/dao/AdminRepository.java
index 9cad39f168482d32e7060681171a1ce9c5c071e9..fc773c9c2ebee9fc262d606558029e60ccd3c723 100644
--- a/src/main/java/polish_community_group_11/polish_community/admin/dao/AdminRepository.java
+++ b/src/main/java/polish_community_group_11/polish_community/admin/dao/AdminRepository.java
@@ -9,4 +9,6 @@ import java.util.List;
 public interface AdminRepository {
     List<ManageUser> getUserManagementInfo() throws SQLException;
     AdminBoard getBoardManagementInfo() throws SQLException;
+    int updateUserRole(ManageUser user);
+    void deleteUser(int userId);
 }
diff --git a/src/main/java/polish_community_group_11/polish_community/admin/dao/AdminRepositoryImpl.java b/src/main/java/polish_community_group_11/polish_community/admin/dao/AdminRepositoryImpl.java
index 0f62d3a423ecf0a9626321c5227ad9141be0a7e8..3659da4df2575916d9de4b92d21b0c467a3beeed 100644
--- a/src/main/java/polish_community_group_11/polish_community/admin/dao/AdminRepositoryImpl.java
+++ b/src/main/java/polish_community_group_11/polish_community/admin/dao/AdminRepositoryImpl.java
@@ -31,6 +31,7 @@ public class AdminRepositoryImpl implements AdminRepository {
                         rs.getString("fullname"),
                         rs.getString("email"),
                         rs.getBoolean("enabled"),
+                        rs.getInt("role_id"),
                         rs.getString("role_name")
                 );
         };
@@ -93,4 +94,14 @@ public class AdminRepositoryImpl implements AdminRepository {
         }
         return dashboard;
     }
+
+    public int updateUserRole(ManageUser user){
+        String sql="UPDATE users SET role_id=? WHERE id =?";
+        return jdbc.update(sql,user.getRole_id(),user.getId());
+    }
+
+    public void deleteUser(int userId){
+        String sql="DELETE FROM users WHERE id =?";
+        jdbc.update(sql,userId);
+    }
 }
diff --git a/src/main/java/polish_community_group_11/polish_community/admin/models/ManageUser.java b/src/main/java/polish_community_group_11/polish_community/admin/models/ManageUser.java
index 73c638cb0f9cb0ad14cad5a818638042eaff43b2..154adb4de538e16958c18895c766c5ca242d1a63 100644
--- a/src/main/java/polish_community_group_11/polish_community/admin/models/ManageUser.java
+++ b/src/main/java/polish_community_group_11/polish_community/admin/models/ManageUser.java
@@ -12,5 +12,6 @@ public class ManageUser {
     private String fullName;
     private String email;
     private Boolean enabled;
+    private int role_id;
     private String role;
 }
diff --git a/src/main/java/polish_community_group_11/polish_community/admin/services/AdminService.java b/src/main/java/polish_community_group_11/polish_community/admin/services/AdminService.java
index da2d1b9a9d4958fa18968dd108be1d2c7c1c9d30..15340967d488bdb1149be2c762bee3aea8f23734 100644
--- a/src/main/java/polish_community_group_11/polish_community/admin/services/AdminService.java
+++ b/src/main/java/polish_community_group_11/polish_community/admin/services/AdminService.java
@@ -9,4 +9,6 @@ import java.util.List;
 public interface AdminService {
     List<ManageUser> getUserManagementInfo() throws SQLException;
     AdminBoard getBoardManagementInfo() throws SQLException;
+    void updateUserRole(ManageUser user,String roleName);
+    void deleteUser(int userId);
 }
diff --git a/src/main/java/polish_community_group_11/polish_community/admin/services/AdminServiceImpl.java b/src/main/java/polish_community_group_11/polish_community/admin/services/AdminServiceImpl.java
index b3e910351840621817894f80002d7faabaa2038c..2d7d6ebc58e91c7ead073250b3439a6873ccc6d5 100644
--- a/src/main/java/polish_community_group_11/polish_community/admin/services/AdminServiceImpl.java
+++ b/src/main/java/polish_community_group_11/polish_community/admin/services/AdminServiceImpl.java
@@ -21,4 +21,18 @@ public class AdminServiceImpl implements AdminService {
     public AdminBoard getBoardManagementInfo() throws SQLException{
         return adminRepository.getBoardManagementInfo();
     }
+
+    public void updateUserRole(ManageUser user, String roleName){
+        boolean needsUpdate=roleName.toLowerCase().equals(user.getRole().toLowerCase())?
+                false:true;
+        if(needsUpdate){
+            int updatedRoleId=roleName.toLowerCase().equals("admin")?1:2;
+            user.setRole_id(updatedRoleId);
+            adminRepository.updateUserRole(user);
+        }
+    }
+
+    public void deleteUser(int userId){
+        adminRepository.deleteUser(userId);
+    }
 }