aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/Admin-API.md100
-rw-r--r--docs/Pleroma-API.md5
-rw-r--r--mix.exs2
3 files changed, 105 insertions, 2 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)
diff --git a/docs/Pleroma-API.md b/docs/Pleroma-API.md
index 84a5924fa..da58babf9 100644
--- a/docs/Pleroma-API.md
+++ b/docs/Pleroma-API.md
@@ -92,4 +92,7 @@ Request parameters can be passed via [query strings](https://en.wikipedia.org/wi
"statusnet_blocking": false,
"statusnet_profile_url": "https://pleroma.soykaf.com/users/lain"
}
-``` \ No newline at end of file
+```
+
+## `/api/pleroma/admin/`…
+See [Admin-API](Admin-API.md)
diff --git a/mix.exs b/mix.exs
index 837a00552..efdd4b7ed 100644
--- a/mix.exs
+++ b/mix.exs
@@ -21,7 +21,7 @@ defmodule Pleroma.Mixfile do
homepage_url: "https://pleroma.social/",
docs: [
logo: "priv/static/static/logo.png",
- extras: ["README.md", "docs/config.md", "docs/Pleroma-API.md"],
+ extras: ["README.md", "docs/config.md", "docs/Pleroma-API.md", "docs/Admin-API.md"],
main: "readme",
output: "priv/static/doc"
]