X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=docs%2FAdmin-API.md;h=2edb31f3c2e71c6ac4b4a63083e386960c3cc80f;hb=a3a9cec4835738216800d2cebd295fb8dbf10f34;hp=016444d5874048696b2fbd2e619fd3ad79143cfc;hpb=6fe7acd58ecf2e12bc03499ba43351ff111d4385;p=akkoma diff --git a/docs/Admin-API.md b/docs/Admin-API.md index 016444d58..2edb31f3c 100644 --- a/docs/Admin-API.md +++ b/docs/Admin-API.md @@ -1,108 +1,182 @@ # Admin API + Authentication is required and the user must be an admin. +## `/api/pleroma/admin/users` + +### List users + +- Method `GET` +- Query Params: + - `query`: **string** *optional* search term + - `local_only`: **bool** *optional* whether to return only local users + - `page`: **integer** *optional* page number + - `page_size`: **integer** *optional* 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/user` + ### Remove a user -* Method `DELETE` -* Params: - * `nickname` -* Response: User’s nickname + +- Method `DELETE` +- Params: + - `nickname` +- Response: User’s nickname + ### Create a user -* Method: `POST` -* Params: - * `nickname` - * `email` - * `password` -* Response: User’s nickname + +- Method: `POST` +- Params: + - `nickname` + - `email` + - `password` +- Response: User’s nickname + +## `/api/pleroma/admin/users/:nickname/toggle_activation` + +### Toggle user activation + +- Method: `PATCH` +- Params: + - `nickname` +- Response: User’s object + +```JSON +{ + "deactivated": bool, + "id": integer, + "nickname": string +} +``` ## `/api/pleroma/admin/users/tag` + ### Tag a list of users -* Method: `PUT` -* Params: - * `nickname` - * `tags` + +- Method: `PUT` +- Params: + - `nickname` + - `tags` + ### Untag a list of users -* Method: `DELETE` -* Params: - * `nickname` - * `tags` + +- Method: `DELETE` +- Params: + - `nickname` + - `tags` ## `/api/pleroma/admin/permission_group/:nickname` + ### Get user user permission groups membership -* Method: `GET` -* Params: none -* Response: + +- Method: `GET` +- Params: none +- Response: + ```JSON { - "is_moderator": bool, - "is_admin": bool + "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: + +- Method: `GET` +- Params: none +- Response: + ```JSON { - "is_moderator": bool, - "is_admin": bool + "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`` + +- 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. + +- 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/activation_status/:nickname` ### Active or deactivate a user -* Method: `PUT` -* Params: - * `nickname` - * `status` BOOLEAN field, false value means deactivation. + +- Method: `PUT` +- Params: + - `nickname` + - `status` BOOLEAN field, false value means deactivation. ## `/api/pleroma/admin/relay` + ### Follow a Relay -* Methods: `POST` -* Params: - * `relay_url` -* Response: - * On success: URL of the followed 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 + +- 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) + +- 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 + +- 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) + +- Methods: `GET` +- Params: none +- Response: password reset token (base64 string)