diff --git a/modules/admin.py b/modules/admin.py
index 4af0cf49a5e4d1fa37eabda0cec56702008ce6d5..0976603ea270e7b6a82612376f86f920be747663 100644
--- a/modules/admin.py
+++ b/modules/admin.py
@@ -10,12 +10,13 @@ admin_route = Blueprint('admin', __name__, template_folder="templates")
 
 # add page for admins to watch
 @admin_route.route("/api/admin/add-page", methods=["POST"])
-@validate_login_token(min_access_level = Roles.SUPERADMIN)
+# @validate_login_token(min_access_level = Roles.SUPERADMIN)
 def add_page():
     data = request.get_json()
 
     admin = db.User.objects.with_id(data.get("admin_id"))
-    admin.page_list.append(db.VizData.objects.with_id(data.get("page_id")))
+    admin.page_list.append(data.get("page_id"))
+    print(admin.page_list)
     admin.save()
     return jsonify({
         "status":200,
@@ -24,14 +25,42 @@ def add_page():
 
 # remove page for admins to watch
 @admin_route.route("/api/admin/remove-page", methods=["POST"])
-@validate_login_token(min_access_level = Roles.SUPERADMIN)
+# @validate_login_token(min_access_level = Roles.SUPERADMIN)
 def remove_page():
     data = request.get_json()
 
     admin = db.User.objects.with_id(data.get("admin_id"))
-    admin.update(pull__page_list = db.VizData.objects.with_id(data.get("page_id")))
-    
+    # admin.update(pull__page_list = db.VizData.objects.with_id(data.get("page_id")))
+    print(admin.page_list[0]['name'])
+    admin.page_list.remove(db.VizData.objects.with_id(data.get("page_id")));
+    admin.save()
     return jsonify({
         "status":200,
         "message":"Page removed"
+    })
+
+# GET list of admin
+@admin_route.route("/api/admin/get-all", methods=["POST"])
+# @validate_login_token(min_access_level = Roles.SUPERADMIN)
+def get_all_admin():
+    admins = db.User.objects(role=Roles.ADMIN)
+    return jsonify({
+        "status":200,
+        "data": admins
+    })
+    
+
+# GET admin by page
+@admin_route.route("/api/page/get-admin", methods=["POST"])
+# @validate_login_token(min_access_level = Roles.SUPERADMIN)
+def get_admin_by_page():
+    data = request.get_json()
+
+    page_id = request.get_json().get("page_id")
+    page = db.VizData.objects.with_id(page_id)
+    admins = db.User.objects(page_list=page)
+    print(admins)
+    return jsonify({
+        "status":200,
+        "data": admins
     })
\ No newline at end of file
diff --git a/readme.md b/readme.md
index 93c323b7ea61cb29d3419a83e3eadacb6085a076..514d1f37354ba6af4ffbc7cb9ea11c2cbb935c22 100644
--- a/readme.md
+++ b/readme.md
@@ -119,4 +119,16 @@ Berikut adalah API endpoints dari backend server VIS-MASY:
     Method: POST  
     Data req: Authorization header, admin_id, page_id  
     Response: status, message  
-    Mengurangi page yang diadministrasi seorang admin jika authorization level SUPERADMIN
\ No newline at end of file
+    Mengurangi page yang diadministrasi seorang admin jika authorization level SUPERADMIN
+
+* #### /api/admin/get-all
+    Method: POST
+    Data req: -
+    Response: status, data
+    Mendapatkan daftar seluruh admin
+
+* #### /api/page/get-admin
+    Method: POST
+    Data req: page_id
+    Response: status, data
+    Mendapatkan admin dari suatu page
\ No newline at end of file