First
[anni] / docs / development / API / nodeinfo.md
1 # Nodeinfo
2
3 See also [the Nodeinfo standard](https://nodeinfo.diaspora.software/).
4
5 ## `/.well-known/nodeinfo`
6 ### The well-known path
7 * Method: `GET`
8 * Authentication: not required
9 * Params: none
10 * Response: JSON
11 * Example response:
12 ```json
13 {
14    "links":[
15       {
16          "href":"https://example.com/nodeinfo/2.0.json",
17          "rel":"http://nodeinfo.diaspora.software/ns/schema/2.0"
18       },
19       {
20          "href":"https://example.com/nodeinfo/2.1.json",
21          "rel":"http://nodeinfo.diaspora.software/ns/schema/2.1"
22       }
23    ]
24 }
25 ```
26
27 ## `/nodeinfo/2.0.json`
28 ### Nodeinfo 2.0
29 * Method: `GET`
30 * Authentication: not required
31 * Params: none
32 * Response: JSON
33 * Example response:
34 ```json
35 {
36    "metadata":{
37       "accountActivationRequired":false,
38       "features":[
39          "pleroma_api",
40          "mastodon_api",
41          "mastodon_api_streaming",
42          "polls",
43          "pleroma_explicit_addressing",
44          "shareable_emoji_packs",
45          "multifetch",
46          "pleroma:api/v1/notifications:include_types_filter",
47          "chat",
48          "shout",
49          "relay",
50          "pleroma_emoji_reactions",
51          "pleroma_chat_messages"
52       ],
53       "federation":{
54          "enabled":true,
55          "exclusions":false,
56          "mrf_hashtag":{
57             "federated_timeline_removal":[
58                
59             ],
60             "reject":[
61                
62             ],
63             "sensitive":[
64                "nsfw"
65             ]
66          },
67          "mrf_object_age":{
68             "actions":[
69                "delist",
70                "strip_followers"
71             ],
72             "threshold":604800
73          },
74          "mrf_policies":[
75             "ObjectAgePolicy",
76             "TagPolicy",
77             "HashtagPolicy"
78          ],
79          "quarantined_instances":[
80             
81          ]
82       },
83       "fieldsLimits":{
84          "maxFields":10,
85          "maxRemoteFields":20,
86          "nameLength":512,
87          "valueLength":2048
88       },
89       "invitesEnabled":false,
90       "mailerEnabled":false,
91       "nodeDescription":"Pleroma: An efficient and flexible fediverse server",
92       "nodeName":"Example",
93       "pollLimits":{
94          "max_expiration":31536000,
95          "max_option_chars":200,
96          "max_options":20,
97          "min_expiration":0
98       },
99       "postFormats":[
100          "text/plain",
101          "text/html",
102          "text/markdown",
103          "text/bbcode"
104       ],
105       "private":false,
106       "restrictedNicknames":[
107          ".well-known",
108          "~",
109          "about",
110          "activities",
111          "api",
112          "auth",
113          "check_password",
114          "dev",
115          "friend-requests",
116          "inbox",
117          "internal",
118          "main",
119          "media",
120          "nodeinfo",
121          "notice",
122          "oauth",
123          "objects",
124          "ostatus_subscribe",
125          "pleroma",
126          "proxy",
127          "push",
128          "registration",
129          "relay",
130          "settings",
131          "status",
132          "tag",
133          "user-search",
134          "user_exists",
135          "users",
136          "web",
137          "verify_credentials",
138          "update_credentials",
139          "relationships",
140          "search",
141          "confirmation_resend",
142          "mfa"
143       ],
144       "skipThreadContainment":true,
145       "staffAccounts":[
146          "https://example.com/users/admin",
147          "https://example.com/users/staff"
148       ],
149       "suggestions":{
150          "enabled":false
151       },
152       "uploadLimits":{
153          "avatar":2000000,
154          "background":4000000,
155          "banner":4000000,
156          "general":16000000
157       }
158    },
159    "openRegistrations":true,
160    "protocols":[
161       "activitypub"
162    ],
163    "services":{
164       "inbound":[
165          
166       ],
167       "outbound":[
168          
169       ]
170    },
171    "software":{
172       "name":"pleroma",
173       "version":"2.4.1"
174    },
175    "usage":{
176       "localPosts":27,
177       "users":{
178          "activeHalfyear":129,
179          "activeMonth":70,
180          "total":235
181       }
182    },
183    "version":"2.0"
184 }
185 ```
186
187 ## `/nodeinfo/2.1.json`
188 ### Nodeinfo 2.1
189 * Method: `GET`
190 * Authentication: not required
191 * Params: none
192 * Response: JSON
193 * Example response:
194 ```json
195 {
196    "metadata":{
197       "accountActivationRequired":false,
198       "features":[
199          "pleroma_api",
200          "mastodon_api",
201          "mastodon_api_streaming",
202          "polls",
203          "pleroma_explicit_addressing",
204          "shareable_emoji_packs",
205          "multifetch",
206          "pleroma:api/v1/notifications:include_types_filter",
207          "chat",
208          "shout",
209          "relay",
210          "pleroma_emoji_reactions",
211          "pleroma_chat_messages"
212       ],
213       "federation":{
214          "enabled":true,
215          "exclusions":false,
216          "mrf_hashtag":{
217             "federated_timeline_removal":[
218                
219             ],
220             "reject":[
221                
222             ],
223             "sensitive":[
224                "nsfw"
225             ]
226          },
227          "mrf_object_age":{
228             "actions":[
229                "delist",
230                "strip_followers"
231             ],
232             "threshold":604800
233          },
234          "mrf_policies":[
235             "ObjectAgePolicy",
236             "TagPolicy",
237             "HashtagPolicy"
238          ],
239          "quarantined_instances":[
240             
241          ]
242       },
243       "fieldsLimits":{
244          "maxFields":10,
245          "maxRemoteFields":20,
246          "nameLength":512,
247          "valueLength":2048
248       },
249       "invitesEnabled":false,
250       "mailerEnabled":false,
251       "nodeDescription":"Pleroma: An efficient and flexible fediverse server",
252       "nodeName":"Example",
253       "pollLimits":{
254          "max_expiration":31536000,
255          "max_option_chars":200,
256          "max_options":20,
257          "min_expiration":0
258       },
259       "postFormats":[
260          "text/plain",
261          "text/html",
262          "text/markdown",
263          "text/bbcode"
264       ],
265       "private":false,
266       "restrictedNicknames":[
267          ".well-known",
268          "~",
269          "about",
270          "activities",
271          "api",
272          "auth",
273          "check_password",
274          "dev",
275          "friend-requests",
276          "inbox",
277          "internal",
278          "main",
279          "media",
280          "nodeinfo",
281          "notice",
282          "oauth",
283          "objects",
284          "ostatus_subscribe",
285          "pleroma",
286          "proxy",
287          "push",
288          "registration",
289          "relay",
290          "settings",
291          "status",
292          "tag",
293          "user-search",
294          "user_exists",
295          "users",
296          "web",
297          "verify_credentials",
298          "update_credentials",
299          "relationships",
300          "search",
301          "confirmation_resend",
302          "mfa"
303       ],
304       "skipThreadContainment":true,
305       "staffAccounts":[
306          "https://example.com/users/admin",
307          "https://example.com/users/staff"
308       ],
309       "suggestions":{
310          "enabled":false
311       },
312       "uploadLimits":{
313          "avatar":2000000,
314          "background":4000000,
315          "banner":4000000,
316          "general":16000000
317       }
318    },
319    "openRegistrations":true,
320    "protocols":[
321       "activitypub"
322    ],
323    "services":{
324       "inbound":[
325          
326       ],
327       "outbound":[
328          
329       ]
330    },
331    "software":{
332       "name":"pleroma",
333       "repository":"https://git.pleroma.social/pleroma/pleroma",
334       "version":"2.4.1"
335    },
336    "usage":{
337       "localPosts":27,
338       "users":{
339          "activeHalfyear":129,
340          "activeMonth":70,
341          "total":235
342       }
343    },
344    "version":"2.1"
345 }
346 ```
347