Add more user filters + move search to its own module
[akkoma] / docs / Admin-API.md
index 407647645655a2db461007f177a3253ff4f42991..84adca6ff335df38077ade0c73500bc0f6270df3 100644 (file)
@@ -7,36 +7,16 @@ Authentication is required and the user must be an admin.
 ### List users
 
 - Method `GET`
-- Params:
-  - `page`: **integer** page number
-  - `page_size`: **integer** number of users per page (default is `50`)
-- Response:
-
-```JSON
-{
-  "page_size": integer,
-  "count": integer,
-  "users": [
-    {
-      "deactivated": bool,
-      "id": integer,
-      "nickname": string
-    },
-    ...
-  ]
-}
-```
-
-## `/api/pleroma/admin/users/search?query={query}&local={local}&page={page}&page_size={page_size}`
-
-### Search users by name or nickname
-
-- Method `GET`
-- Params:
-  - `query`: **string** search term
-  - `local`: **bool** whether to return only local users
-  - `page`: **integer** page number
-  - `page_size`: **integer** number of users per page (default is `50`)
+- Query Params:
+  - *optional* `query`: **string** search term
+  - *optional* `filters`: **string** comma-separated string of filters:
+    - `local`: only local users
+    - `external`: only external users
+    - `active`: only active users
+    - `deactivated`: only deactivated users
+  - *optional* `page`: **integer** page number
+  - *optional* `page_size`: **integer** number of users per page (default is `50`)
+- Example: `https://mypleroma.org/api/pleroma/admin/users?query=john&filters=local,active&page=1&page_size=10`
 - Response:
 
 ```JSON
@@ -47,7 +27,13 @@ Authentication is required and the user must be an admin.
     {
       "deactivated": bool,
       "id": integer,
-      "nickname": string
+      "nickname": string,
+      "roles": {
+        "admin": bool,
+        "moderator": bool
+      },
+      "local": bool,
+      "tags": array
     },
     ...
   ]
@@ -124,7 +110,7 @@ Authentication is required and the user must be an admin.
 
 Note: Available `:permission_group` is currently moderator and admin. 404 is returned when the permission group doesn’t exist.
 
-### Get user user permission groups membership
+### Get user user permission groups membership per permission group
 
 - Method: `GET`
 - Params: none