Add docs/Admin-API.md

[ci skip]
This commit is contained in:
Haelwenn (lanodan) Monnier 2018-12-31 12:13:17 +01:00
parent 33e3a7ba7d
commit 286632dfa2
No known key found for this signature in database
GPG Key ID: D5B7A8E43C997DEE
3 changed files with 105 additions and 2 deletions

100
docs/Admin-API.md Normal file
View File

@ -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: Users nickname
### Create a user
* Method: `POST`
* Params:
* `nickname`
* `email`
* `password`
* Response: Users 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 doesnt 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)

View File

@ -92,4 +92,7 @@ Request parameters can be passed via [query strings](https://en.wikipedia.org/wi
"statusnet_blocking": false, "statusnet_blocking": false,
"statusnet_profile_url": "https://pleroma.soykaf.com/users/lain" "statusnet_profile_url": "https://pleroma.soykaf.com/users/lain"
} }
``` ```
## `/api/pleroma/admin/`
See [Admin-API](Admin-API.md)

View File

@ -21,7 +21,7 @@ def project do
homepage_url: "https://pleroma.social/", homepage_url: "https://pleroma.social/",
docs: [ docs: [
logo: "priv/static/static/logo.png", 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", main: "readme",
output: "priv/static/doc" output: "priv/static/doc"
] ]