Remove duplicated header from i2p.md
[akkoma] / docs / api / 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 - Query Params:
11 - *optional* `query`: **string** search term
12 - *optional* `filters`: **string** comma-separated string of filters:
13 - `local`: only local users
14 - `external`: only external users
15 - `active`: only active users
16 - `deactivated`: only deactivated users
17 - *optional* `page`: **integer** page number
18 - *optional* `page_size`: **integer** number of users per page (default is `50`)
19 - Example: `https://mypleroma.org/api/pleroma/admin/users?query=john&filters=local,active&page=1&page_size=10`
20 - Response:
21
22 ```JSON
23 {
24 "page_size": integer,
25 "count": integer,
26 "users": [
27 {
28 "deactivated": bool,
29 "id": integer,
30 "nickname": string,
31 "roles": {
32 "admin": bool,
33 "moderator": bool
34 },
35 "local": bool,
36 "tags": array
37 },
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 per permission group
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)