aboutsummaryrefslogtreecommitdiff
path: root/docs/Admin-API.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/Admin-API.md')
-rw-r--r--docs/Admin-API.md100
1 files changed, 100 insertions, 0 deletions
diff --git a/docs/Admin-API.md b/docs/Admin-API.md
new file mode 100644
index 000000000..3b19d1aa6
--- /dev/null
+++ b/docs/Admin-API.md
@@ -0,0 +1,100 @@
+# Admin API
+Authentication is required and the user must be an admin.
+
+## `/api/pleroma/admin/user`
+### Remove a user
+* Method `DELETE`
+* Params:
+ * `nickname`
+* Response: User’s nickname
+### Create a user
+* Method: `POST`
+* Params:
+ * `nickname`
+ * `email`
+ * `password`
+* Response: User’s nickname
+
+## `/api/pleroma/admin/users/tag`
+### Tag a list of users
+* Method: `PUT`
+* Params:
+ * `nickname`
+ * `tags`
+### Untag a list of users
+* Method: `DELETE`
+* Params:
+ * `nickname`
+ * `tags`
+
+## `/api/pleroma/admin/permission_group/:nickname`
+### Get user user permission groups membership
+* Method: `GET`
+* Params: none
+* Response:
+```JSON
+{
+ "is_moderator": bool,
+ "is_admin": bool
+}
+```
+
+## `/api/pleroma/admin/permission_group/:nickname/:permission_group`
+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
+* Method: `GET`
+* Params: none
+* Response:
+```JSON
+{
+ "is_moderator": bool,
+ "is_admin": bool
+}
+```
+### Add user in permission group
+* Method: `POST`
+* Params: none
+* Response:
+ * On failure: ``{"error": "…"}``
+ * On success: JSON of the ``user.info``
+### Remove user from permission group
+* Method: `DELETE`
+* Params: none
+* Response:
+ * On failure: ``{"error": "…"}``
+ * On success: JSON of the ``user.info``
+* Note: An admin cannot revoke their own admin status.
+
+## `/api/pleroma/admin/relay`
+### Follow a Relay
+* Methods: `POST`
+* Params:
+ * `relay_url`
+* Response:
+ * On success: URL of the followed relay
+### Unfollow a Relay
+* Methods: `DELETE`
+* Params:
+ * `relay_url`
+* Response:
+ * On success: URL of the unfollowed relay
+
+## `/api/pleroma/admin/invite_token`
+### Get a account registeration invite token
+* Methods: `GET`
+* Params: none
+* Response: invite token (base64 string)
+
+## `/api/pleroma/admin/email_invite`
+### Sends registration invite via email
+* Methods: `POST`
+* Params:
+ * `email`
+ * `name`, optionnal
+
+## `/api/pleroma/admin/password_reset`
+### Get a password reset token for a given nickname
+* Methods: `GET`
+* Params: none
+* Response: password reset token (base64 string)