Add docs to /users/search
[akkoma] / docs / Admin-API.md
1 # Admin API
2
3 Authentication is required and the user must be an admin.
4
5 ## `/api/pleroma/admin/users`
6
7 ### List users
8
9 - Method `GET`
10 - Response:
11
12 ```JSON
13 [
14 {
15 "deactivated": bool,
16 "id": integer,
17 "nickname": string
18 },
19 ...
20 ]
21 ```
22
23 ## `/api/pleroma/admin/users/search?query={query}`
24
25 ### Search users
26
27 - Method `GET`
28 - Params:
29 - `query`
30 - Response:
31
32 ```JSON
33 [
34 {
35 "deactivated": bool,
36 "id": integer,
37 "nickname": string
38 },
39 ...
40 ]
41 ```
42
43 ## `/api/pleroma/admin/user`
44
45 ### Remove a user
46
47 - Method `DELETE`
48 - Params:
49 - `nickname`
50 - Response: User’s nickname
51
52 ### Create a user
53
54 - Method: `POST`
55 - Params:
56 - `nickname`
57 - `email`
58 - `password`
59 - Response: User’s nickname
60
61 ## `/api/pleroma/admin/users/:nickname/toggle_activation`
62
63 ### Toggle user activation
64
65 - Method: `PATCH`
66 - Params:
67 - `nickname`
68 - Response: User’s object
69
70 ```JSON
71 {
72 "deactivated": bool,
73 "id": integer,
74 "nickname": string
75 }
76 ```
77
78 ## `/api/pleroma/admin/users/tag`
79
80 ### Tag a list of users
81
82 - Method: `PUT`
83 - Params:
84 - `nickname`
85 - `tags`
86
87 ### Untag a list of users
88
89 - Method: `DELETE`
90 - Params:
91 - `nickname`
92 - `tags`
93
94 ## `/api/pleroma/admin/permission_group/:nickname`
95
96 ### Get user user permission groups membership
97
98 - Method: `GET`
99 - Params: none
100 - Response:
101
102 ```JSON
103 {
104 "is_moderator": bool,
105 "is_admin": bool
106 }
107 ```
108
109 ## `/api/pleroma/admin/permission_group/:nickname/:permission_group`
110
111 Note: Available `:permission_group` is currently moderator and admin. 404 is returned when the permission group doesn’t exist.
112
113 ### Get user user permission groups membership
114
115 - Method: `GET`
116 - Params: none
117 - Response:
118
119 ```JSON
120 {
121 "is_moderator": bool,
122 "is_admin": bool
123 }
124 ```
125
126 ### Add user in permission group
127
128 - Method: `POST`
129 - Params: none
130 - Response:
131 - On failure: `{"error": "…"}`
132 - On success: JSON of the `user.info`
133
134 ### Remove user from permission group
135
136 - Method: `DELETE`
137 - Params: none
138 - Response:
139 - On failure: `{"error": "…"}`
140 - On success: JSON of the `user.info`
141 - Note: An admin cannot revoke their own admin status.
142
143 ## `/api/pleroma/admin/activation_status/:nickname`
144
145 ### Active or deactivate a user
146
147 - Method: `PUT`
148 - Params:
149 - `nickname`
150 - `status` BOOLEAN field, false value means deactivation.
151
152 ## `/api/pleroma/admin/relay`
153
154 ### Follow a Relay
155
156 - Methods: `POST`
157 - Params:
158 - `relay_url`
159 - Response:
160 - On success: URL of the followed relay
161
162 ### Unfollow a Relay
163
164 - Methods: `DELETE`
165 - Params:
166 - `relay_url`
167 - Response:
168 - On success: URL of the unfollowed relay
169
170 ## `/api/pleroma/admin/invite_token`
171
172 ### Get a account registeration invite token
173
174 - Methods: `GET`
175 - Params: none
176 - Response: invite token (base64 string)
177
178 ## `/api/pleroma/admin/email_invite`
179
180 ### Sends registration invite via email
181
182 - Methods: `POST`
183 - Params:
184 - `email`
185 - `name`, optionnal
186
187 ## `/api/pleroma/admin/password_reset`
188
189 ### Get a password reset token for a given nickname
190
191 - Methods: `GET`
192 - Params: none
193 - Response: password reset token (base64 string)