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