From 286632dfa224f8b49cc8656a29efe17f4e2219a1 Mon Sep 17 00:00:00 2001 From: "Haelwenn (lanodan) Monnier" Date: Mon, 31 Dec 2018 12:13:17 +0100 Subject: [PATCH] Add docs/Admin-API.md [ci skip] --- docs/Admin-API.md | 100 ++++++++++++++++++++++++++++++++++++++++++++ docs/Pleroma-API.md | 5 ++- mix.exs | 2 +- 3 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 docs/Admin-API.md 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 @@ def project 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" ]