unoffical wafrn mirror
wafrn.net
atproto
social-network
activitypub
1{
2 "openapi": "3.0.0",
3 "info": {
4 "version": "0.1.0",
5 "title": "WAFRN Backend",
6 "description": "API routes for wafrn social network"
7 },
8 "paths": {
9 "/api/": {
10 "get": {
11 "description": "",
12 "responses": {
13 "200": {
14 "description": "OK"
15 }
16 }
17 }
18 },
19 "/api/block": {
20 "post": {
21 "description": "",
22 "parameters": [
23 {
24 "name": "authorization",
25 "in": "header",
26 "schema": {
27 "type": "string"
28 }
29 }
30 ],
31 "responses": {
32 "200": {
33 "description": "OK"
34 },
35 "401": {
36 "description": "Unauthorized"
37 }
38 },
39 "requestBody": {
40 "content": {
41 "application/json": {
42 "schema": {
43 "type": "object",
44 "properties": {
45 "userId": {
46 "example": "any"
47 },
48 "reason": {
49 "example": "any"
50 }
51 }
52 }
53 }
54 }
55 }
56 }
57 },
58 "/api/unblock": {
59 "post": {
60 "description": "",
61 "parameters": [
62 {
63 "name": "authorization",
64 "in": "header",
65 "schema": {
66 "type": "string"
67 }
68 }
69 ],
70 "responses": {
71 "200": {
72 "description": "OK"
73 },
74 "401": {
75 "description": "Unauthorized"
76 }
77 },
78 "requestBody": {
79 "content": {
80 "application/json": {
81 "schema": {
82 "type": "object",
83 "properties": {
84 "userId": {
85 "example": "any"
86 }
87 }
88 }
89 }
90 }
91 }
92 }
93 },
94 "/api/myBlocks": {
95 "get": {
96 "description": "",
97 "parameters": [
98 {
99 "name": "authorization",
100 "in": "header",
101 "schema": {
102 "type": "string"
103 }
104 }
105 ],
106 "responses": {
107 "200": {
108 "description": "OK"
109 },
110 "401": {
111 "description": "Unauthorized"
112 }
113 }
114 }
115 },
116 "/api/unblock-user": {
117 "post": {
118 "description": "",
119 "parameters": [
120 {
121 "name": "id",
122 "in": "query",
123 "schema": {
124 "type": "string"
125 }
126 },
127 {
128 "name": "authorization",
129 "in": "header",
130 "schema": {
131 "type": "string"
132 }
133 }
134 ],
135 "responses": {
136 "200": {
137 "description": "OK"
138 },
139 "401": {
140 "description": "Unauthorized"
141 }
142 }
143 }
144 },
145 "/api/follow": {
146 "post": {
147 "description": "",
148 "parameters": [
149 {
150 "name": "authorization",
151 "in": "header",
152 "schema": {
153 "type": "string"
154 }
155 }
156 ],
157 "responses": {
158 "200": {
159 "description": "OK"
160 },
161 "401": {
162 "description": "Unauthorized"
163 },
164 "403": {
165 "description": "Forbidden"
166 },
167 "500": {
168 "description": "Internal Server Error"
169 }
170 },
171 "requestBody": {
172 "content": {
173 "application/json": {
174 "schema": {
175 "type": "object",
176 "properties": {
177 "userId": {
178 "example": "any"
179 }
180 }
181 }
182 }
183 }
184 }
185 }
186 },
187 "/api/unfollow": {
188 "post": {
189 "description": "",
190 "parameters": [
191 {
192 "name": "authorization",
193 "in": "header",
194 "schema": {
195 "type": "string"
196 }
197 }
198 ],
199 "responses": {
200 "200": {
201 "description": "OK"
202 },
203 "401": {
204 "description": "Unauthorized"
205 }
206 },
207 "requestBody": {
208 "content": {
209 "application/json": {
210 "schema": {
211 "type": "object",
212 "properties": {
213 "userId": {
214 "example": "any"
215 }
216 }
217 }
218 }
219 }
220 }
221 }
222 },
223 "/api/muteRewoots": {
224 "post": {
225 "description": "",
226 "parameters": [
227 {
228 "name": "authorization",
229 "in": "header",
230 "schema": {
231 "type": "string"
232 }
233 }
234 ],
235 "responses": {
236 "200": {
237 "description": "OK"
238 },
239 "400": {
240 "description": "Bad Request"
241 },
242 "401": {
243 "description": "Unauthorized"
244 }
245 }
246 }
247 },
248 "/api/uploadMedia": {
249 "post": {
250 "description": "",
251 "parameters": [
252 {
253 "name": "authorization",
254 "in": "header",
255 "schema": {
256 "type": "string"
257 }
258 }
259 ],
260 "responses": {
261 "200": {
262 "description": "OK"
263 },
264 "401": {
265 "description": "Unauthorized"
266 }
267 },
268 "requestBody": {
269 "content": {
270 "application/json": {
271 "schema": {
272 "type": "object",
273 "properties": {
274 "nsfw": {
275 "example": "any"
276 },
277 "description": {
278 "example": "any"
279 }
280 }
281 }
282 }
283 }
284 }
285 }
286 },
287 "/api/updateMedia": {
288 "get": {
289 "description": "",
290 "parameters": [
291 {
292 "name": "id",
293 "in": "query",
294 "schema": {
295 "type": "string"
296 }
297 },
298 {
299 "name": "NSFW",
300 "in": "query",
301 "schema": {
302 "type": "string"
303 }
304 },
305 {
306 "name": "description",
307 "in": "query",
308 "schema": {
309 "type": "string"
310 }
311 },
312 {
313 "name": "authorization",
314 "in": "header",
315 "schema": {
316 "type": "string"
317 }
318 }
319 ],
320 "responses": {
321 "200": {
322 "description": "OK"
323 },
324 "401": {
325 "description": "Unauthorized"
326 }
327 }
328 }
329 },
330 "/api/v3/notificationsScroll": {
331 "get": {
332 "description": "",
333 "parameters": [
334 {
335 "name": "date",
336 "in": "query",
337 "schema": {
338 "type": "string"
339 }
340 },
341 {
342 "name": "authorization",
343 "in": "header",
344 "schema": {
345 "type": "string"
346 }
347 }
348 ],
349 "responses": {
350 "200": {
351 "description": "OK"
352 },
353 "401": {
354 "description": "Unauthorized"
355 }
356 }
357 }
358 },
359 "/api/v2/notificationsCount": {
360 "get": {
361 "description": "",
362 "parameters": [
363 {
364 "name": "authorization",
365 "in": "header",
366 "schema": {
367 "type": "string"
368 }
369 }
370 ],
371 "responses": {
372 "200": {
373 "description": "OK"
374 },
375 "401": {
376 "description": "Unauthorized"
377 }
378 }
379 }
380 },
381 "/api/v3/registerNotificationToken": {
382 "post": {
383 "description": "",
384 "parameters": [
385 {
386 "name": "authorization",
387 "in": "header",
388 "schema": {
389 "type": "string"
390 }
391 }
392 ],
393 "responses": {
394 "200": {
395 "description": "OK"
396 },
397 "401": {
398 "description": "Unauthorized"
399 },
400 "500": {
401 "description": "Internal Server Error"
402 }
403 },
404 "requestBody": {
405 "content": {
406 "application/json": {
407 "schema": {
408 "type": "object",
409 "properties": {
410 "token": {
411 "example": "any"
412 }
413 }
414 }
415 }
416 }
417 }
418 }
419 },
420 "/api/v3/unregisterNotificationToken": {
421 "post": {
422 "description": "",
423 "parameters": [
424 {
425 "name": "authorization",
426 "in": "header",
427 "schema": {
428 "type": "string"
429 }
430 }
431 ],
432 "responses": {
433 "200": {
434 "description": "OK"
435 },
436 "400": {
437 "description": "Bad Request"
438 },
439 "401": {
440 "description": "Unauthorized"
441 },
442 "500": {
443 "description": "Internal Server Error"
444 }
445 },
446 "requestBody": {
447 "content": {
448 "application/json": {
449 "schema": {
450 "type": "object",
451 "properties": {
452 "token": {
453 "example": "any"
454 }
455 }
456 }
457 }
458 }
459 }
460 }
461 },
462 "/api/v3/registerUnifiedPushData": {
463 "post": {
464 "description": "",
465 "parameters": [
466 {
467 "name": "authorization",
468 "in": "header",
469 "schema": {
470 "type": "string"
471 }
472 }
473 ],
474 "responses": {
475 "200": {
476 "description": "OK"
477 },
478 "400": {
479 "description": "Bad Request"
480 },
481 "401": {
482 "description": "Unauthorized"
483 },
484 "500": {
485 "description": "Internal Server Error"
486 }
487 },
488 "requestBody": {
489 "content": {
490 "application/json": {
491 "schema": {
492 "type": "object",
493 "properties": {
494 "endpoint": {
495 "example": "any"
496 },
497 "deviceAuth": {
498 "example": "any"
499 },
500 "devicePublicKey": {
501 "example": "any"
502 }
503 }
504 }
505 }
506 }
507 }
508 }
509 },
510 "/api/v3/unregisterUnifiedPushData": {
511 "post": {
512 "description": "",
513 "parameters": [
514 {
515 "name": "authorization",
516 "in": "header",
517 "schema": {
518 "type": "string"
519 }
520 }
521 ],
522 "responses": {
523 "200": {
524 "description": "OK"
525 },
526 "400": {
527 "description": "Bad Request"
528 },
529 "401": {
530 "description": "Unauthorized"
531 },
532 "500": {
533 "description": "Internal Server Error"
534 }
535 },
536 "requestBody": {
537 "content": {
538 "application/json": {
539 "schema": {
540 "type": "object",
541 "properties": {
542 "endpoint": {
543 "example": "any"
544 }
545 }
546 }
547 }
548 }
549 }
550 }
551 },
552 "/api/article/{user?}/{slug}": {
553 "get": {
554 "description": "",
555 "parameters": [
556 {
557 "name": "user?",
558 "in": "path",
559 "required": true,
560 "schema": {
561 "type": "string"
562 }
563 },
564 {
565 "name": "slug",
566 "in": "path",
567 "required": true,
568 "schema": {
569 "type": "string"
570 }
571 }
572 ],
573 "responses": {
574 "404": {
575 "description": "Not Found"
576 }
577 }
578 }
579 },
580 "/api/v2/post/{id}": {
581 "get": {
582 "description": "",
583 "parameters": [
584 {
585 "name": "id",
586 "in": "path",
587 "required": true,
588 "schema": {
589 "type": "string"
590 }
591 }
592 ],
593 "responses": {
594 "200": {
595 "description": "OK"
596 },
597 "400": {
598 "description": "Bad Request"
599 },
600 "403": {
601 "description": "Forbidden"
602 },
603 "404": {
604 "description": "Not Found"
605 },
606 "500": {
607 "description": "Internal Server Error"
608 }
609 }
610 }
611 },
612 "/api/v2/blog": {
613 "get": {
614 "description": "",
615 "parameters": [
616 {
617 "name": "id",
618 "in": "query",
619 "schema": {
620 "type": "string"
621 }
622 }
623 ],
624 "responses": {
625 "200": {
626 "description": "OK"
627 },
628 "403": {
629 "description": "Forbidden"
630 },
631 "404": {
632 "description": "Not Found"
633 }
634 }
635 }
636 },
637 "/api/v3/createPost": {
638 "post": {
639 "description": "",
640 "parameters": [
641 {
642 "name": "authorization",
643 "in": "header",
644 "schema": {
645 "type": "string"
646 }
647 }
648 ],
649 "responses": {
650 "200": {
651 "description": "OK"
652 },
653 "401": {
654 "description": "Unauthorized"
655 },
656 "403": {
657 "description": "Forbidden"
658 },
659 "422": {
660 "description": "Unprocessable Entity"
661 },
662 "500": {
663 "description": "Internal Server Error"
664 }
665 },
666 "requestBody": {
667 "content": {
668 "application/json": {
669 "schema": {
670 "type": "object",
671 "properties": {
672 "postToQuote": {
673 "example": "any"
674 },
675 "parent": {
676 "example": "any"
677 },
678 "privacy": {
679 "example": "any"
680 },
681 "content": {
682 "example": "any"
683 },
684 "content_warning": {
685 "example": "any"
686 },
687 "medias": {
688 "example": "any"
689 },
690 "mentionedUserIds": {
691 "example": "any"
692 },
693 "mentionedUsersIds": {
694 "example": "any"
695 },
696 "idPostToEdit": {
697 "example": "any"
698 },
699 "ask": {
700 "example": "any"
701 },
702 "tags": {
703 "example": "any"
704 }
705 }
706 }
707 }
708 }
709 }
710 }
711 },
712 "/api/refederatePost": {
713 "post": {
714 "description": "",
715 "parameters": [
716 {
717 "name": "authorization",
718 "in": "header",
719 "schema": {
720 "type": "string"
721 }
722 }
723 ],
724 "responses": {
725 "200": {
726 "description": "OK"
727 },
728 "401": {
729 "description": "Unauthorized"
730 }
731 },
732 "requestBody": {
733 "content": {
734 "application/json": {
735 "schema": {
736 "type": "object",
737 "properties": {
738 "postId": {
739 "example": "any"
740 }
741 }
742 }
743 }
744 }
745 }
746 }
747 },
748 "/api/reportPost": {
749 "post": {
750 "description": "",
751 "parameters": [
752 {
753 "name": "authorization",
754 "in": "header",
755 "schema": {
756 "type": "string"
757 }
758 }
759 ],
760 "responses": {
761 "200": {
762 "description": "OK"
763 },
764 "401": {
765 "description": "Unauthorized"
766 }
767 },
768 "requestBody": {
769 "content": {
770 "application/json": {
771 "schema": {
772 "type": "object",
773 "properties": {
774 "userId": {
775 "example": "any"
776 },
777 "severity": {
778 "example": "any"
779 },
780 "description": {
781 "example": "any"
782 },
783 "postId": {
784 "example": "any"
785 }
786 }
787 }
788 }
789 }
790 }
791 }
792 },
793 "/api/loadRemoteResponses": {
794 "get": {
795 "description": "",
796 "parameters": [
797 {
798 "name": "id",
799 "in": "query",
800 "schema": {
801 "type": "string"
802 }
803 },
804 {
805 "name": "authorization",
806 "in": "header",
807 "schema": {
808 "type": "string"
809 }
810 }
811 ],
812 "responses": {
813 "200": {
814 "description": "OK"
815 },
816 "401": {
817 "description": "Unauthorized"
818 }
819 }
820 }
821 },
822 "/api/userSearch/{term}": {
823 "get": {
824 "description": "",
825 "parameters": [
826 {
827 "name": "term",
828 "in": "path",
829 "required": true,
830 "schema": {
831 "type": "string"
832 }
833 },
834 {
835 "name": "authorization",
836 "in": "header",
837 "schema": {
838 "type": "string"
839 }
840 }
841 ],
842 "responses": {
843 "200": {
844 "description": "OK"
845 },
846 "401": {
847 "description": "Unauthorized"
848 }
849 }
850 }
851 },
852 "/api/v2/search": {
853 "get": {
854 "description": "",
855 "parameters": [
856 {
857 "name": "term",
858 "in": "query",
859 "schema": {
860 "type": "string"
861 }
862 },
863 {
864 "name": "user",
865 "in": "query",
866 "schema": {
867 "type": "string"
868 }
869 },
870 {
871 "name": "authorization",
872 "in": "header",
873 "schema": {
874 "type": "string"
875 }
876 }
877 ],
878 "responses": {
879 "200": {
880 "description": "OK"
881 },
882 "401": {
883 "description": "Unauthorized"
884 }
885 }
886 }
887 },
888 "/api/fromBluesky/{did}": {
889 "get": {
890 "description": "",
891 "parameters": [
892 {
893 "name": "did",
894 "in": "path",
895 "required": true,
896 "schema": {
897 "type": "string"
898 }
899 }
900 ],
901 "responses": {
902 "default": {
903 "description": ""
904 }
905 }
906 }
907 },
908 "/api/register": {
909 "post": {
910 "description": "",
911 "responses": {
912 "200": {
913 "description": "OK"
914 },
915 "400": {
916 "description": "Bad Request"
917 },
918 "401": {
919 "description": "Unauthorized"
920 },
921 "403": {
922 "description": "Forbidden"
923 },
924 "500": {
925 "description": "Internal Server Error"
926 }
927 },
928 "requestBody": {
929 "content": {
930 "application/json": {
931 "schema": {
932 "type": "object",
933 "properties": {
934 "url": {
935 "example": "any"
936 },
937 "email": {
938 "example": "any"
939 },
940 "birthDate": {
941 "example": "any"
942 },
943 "inviteCode": {
944 "example": "any"
945 },
946 "description": {
947 "example": "any"
948 },
949 "name": {
950 "example": "any"
951 },
952 "nsfw": {
953 "example": "any"
954 },
955 "password": {
956 "example": "any"
957 }
958 }
959 }
960 }
961 }
962 }
963 }
964 },
965 "/api/updateCSS": {
966 "post": {
967 "description": "",
968 "parameters": [
969 {
970 "name": "authorization",
971 "in": "header",
972 "schema": {
973 "type": "string"
974 }
975 }
976 ],
977 "responses": {
978 "200": {
979 "description": "OK"
980 },
981 "401": {
982 "description": "Unauthorized"
983 },
984 "500": {
985 "description": "Internal Server Error"
986 }
987 },
988 "requestBody": {
989 "content": {
990 "application/json": {
991 "schema": {
992 "type": "object",
993 "properties": {
994 "css": {
995 "example": "any"
996 }
997 }
998 }
999 }
1000 }
1001 }
1002 }
1003 },
1004 "/api/editProfile": {
1005 "post": {
1006 "description": "",
1007 "parameters": [
1008 {
1009 "name": "authorization",
1010 "in": "header",
1011 "schema": {
1012 "type": "string"
1013 }
1014 }
1015 ],
1016 "responses": {
1017 "200": {
1018 "description": "OK"
1019 },
1020 "401": {
1021 "description": "Unauthorized"
1022 }
1023 },
1024 "requestBody": {
1025 "content": {
1026 "application/json": {
1027 "schema": {
1028 "type": "object",
1029 "properties": {
1030 "disableEmailNotifications": {
1031 "example": "any"
1032 },
1033 "isBot": {
1034 "example": "any"
1035 },
1036 "where": {
1037 "example": "any"
1038 }
1039 }
1040 }
1041 }
1042 }
1043 }
1044 }
1045 },
1046 "/api/editOptions": {
1047 "post": {
1048 "description": "",
1049 "parameters": [
1050 {
1051 "name": "authorization",
1052 "in": "header",
1053 "schema": {
1054 "type": "string"
1055 }
1056 }
1057 ],
1058 "responses": {
1059 "200": {
1060 "description": "OK"
1061 },
1062 "401": {
1063 "description": "Unauthorized"
1064 }
1065 },
1066 "requestBody": {
1067 "content": {
1068 "application/json": {
1069 "schema": {
1070 "type": "object",
1071 "properties": {
1072 "options": {
1073 "example": "any"
1074 }
1075 }
1076 }
1077 }
1078 }
1079 }
1080 }
1081 },
1082 "/api/forgotPassword": {
1083 "post": {
1084 "description": "",
1085 "responses": {
1086 "200": {
1087 "description": "OK"
1088 }
1089 },
1090 "requestBody": {
1091 "content": {
1092 "application/json": {
1093 "schema": {
1094 "type": "object",
1095 "properties": {
1096 "email": {
1097 "example": "any"
1098 }
1099 }
1100 }
1101 }
1102 }
1103 }
1104 }
1105 },
1106 "/api/activateUser": {
1107 "post": {
1108 "description": "",
1109 "responses": {
1110 "200": {
1111 "description": "OK"
1112 }
1113 },
1114 "requestBody": {
1115 "content": {
1116 "application/json": {
1117 "schema": {
1118 "type": "object",
1119 "properties": {
1120 "email": {
1121 "example": "any"
1122 },
1123 "code": {
1124 "example": "any"
1125 }
1126 }
1127 }
1128 }
1129 }
1130 }
1131 }
1132 },
1133 "/api/resetPassword": {
1134 "post": {
1135 "description": "",
1136 "responses": {
1137 "200": {
1138 "description": "OK"
1139 }
1140 },
1141 "requestBody": {
1142 "content": {
1143 "application/json": {
1144 "schema": {
1145 "type": "object",
1146 "properties": {
1147 "code": {
1148 "example": "any"
1149 },
1150 "password": {
1151 "example": "any"
1152 },
1153 "email": {
1154 "example": "any"
1155 }
1156 }
1157 }
1158 }
1159 }
1160 }
1161 }
1162 },
1163 "/api/login": {
1164 "post": {
1165 "description": "",
1166 "responses": {
1167 "200": {
1168 "description": "OK"
1169 }
1170 },
1171 "requestBody": {
1172 "content": {
1173 "application/json": {
1174 "schema": {
1175 "type": "object",
1176 "properties": {
1177 "password": {
1178 "example": "any"
1179 },
1180 "email": {
1181 "example": "any"
1182 }
1183 }
1184 }
1185 }
1186 }
1187 }
1188 }
1189 },
1190 "/api/login/mfa": {
1191 "post": {
1192 "description": "",
1193 "responses": {
1194 "200": {
1195 "description": "OK"
1196 }
1197 }
1198 }
1199 },
1200 "/api/user/exportFollows": {
1201 "get": {
1202 "description": "",
1203 "parameters": [
1204 {
1205 "name": "authorization",
1206 "in": "header",
1207 "schema": {
1208 "type": "string"
1209 }
1210 }
1211 ],
1212 "responses": {
1213 "200": {
1214 "description": "OK"
1215 },
1216 "401": {
1217 "description": "Unauthorized"
1218 }
1219 }
1220 }
1221 },
1222 "/api/user/mfa": {
1223 "get": {
1224 "description": "",
1225 "parameters": [
1226 {
1227 "name": "authorization",
1228 "in": "header",
1229 "schema": {
1230 "type": "string"
1231 }
1232 }
1233 ],
1234 "responses": {
1235 "200": {
1236 "description": "OK"
1237 },
1238 "401": {
1239 "description": "Unauthorized"
1240 },
1241 "500": {
1242 "description": "Internal Server Error"
1243 }
1244 }
1245 },
1246 "post": {
1247 "description": "",
1248 "parameters": [
1249 {
1250 "name": "authorization",
1251 "in": "header",
1252 "schema": {
1253 "type": "string"
1254 }
1255 }
1256 ],
1257 "responses": {
1258 "200": {
1259 "description": "OK"
1260 },
1261 "400": {
1262 "description": "Bad Request"
1263 },
1264 "401": {
1265 "description": "Unauthorized"
1266 },
1267 "500": {
1268 "description": "Internal Server Error"
1269 }
1270 }
1271 }
1272 },
1273 "/api/user/mfa/{id}/verify": {
1274 "post": {
1275 "description": "",
1276 "parameters": [
1277 {
1278 "name": "id",
1279 "in": "path",
1280 "required": true,
1281 "schema": {
1282 "type": "string"
1283 }
1284 },
1285 {
1286 "name": "authorization",
1287 "in": "header",
1288 "schema": {
1289 "type": "string"
1290 }
1291 }
1292 ],
1293 "responses": {
1294 "200": {
1295 "description": "OK"
1296 },
1297 "400": {
1298 "description": "Bad Request"
1299 },
1300 "401": {
1301 "description": "Unauthorized"
1302 },
1303 "500": {
1304 "description": "Internal Server Error"
1305 }
1306 }
1307 }
1308 },
1309 "/api/user/mfa/{id}": {
1310 "delete": {
1311 "description": "",
1312 "parameters": [
1313 {
1314 "name": "id",
1315 "in": "path",
1316 "required": true,
1317 "schema": {
1318 "type": "string"
1319 }
1320 },
1321 {
1322 "name": "authorization",
1323 "in": "header",
1324 "schema": {
1325 "type": "string"
1326 }
1327 }
1328 ],
1329 "responses": {
1330 "200": {
1331 "description": "OK"
1332 },
1333 "400": {
1334 "description": "Bad Request"
1335 },
1336 "401": {
1337 "description": "Unauthorized"
1338 }
1339 }
1340 }
1341 },
1342 "/api/user": {
1343 "get": {
1344 "description": "",
1345 "parameters": [
1346 {
1347 "name": "id",
1348 "in": "query",
1349 "schema": {
1350 "type": "string"
1351 }
1352 }
1353 ],
1354 "responses": {
1355 "200": {
1356 "description": "OK"
1357 },
1358 "404": {
1359 "description": "Not Found"
1360 }
1361 }
1362 }
1363 },
1364 "/api/my-ui-options": {
1365 "get": {
1366 "description": "",
1367 "parameters": [
1368 {
1369 "name": "authorization",
1370 "in": "header",
1371 "schema": {
1372 "type": "string"
1373 }
1374 }
1375 ],
1376 "responses": {
1377 "200": {
1378 "description": "OK"
1379 },
1380 "401": {
1381 "description": "Unauthorized"
1382 }
1383 }
1384 }
1385 },
1386 "/api/v2/enable-bluesky": {
1387 "post": {
1388 "description": "",
1389 "parameters": [
1390 {
1391 "name": "authorization",
1392 "in": "header",
1393 "schema": {
1394 "type": "string"
1395 }
1396 }
1397 ],
1398 "responses": {
1399 "200": {
1400 "description": "OK"
1401 },
1402 "400": {
1403 "description": "Bad Request"
1404 },
1405 "401": {
1406 "description": "Unauthorized"
1407 },
1408 "404": {
1409 "description": "Not Found"
1410 },
1411 "500": {
1412 "description": "Internal Server Error"
1413 }
1414 },
1415 "requestBody": {
1416 "content": {
1417 "application/json": {
1418 "schema": {
1419 "type": "object",
1420 "properties": {
1421 "password": {
1422 "example": "any"
1423 }
1424 }
1425 }
1426 }
1427 }
1428 }
1429 }
1430 },
1431 "/api/get-bsky-invite-code": {
1432 "get": {
1433 "description": "",
1434 "parameters": [
1435 {
1436 "name": "authorization",
1437 "in": "header",
1438 "schema": {
1439 "type": "string"
1440 }
1441 }
1442 ],
1443 "responses": {
1444 "200": {
1445 "description": "OK"
1446 },
1447 "401": {
1448 "description": "Unauthorized"
1449 },
1450 "404": {
1451 "description": "Not Found"
1452 },
1453 "500": {
1454 "description": "Internal Server Error"
1455 }
1456 }
1457 }
1458 },
1459 "/api/connect-bsky-account": {
1460 "post": {
1461 "description": "",
1462 "parameters": [
1463 {
1464 "name": "authorization",
1465 "in": "header",
1466 "schema": {
1467 "type": "string"
1468 }
1469 }
1470 ],
1471 "responses": {
1472 "200": {
1473 "description": "OK"
1474 },
1475 "401": {
1476 "description": "Unauthorized"
1477 },
1478 "404": {
1479 "description": "Not Found"
1480 },
1481 "500": {
1482 "description": "Internal Server Error"
1483 }
1484 },
1485 "requestBody": {
1486 "content": {
1487 "application/json": {
1488 "schema": {
1489 "type": "object",
1490 "properties": {
1491 "url": {
1492 "example": "any"
1493 },
1494 "password": {
1495 "example": "any"
1496 }
1497 }
1498 }
1499 }
1500 }
1501 }
1502 }
1503 },
1504 "/api/user/deleteFollow/{id}": {
1505 "get": {
1506 "description": "",
1507 "parameters": [
1508 {
1509 "name": "id",
1510 "in": "path",
1511 "required": true,
1512 "schema": {
1513 "type": "string"
1514 }
1515 },
1516 {
1517 "name": "authorization",
1518 "in": "header",
1519 "schema": {
1520 "type": "string"
1521 }
1522 }
1523 ],
1524 "responses": {
1525 "200": {
1526 "description": "OK"
1527 },
1528 "401": {
1529 "description": "Unauthorized"
1530 },
1531 "500": {
1532 "description": "Internal Server Error"
1533 }
1534 }
1535 }
1536 },
1537 "/api/user/approveFollow/{id}": {
1538 "get": {
1539 "description": "",
1540 "parameters": [
1541 {
1542 "name": "id",
1543 "in": "path",
1544 "required": true,
1545 "schema": {
1546 "type": "string"
1547 }
1548 },
1549 {
1550 "name": "authorization",
1551 "in": "header",
1552 "schema": {
1553 "type": "string"
1554 }
1555 }
1556 ],
1557 "responses": {
1558 "200": {
1559 "description": "OK"
1560 },
1561 "401": {
1562 "description": "Unauthorized"
1563 },
1564 "500": {
1565 "description": "Internal Server Error"
1566 }
1567 }
1568 }
1569 },
1570 "/api/user/{url}/follows": {
1571 "get": {
1572 "description": "",
1573 "parameters": [
1574 {
1575 "name": "url",
1576 "in": "path",
1577 "required": true,
1578 "schema": {
1579 "type": "string"
1580 }
1581 },
1582 {
1583 "name": "authorization",
1584 "in": "header",
1585 "schema": {
1586 "type": "string"
1587 }
1588 }
1589 ],
1590 "responses": {
1591 "200": {
1592 "description": "OK"
1593 },
1594 "401": {
1595 "description": "Unauthorized"
1596 },
1597 "404": {
1598 "description": "Not Found"
1599 }
1600 }
1601 }
1602 },
1603 "/api/user/myAsks": {
1604 "get": {
1605 "description": "",
1606 "parameters": [
1607 {
1608 "name": "answered",
1609 "in": "query",
1610 "schema": {
1611 "type": "string"
1612 }
1613 },
1614 {
1615 "name": "authorization",
1616 "in": "header",
1617 "schema": {
1618 "type": "string"
1619 }
1620 }
1621 ],
1622 "responses": {
1623 "200": {
1624 "description": "OK"
1625 },
1626 "401": {
1627 "description": "Unauthorized"
1628 }
1629 }
1630 }
1631 },
1632 "/api/user/{url}/ask": {
1633 "post": {
1634 "description": "",
1635 "parameters": [
1636 {
1637 "name": "url",
1638 "in": "path",
1639 "required": true,
1640 "schema": {
1641 "type": "string"
1642 }
1643 }
1644 ],
1645 "responses": {
1646 "200": {
1647 "description": "OK"
1648 },
1649 "400": {
1650 "description": "Bad Request"
1651 },
1652 "429": {
1653 "description": "Too Many Requests"
1654 },
1655 "500": {
1656 "description": "Internal Server Error"
1657 }
1658 },
1659 "requestBody": {
1660 "content": {
1661 "application/json": {
1662 "schema": {
1663 "type": "object",
1664 "properties": {
1665 "anonymous": {
1666 "example": "any"
1667 },
1668 "question": {
1669 "example": "any"
1670 }
1671 }
1672 }
1673 }
1674 }
1675 }
1676 }
1677 },
1678 "/api/user/ignoreAsk": {
1679 "post": {
1680 "description": "",
1681 "parameters": [
1682 {
1683 "name": "authorization",
1684 "in": "header",
1685 "schema": {
1686 "type": "string"
1687 }
1688 }
1689 ],
1690 "responses": {
1691 "200": {
1692 "description": "OK"
1693 },
1694 "401": {
1695 "description": "Unauthorized"
1696 }
1697 },
1698 "requestBody": {
1699 "content": {
1700 "application/json": {
1701 "schema": {
1702 "type": "object",
1703 "properties": {
1704 "id": {
1705 "example": "any"
1706 }
1707 }
1708 }
1709 }
1710 }
1711 }
1712 }
1713 },
1714 "/api/user/bookmarkPost": {
1715 "post": {
1716 "description": "",
1717 "parameters": [
1718 {
1719 "name": "authorization",
1720 "in": "header",
1721 "schema": {
1722 "type": "string"
1723 }
1724 }
1725 ],
1726 "responses": {
1727 "200": {
1728 "description": "OK"
1729 },
1730 "401": {
1731 "description": "Unauthorized"
1732 }
1733 },
1734 "requestBody": {
1735 "content": {
1736 "application/json": {
1737 "schema": {
1738 "type": "object",
1739 "properties": {
1740 "postId": {
1741 "example": "any"
1742 }
1743 }
1744 }
1745 }
1746 }
1747 }
1748 }
1749 },
1750 "/api/user/unbookmarkPost": {
1751 "post": {
1752 "description": "",
1753 "parameters": [
1754 {
1755 "name": "authorization",
1756 "in": "header",
1757 "schema": {
1758 "type": "string"
1759 }
1760 }
1761 ],
1762 "responses": {
1763 "200": {
1764 "description": "OK"
1765 },
1766 "401": {
1767 "description": "Unauthorized"
1768 }
1769 },
1770 "requestBody": {
1771 "content": {
1772 "application/json": {
1773 "schema": {
1774 "type": "object",
1775 "properties": {
1776 "postId": {
1777 "example": "any"
1778 }
1779 }
1780 }
1781 }
1782 }
1783 }
1784 }
1785 },
1786 "/api/user/selfDeactivate": {
1787 "post": {
1788 "description": "",
1789 "parameters": [
1790 {
1791 "name": "authorization",
1792 "in": "header",
1793 "schema": {
1794 "type": "string"
1795 }
1796 }
1797 ],
1798 "responses": {
1799 "200": {
1800 "description": "OK"
1801 },
1802 "400": {
1803 "description": "Bad Request"
1804 },
1805 "401": {
1806 "description": "Unauthorized"
1807 }
1808 },
1809 "requestBody": {
1810 "content": {
1811 "application/json": {
1812 "schema": {
1813 "type": "object",
1814 "properties": {
1815 "password": {
1816 "example": "any"
1817 }
1818 }
1819 }
1820 }
1821 }
1822 }
1823 }
1824 },
1825 "/api/user/migrateOut": {
1826 "post": {
1827 "description": "",
1828 "parameters": [
1829 {
1830 "name": "authorization",
1831 "in": "header",
1832 "schema": {
1833 "type": "string"
1834 }
1835 }
1836 ],
1837 "responses": {
1838 "200": {
1839 "description": "OK"
1840 },
1841 "401": {
1842 "description": "Unauthorized"
1843 },
1844 "500": {
1845 "description": "Internal Server Error"
1846 }
1847 },
1848 "requestBody": {
1849 "content": {
1850 "application/json": {
1851 "schema": {
1852 "type": "object",
1853 "properties": {
1854 "target": {
1855 "example": "any"
1856 }
1857 }
1858 }
1859 }
1860 }
1861 }
1862 }
1863 },
1864 "/api/admin/server-list": {
1865 "get": {
1866 "description": "",
1867 "parameters": [
1868 {
1869 "name": "authorization",
1870 "in": "header",
1871 "schema": {
1872 "type": "string"
1873 }
1874 }
1875 ],
1876 "responses": {
1877 "200": {
1878 "description": "OK"
1879 },
1880 "401": {
1881 "description": "Unauthorized"
1882 }
1883 }
1884 }
1885 },
1886 "/api/admin/invite-codes": {
1887 "get": {
1888 "description": "",
1889 "parameters": [
1890 {
1891 "name": "authorization",
1892 "in": "header",
1893 "schema": {
1894 "type": "string"
1895 }
1896 }
1897 ],
1898 "responses": {
1899 "200": {
1900 "description": "OK"
1901 },
1902 "401": {
1903 "description": "Unauthorized"
1904 }
1905 }
1906 }
1907 },
1908 "/api/admin/create-invite-code": {
1909 "post": {
1910 "description": "",
1911 "parameters": [
1912 {
1913 "name": "authorization",
1914 "in": "header",
1915 "schema": {
1916 "type": "string"
1917 }
1918 }
1919 ],
1920 "responses": {
1921 "200": {
1922 "description": "OK"
1923 },
1924 "401": {
1925 "description": "Unauthorized"
1926 }
1927 },
1928 "requestBody": {
1929 "content": {
1930 "application/json": {
1931 "schema": {
1932 "type": "object",
1933 "properties": {
1934 "if": {
1935 "example": "any"
1936 }
1937 }
1938 }
1939 }
1940 }
1941 }
1942 }
1943 },
1944 "/api/admin/server-update": {
1945 "post": {
1946 "description": "",
1947 "parameters": [
1948 {
1949 "name": "authorization",
1950 "in": "header",
1951 "schema": {
1952 "type": "string"
1953 }
1954 }
1955 ],
1956 "responses": {
1957 "200": {
1958 "description": "OK"
1959 },
1960 "401": {
1961 "description": "Unauthorized"
1962 }
1963 }
1964 }
1965 },
1966 "/api/admin/userBlockList": {
1967 "get": {
1968 "description": "",
1969 "parameters": [
1970 {
1971 "name": "authorization",
1972 "in": "header",
1973 "schema": {
1974 "type": "string"
1975 }
1976 }
1977 ],
1978 "responses": {
1979 "200": {
1980 "description": "OK"
1981 },
1982 "401": {
1983 "description": "Unauthorized"
1984 }
1985 }
1986 }
1987 },
1988 "/api/admin/reportCount": {
1989 "get": {
1990 "description": "",
1991 "parameters": [
1992 {
1993 "name": "authorization",
1994 "in": "header",
1995 "schema": {
1996 "type": "string"
1997 }
1998 }
1999 ],
2000 "responses": {
2001 "200": {
2002 "description": "OK"
2003 },
2004 "401": {
2005 "description": "Unauthorized"
2006 }
2007 }
2008 }
2009 },
2010 "/api/admin/reportList": {
2011 "get": {
2012 "description": "",
2013 "parameters": [
2014 {
2015 "name": "authorization",
2016 "in": "header",
2017 "schema": {
2018 "type": "string"
2019 }
2020 }
2021 ],
2022 "responses": {
2023 "200": {
2024 "description": "OK"
2025 },
2026 "401": {
2027 "description": "Unauthorized"
2028 }
2029 }
2030 }
2031 },
2032 "/api/admin/closeReport": {
2033 "post": {
2034 "description": "",
2035 "parameters": [
2036 {
2037 "name": "authorization",
2038 "in": "header",
2039 "schema": {
2040 "type": "string"
2041 }
2042 }
2043 ],
2044 "responses": {
2045 "200": {
2046 "description": "OK"
2047 },
2048 "401": {
2049 "description": "Unauthorized"
2050 }
2051 },
2052 "requestBody": {
2053 "content": {
2054 "application/json": {
2055 "schema": {
2056 "type": "object",
2057 "properties": {
2058 "id": {
2059 "example": "any"
2060 }
2061 }
2062 }
2063 }
2064 }
2065 }
2066 }
2067 },
2068 "/api/admin/banUser": {
2069 "post": {
2070 "description": "",
2071 "parameters": [
2072 {
2073 "name": "authorization",
2074 "in": "header",
2075 "schema": {
2076 "type": "string"
2077 }
2078 }
2079 ],
2080 "responses": {
2081 "200": {
2082 "description": "OK"
2083 },
2084 "401": {
2085 "description": "Unauthorized"
2086 }
2087 },
2088 "requestBody": {
2089 "content": {
2090 "application/json": {
2091 "schema": {
2092 "type": "object",
2093 "properties": {
2094 "id": {
2095 "example": "any"
2096 },
2097 "message": {
2098 "example": "any"
2099 }
2100 }
2101 }
2102 }
2103 }
2104 }
2105 }
2106 },
2107 "/api/admin/forceNSFWUser": {
2108 "post": {
2109 "description": "",
2110 "parameters": [
2111 {
2112 "name": "authorization",
2113 "in": "header",
2114 "schema": {
2115 "type": "string"
2116 }
2117 }
2118 ],
2119 "responses": {
2120 "200": {
2121 "description": "OK"
2122 },
2123 "401": {
2124 "description": "Unauthorized"
2125 }
2126 },
2127 "requestBody": {
2128 "content": {
2129 "application/json": {
2130 "schema": {
2131 "type": "object",
2132 "properties": {
2133 "id": {
2134 "example": "any"
2135 }
2136 }
2137 }
2138 }
2139 }
2140 }
2141 }
2142 },
2143 "/api/admin/ignoreReport": {
2144 "post": {
2145 "description": "",
2146 "parameters": [
2147 {
2148 "name": "authorization",
2149 "in": "header",
2150 "schema": {
2151 "type": "string"
2152 }
2153 }
2154 ],
2155 "responses": {
2156 "200": {
2157 "description": "OK"
2158 },
2159 "401": {
2160 "description": "Unauthorized"
2161 }
2162 },
2163 "requestBody": {
2164 "content": {
2165 "application/json": {
2166 "schema": {
2167 "type": "object",
2168 "properties": {
2169 "id": {
2170 "example": "any"
2171 }
2172 }
2173 }
2174 }
2175 }
2176 }
2177 }
2178 },
2179 "/api/admin/reopenReport": {
2180 "post": {
2181 "description": "",
2182 "parameters": [
2183 {
2184 "name": "authorization",
2185 "in": "header",
2186 "schema": {
2187 "type": "string"
2188 }
2189 }
2190 ],
2191 "responses": {
2192 "200": {
2193 "description": "OK"
2194 },
2195 "401": {
2196 "description": "Unauthorized"
2197 }
2198 },
2199 "requestBody": {
2200 "content": {
2201 "application/json": {
2202 "schema": {
2203 "type": "object",
2204 "properties": {
2205 "id": {
2206 "example": "any"
2207 }
2208 }
2209 }
2210 }
2211 }
2212 }
2213 }
2214 },
2215 "/api/admin/getBannedUsers": {
2216 "get": {
2217 "description": "",
2218 "parameters": [
2219 {
2220 "name": "authorization",
2221 "in": "header",
2222 "schema": {
2223 "type": "string"
2224 }
2225 }
2226 ],
2227 "responses": {
2228 "200": {
2229 "description": "OK"
2230 },
2231 "401": {
2232 "description": "Unauthorized"
2233 }
2234 }
2235 }
2236 },
2237 "/api/admin/unbanUser": {
2238 "post": {
2239 "description": "",
2240 "parameters": [
2241 {
2242 "name": "authorization",
2243 "in": "header",
2244 "schema": {
2245 "type": "string"
2246 }
2247 }
2248 ],
2249 "responses": {
2250 "200": {
2251 "description": "OK"
2252 },
2253 "401": {
2254 "description": "Unauthorized"
2255 }
2256 },
2257 "requestBody": {
2258 "content": {
2259 "application/json": {
2260 "schema": {
2261 "type": "object",
2262 "properties": {
2263 "id": {
2264 "example": "any"
2265 }
2266 }
2267 }
2268 }
2269 }
2270 }
2271 }
2272 },
2273 "/api/admin/getPendingApprovalUsers": {
2274 "get": {
2275 "description": "",
2276 "parameters": [
2277 {
2278 "name": "authorization",
2279 "in": "header",
2280 "schema": {
2281 "type": "string"
2282 }
2283 }
2284 ],
2285 "responses": {
2286 "200": {
2287 "description": "OK"
2288 },
2289 "401": {
2290 "description": "Unauthorized"
2291 }
2292 }
2293 }
2294 },
2295 "/api/admin/activateUser": {
2296 "post": {
2297 "description": "",
2298 "parameters": [
2299 {
2300 "name": "authorization",
2301 "in": "header",
2302 "schema": {
2303 "type": "string"
2304 }
2305 }
2306 ],
2307 "responses": {
2308 "200": {
2309 "description": "OK"
2310 },
2311 "401": {
2312 "description": "Unauthorized"
2313 }
2314 },
2315 "requestBody": {
2316 "content": {
2317 "application/json": {
2318 "schema": {
2319 "type": "object",
2320 "properties": {
2321 "id": {
2322 "example": "any"
2323 }
2324 }
2325 }
2326 }
2327 }
2328 }
2329 }
2330 },
2331 "/api/admin/userUsedVPN": {
2332 "post": {
2333 "description": "",
2334 "parameters": [
2335 {
2336 "name": "authorization",
2337 "in": "header",
2338 "schema": {
2339 "type": "string"
2340 }
2341 }
2342 ],
2343 "responses": {
2344 "200": {
2345 "description": "OK"
2346 },
2347 "401": {
2348 "description": "Unauthorized"
2349 }
2350 },
2351 "requestBody": {
2352 "content": {
2353 "application/json": {
2354 "schema": {
2355 "type": "object",
2356 "properties": {
2357 "id": {
2358 "example": "any"
2359 }
2360 }
2361 }
2362 }
2363 }
2364 }
2365 }
2366 },
2367 "/api/admin/notActivateAndSendEmail": {
2368 "post": {
2369 "description": "",
2370 "parameters": [
2371 {
2372 "name": "authorization",
2373 "in": "header",
2374 "schema": {
2375 "type": "string"
2376 }
2377 }
2378 ],
2379 "responses": {
2380 "200": {
2381 "description": "OK"
2382 },
2383 "401": {
2384 "description": "Unauthorized"
2385 }
2386 },
2387 "requestBody": {
2388 "content": {
2389 "application/json": {
2390 "schema": {
2391 "type": "object",
2392 "properties": {
2393 "id": {
2394 "example": "any"
2395 }
2396 }
2397 }
2398 }
2399 }
2400 }
2401 }
2402 },
2403 "/api/blockUserServer": {
2404 "post": {
2405 "description": "",
2406 "parameters": [
2407 {
2408 "name": "authorization",
2409 "in": "header",
2410 "schema": {
2411 "type": "string"
2412 }
2413 }
2414 ],
2415 "responses": {
2416 "200": {
2417 "description": "OK"
2418 },
2419 "401": {
2420 "description": "Unauthorized"
2421 }
2422 },
2423 "requestBody": {
2424 "content": {
2425 "application/json": {
2426 "schema": {
2427 "type": "object",
2428 "properties": {
2429 "userId": {
2430 "example": "any"
2431 }
2432 }
2433 }
2434 }
2435 }
2436 }
2437 }
2438 },
2439 "/api/unblockUserServer": {
2440 "post": {
2441 "description": "",
2442 "parameters": [
2443 {
2444 "name": "authorization",
2445 "in": "header",
2446 "schema": {
2447 "type": "string"
2448 }
2449 }
2450 ],
2451 "responses": {
2452 "200": {
2453 "description": "OK"
2454 },
2455 "401": {
2456 "description": "Unauthorized"
2457 }
2458 },
2459 "requestBody": {
2460 "content": {
2461 "application/json": {
2462 "schema": {
2463 "type": "object",
2464 "properties": {
2465 "userId": {
2466 "example": "any"
2467 }
2468 }
2469 }
2470 }
2471 }
2472 }
2473 }
2474 },
2475 "/api/myServerBlocks": {
2476 "get": {
2477 "description": "",
2478 "parameters": [
2479 {
2480 "name": "authorization",
2481 "in": "header",
2482 "schema": {
2483 "type": "string"
2484 }
2485 }
2486 ],
2487 "responses": {
2488 "200": {
2489 "description": "OK"
2490 },
2491 "401": {
2492 "description": "Unauthorized"
2493 }
2494 }
2495 }
2496 },
2497 "/api/unblockServer": {
2498 "post": {
2499 "description": "",
2500 "parameters": [
2501 {
2502 "name": "id",
2503 "in": "query",
2504 "schema": {
2505 "type": "string"
2506 }
2507 },
2508 {
2509 "name": "authorization",
2510 "in": "header",
2511 "schema": {
2512 "type": "string"
2513 }
2514 }
2515 ],
2516 "responses": {
2517 "200": {
2518 "description": "OK"
2519 },
2520 "401": {
2521 "description": "Unauthorized"
2522 }
2523 }
2524 }
2525 },
2526 "/api/v2/dashboard": {
2527 "get": {
2528 "description": "",
2529 "parameters": [
2530 {
2531 "name": "level",
2532 "in": "query",
2533 "schema": {
2534 "type": "string"
2535 }
2536 }
2537 ],
2538 "responses": {
2539 "200": {
2540 "description": "OK"
2541 },
2542 "401": {
2543 "description": "Unauthorized"
2544 }
2545 }
2546 }
2547 },
2548 "/api/like": {
2549 "post": {
2550 "description": "",
2551 "parameters": [
2552 {
2553 "name": "authorization",
2554 "in": "header",
2555 "schema": {
2556 "type": "string"
2557 }
2558 }
2559 ],
2560 "responses": {
2561 "200": {
2562 "description": "OK"
2563 },
2564 "401": {
2565 "description": "Unauthorized"
2566 },
2567 "403": {
2568 "description": "Forbidden"
2569 }
2570 },
2571 "requestBody": {
2572 "content": {
2573 "application/json": {
2574 "schema": {
2575 "type": "object",
2576 "properties": {
2577 "postId": {
2578 "example": "any"
2579 }
2580 }
2581 }
2582 }
2583 }
2584 }
2585 }
2586 },
2587 "/api/unlike": {
2588 "post": {
2589 "description": "",
2590 "parameters": [
2591 {
2592 "name": "authorization",
2593 "in": "header",
2594 "schema": {
2595 "type": "string"
2596 }
2597 }
2598 ],
2599 "responses": {
2600 "200": {
2601 "description": "OK"
2602 },
2603 "401": {
2604 "description": "Unauthorized"
2605 }
2606 },
2607 "requestBody": {
2608 "content": {
2609 "application/json": {
2610 "schema": {
2611 "type": "object",
2612 "properties": {
2613 "postId": {
2614 "example": "any"
2615 }
2616 }
2617 }
2618 }
2619 }
2620 }
2621 }
2622 },
2623 "/api/mute": {
2624 "post": {
2625 "description": "",
2626 "parameters": [
2627 {
2628 "name": "authorization",
2629 "in": "header",
2630 "schema": {
2631 "type": "string"
2632 }
2633 }
2634 ],
2635 "responses": {
2636 "200": {
2637 "description": "OK"
2638 },
2639 "401": {
2640 "description": "Unauthorized"
2641 }
2642 },
2643 "requestBody": {
2644 "content": {
2645 "application/json": {
2646 "schema": {
2647 "type": "object",
2648 "properties": {
2649 "userId": {
2650 "example": "any"
2651 },
2652 "reason": {
2653 "example": "any"
2654 }
2655 }
2656 }
2657 }
2658 }
2659 }
2660 }
2661 },
2662 "/api/unmute": {
2663 "post": {
2664 "description": "",
2665 "parameters": [
2666 {
2667 "name": "authorization",
2668 "in": "header",
2669 "schema": {
2670 "type": "string"
2671 }
2672 }
2673 ],
2674 "responses": {
2675 "200": {
2676 "description": "OK"
2677 },
2678 "401": {
2679 "description": "Unauthorized"
2680 }
2681 },
2682 "requestBody": {
2683 "content": {
2684 "application/json": {
2685 "schema": {
2686 "type": "object",
2687 "properties": {
2688 "userId": {
2689 "example": "any"
2690 }
2691 }
2692 }
2693 }
2694 }
2695 }
2696 }
2697 },
2698 "/api/myMutes": {
2699 "get": {
2700 "description": "",
2701 "parameters": [
2702 {
2703 "name": "authorization",
2704 "in": "header",
2705 "schema": {
2706 "type": "string"
2707 }
2708 }
2709 ],
2710 "responses": {
2711 "200": {
2712 "description": "OK"
2713 },
2714 "401": {
2715 "description": "Unauthorized"
2716 }
2717 }
2718 }
2719 },
2720 "/api/unmute-user": {
2721 "post": {
2722 "description": "",
2723 "parameters": [
2724 {
2725 "name": "id",
2726 "in": "query",
2727 "schema": {
2728 "type": "string"
2729 }
2730 },
2731 {
2732 "name": "authorization",
2733 "in": "header",
2734 "schema": {
2735 "type": "string"
2736 }
2737 }
2738 ],
2739 "responses": {
2740 "200": {
2741 "description": "OK"
2742 },
2743 "401": {
2744 "description": "Unauthorized"
2745 }
2746 }
2747 }
2748 },
2749 "/api/deletePost": {
2750 "delete": {
2751 "description": "",
2752 "parameters": [
2753 {
2754 "name": "id",
2755 "in": "query",
2756 "schema": {
2757 "type": "string"
2758 }
2759 },
2760 {
2761 "name": "authorization",
2762 "in": "header",
2763 "schema": {
2764 "type": "string"
2765 }
2766 }
2767 ],
2768 "responses": {
2769 "200": {
2770 "description": "OK"
2771 },
2772 "401": {
2773 "description": "Unauthorized"
2774 },
2775 "500": {
2776 "description": "Internal Server Error"
2777 }
2778 }
2779 }
2780 },
2781 "/api/deleteRewoots": {
2782 "delete": {
2783 "description": "",
2784 "parameters": [
2785 {
2786 "name": "id",
2787 "in": "query",
2788 "schema": {
2789 "type": "string"
2790 }
2791 },
2792 {
2793 "name": "authorization",
2794 "in": "header",
2795 "schema": {
2796 "type": "string"
2797 }
2798 }
2799 ],
2800 "responses": {
2801 "200": {
2802 "description": "OK"
2803 },
2804 "401": {
2805 "description": "Unauthorized"
2806 }
2807 }
2808 }
2809 },
2810 "/api/emojiReact": {
2811 "post": {
2812 "description": "",
2813 "parameters": [
2814 {
2815 "name": "authorization",
2816 "in": "header",
2817 "schema": {
2818 "type": "string"
2819 }
2820 }
2821 ],
2822 "responses": {
2823 "200": {
2824 "description": "OK"
2825 },
2826 "400": {
2827 "description": "Bad Request"
2828 },
2829 "401": {
2830 "description": "Unauthorized"
2831 },
2832 "500": {
2833 "description": "Internal Server Error"
2834 }
2835 },
2836 "requestBody": {
2837 "content": {
2838 "application/json": {
2839 "schema": {
2840 "type": "object",
2841 "properties": {
2842 "postId": {
2843 "example": "any"
2844 },
2845 "emojiName": {
2846 "example": "any"
2847 },
2848 "undo": {
2849 "example": "any"
2850 }
2851 }
2852 }
2853 }
2854 }
2855 }
2856 }
2857 },
2858 "/api/admin/addEmoji": {
2859 "post": {
2860 "description": "",
2861 "parameters": [
2862 {
2863 "name": "authorization",
2864 "in": "header",
2865 "schema": {
2866 "type": "string"
2867 }
2868 }
2869 ],
2870 "responses": {
2871 "200": {
2872 "description": "OK"
2873 },
2874 "401": {
2875 "description": "Unauthorized"
2876 },
2877 "500": {
2878 "description": "Internal Server Error"
2879 }
2880 }
2881 }
2882 },
2883 "/api/forum/{id}": {
2884 "get": {
2885 "description": "",
2886 "parameters": [
2887 {
2888 "name": "id",
2889 "in": "path",
2890 "required": true,
2891 "schema": {
2892 "type": "string"
2893 }
2894 }
2895 ],
2896 "responses": {
2897 "200": {
2898 "description": "OK"
2899 },
2900 "404": {
2901 "description": "Not Found"
2902 }
2903 }
2904 }
2905 },
2906 "/api/cache": {
2907 "get": {
2908 "description": "",
2909 "responses": {
2910 "404": {
2911 "description": "Not Found"
2912 }
2913 }
2914 }
2915 },
2916 "/api/v2/cache/media/{id}": {
2917 "get": {
2918 "description": "",
2919 "parameters": [
2920 {
2921 "name": "id",
2922 "in": "path",
2923 "required": true,
2924 "schema": {
2925 "type": "string"
2926 }
2927 }
2928 ],
2929 "responses": {
2930 "404": {
2931 "description": "Not Found"
2932 }
2933 }
2934 }
2935 },
2936 "/api/v2/cache/avatar/{id}": {
2937 "get": {
2938 "description": "",
2939 "parameters": [
2940 {
2941 "name": "id",
2942 "in": "path",
2943 "required": true,
2944 "schema": {
2945 "type": "string"
2946 }
2947 }
2948 ],
2949 "responses": {
2950 "404": {
2951 "description": "Not Found"
2952 },
2953 "500": {
2954 "description": "Internal Server Error"
2955 }
2956 }
2957 }
2958 },
2959 "/api/v2/cache/emoji/{id}": {
2960 "get": {
2961 "description": "",
2962 "parameters": [
2963 {
2964 "name": "id",
2965 "in": "path",
2966 "required": true,
2967 "schema": {
2968 "type": "string"
2969 }
2970 }
2971 ],
2972 "responses": {
2973 "404": {
2974 "description": "Not Found"
2975 }
2976 }
2977 }
2978 },
2979 "/api/v2/cache/youtube/{id}": {
2980 "get": {
2981 "description": "",
2982 "parameters": [
2983 {
2984 "name": "id",
2985 "in": "path",
2986 "required": true,
2987 "schema": {
2988 "type": "string"
2989 }
2990 }
2991 ],
2992 "responses": {
2993 "default": {
2994 "description": ""
2995 }
2996 }
2997 }
2998 },
2999 "/api/v2/cache/favicon/{id}": {
3000 "get": {
3001 "description": "",
3002 "parameters": [
3003 {
3004 "name": "id",
3005 "in": "path",
3006 "required": true,
3007 "schema": {
3008 "type": "string"
3009 }
3010 }
3011 ],
3012 "responses": {
3013 "500": {
3014 "description": "Internal Server Error"
3015 }
3016 }
3017 }
3018 },
3019 "/api/v2/cache/imageurl/{id}": {
3020 "get": {
3021 "description": "",
3022 "parameters": [
3023 {
3024 "name": "id",
3025 "in": "path",
3026 "required": true,
3027 "schema": {
3028 "type": "string"
3029 }
3030 }
3031 ],
3032 "responses": {
3033 "404": {
3034 "description": "Not Found"
3035 },
3036 "500": {
3037 "description": "Internal Server Error"
3038 }
3039 }
3040 }
3041 },
3042 "/api/linkPreview": {
3043 "get": {
3044 "description": "",
3045 "responses": {
3046 "200": {
3047 "description": "OK"
3048 }
3049 }
3050 }
3051 },
3052 "/api/v2/unsilencePost": {
3053 "post": {
3054 "description": "",
3055 "parameters": [
3056 {
3057 "name": "authorization",
3058 "in": "header",
3059 "schema": {
3060 "type": "string"
3061 }
3062 }
3063 ],
3064 "responses": {
3065 "200": {
3066 "description": "OK"
3067 },
3068 "401": {
3069 "description": "Unauthorized"
3070 }
3071 },
3072 "requestBody": {
3073 "content": {
3074 "application/json": {
3075 "schema": {
3076 "type": "object",
3077 "properties": {
3078 "postId": {
3079 "example": "any"
3080 }
3081 }
3082 }
3083 }
3084 }
3085 }
3086 }
3087 },
3088 "/api/v2/silencePost": {
3089 "post": {
3090 "description": "",
3091 "parameters": [
3092 {
3093 "name": "authorization",
3094 "in": "header",
3095 "schema": {
3096 "type": "string"
3097 }
3098 }
3099 ],
3100 "responses": {
3101 "200": {
3102 "description": "OK"
3103 },
3104 "401": {
3105 "description": "Unauthorized"
3106 }
3107 },
3108 "requestBody": {
3109 "content": {
3110 "application/json": {
3111 "schema": {
3112 "type": "object",
3113 "properties": {
3114 "postId": {
3115 "example": "any"
3116 },
3117 "superMute": {
3118 "example": "any"
3119 }
3120 }
3121 }
3122 }
3123 }
3124 }
3125 }
3126 },
3127 "/api/status/workerStats": {
3128 "get": {
3129 "description": "",
3130 "parameters": [
3131 {
3132 "name": "authorization",
3133 "in": "header",
3134 "schema": {
3135 "type": "string"
3136 }
3137 }
3138 ],
3139 "responses": {
3140 "200": {
3141 "description": "OK"
3142 },
3143 "401": {
3144 "description": "Unauthorized"
3145 }
3146 }
3147 }
3148 },
3149 "/api/status/blocks": {
3150 "get": {
3151 "description": "",
3152 "responses": {
3153 "200": {
3154 "description": "OK"
3155 },
3156 "404": {
3157 "description": "Not Found"
3158 }
3159 }
3160 }
3161 },
3162 "/api/health": {
3163 "get": {
3164 "description": "",
3165 "responses": {
3166 "200": {
3167 "description": "OK"
3168 },
3169 "503": {
3170 "description": "Service Unavailable"
3171 }
3172 }
3173 }
3174 },
3175 "/api/disableEmailNotifications/{id}/{code}": {
3176 "get": {
3177 "description": "",
3178 "parameters": [
3179 {
3180 "name": "id",
3181 "in": "path",
3182 "required": true,
3183 "schema": {
3184 "type": "string"
3185 }
3186 },
3187 {
3188 "name": "code",
3189 "in": "path",
3190 "required": true,
3191 "schema": {
3192 "type": "string"
3193 }
3194 }
3195 ],
3196 "responses": {
3197 "200": {
3198 "description": "OK"
3199 }
3200 }
3201 }
3202 },
3203 "[/": {
3204 "get": {
3205 "description": "",
3206 "responses": {
3207 "200": {
3208 "description": "OK"
3209 }
3210 }
3211 }
3212 },
3213 "/post/{id}": {
3214 "get": {
3215 "description": "",
3216 "parameters": [
3217 {
3218 "name": "id",
3219 "in": "path",
3220 "required": true,
3221 "schema": {
3222 "type": "string"
3223 }
3224 },
3225 {
3226 "name": "digest",
3227 "in": "header",
3228 "schema": {
3229 "type": "string"
3230 }
3231 },
3232 {
3233 "name": "user-agent",
3234 "in": "header",
3235 "schema": {
3236 "type": "string"
3237 }
3238 },
3239 {
3240 "name": "orig-content-type",
3241 "in": "header",
3242 "schema": {
3243 "type": "string"
3244 }
3245 },
3246 {
3247 "name": "content-type",
3248 "in": "header",
3249 "schema": {
3250 "type": "string"
3251 }
3252 }
3253 ],
3254 "responses": {
3255 "200": {
3256 "description": "OK"
3257 },
3258 "401": {
3259 "description": "Unauthorized"
3260 },
3261 "403": {
3262 "description": "Forbidden"
3263 },
3264 "429": {
3265 "description": "Too Many Requests"
3266 }
3267 }
3268 }
3269 },
3270 "/blog/{url}/rss": {
3271 "get": {
3272 "description": "",
3273 "parameters": [
3274 {
3275 "name": "url",
3276 "in": "path",
3277 "required": true,
3278 "schema": {
3279 "type": "string"
3280 }
3281 }
3282 ],
3283 "responses": {
3284 "200": {
3285 "description": "OK"
3286 }
3287 }
3288 }
3289 },
3290 "/blog/{url}/ask": {
3291 "get": {
3292 "description": "",
3293 "parameters": [
3294 {
3295 "name": "url",
3296 "in": "path",
3297 "required": true,
3298 "schema": {
3299 "type": "string"
3300 }
3301 }
3302 ],
3303 "responses": {
3304 "200": {
3305 "description": "OK"
3306 }
3307 }
3308 }
3309 },
3310 "/blog/{url}/{somethingElse}": {
3311 "get": {
3312 "description": "",
3313 "parameters": [
3314 {
3315 "name": "url",
3316 "in": "path",
3317 "required": true,
3318 "schema": {
3319 "type": "string"
3320 }
3321 },
3322 {
3323 "name": "somethingElse",
3324 "in": "path",
3325 "required": true,
3326 "schema": {
3327 "type": "string"
3328 }
3329 }
3330 ],
3331 "responses": {
3332 "200": {
3333 "description": "OK"
3334 }
3335 }
3336 }
3337 },
3338 "/blog/{url}": {
3339 "get": {
3340 "description": "",
3341 "parameters": [
3342 {
3343 "name": "url",
3344 "in": "path",
3345 "required": true,
3346 "schema": {
3347 "type": "string"
3348 }
3349 }
3350 ],
3351 "responses": {
3352 "200": {
3353 "description": "OK"
3354 }
3355 }
3356 }
3357 },
3358 "[/fediverse/post/{id}": {
3359 "get": {
3360 "description": "",
3361 "parameters": [
3362 {
3363 "name": "id",
3364 "in": "path",
3365 "required": true,
3366 "schema": {
3367 "type": "string"
3368 }
3369 },
3370 {
3371 "name": "digest",
3372 "in": "header",
3373 "schema": {
3374 "type": "string"
3375 }
3376 },
3377 {
3378 "name": "user-agent",
3379 "in": "header",
3380 "schema": {
3381 "type": "string"
3382 }
3383 },
3384 {
3385 "name": "orig-content-type",
3386 "in": "header",
3387 "schema": {
3388 "type": "string"
3389 }
3390 },
3391 {
3392 "name": "content-type",
3393 "in": "header",
3394 "schema": {
3395 "type": "string"
3396 }
3397 }
3398 ],
3399 "responses": {
3400 "200": {
3401 "description": "OK"
3402 },
3403 "401": {
3404 "description": "Unauthorized"
3405 },
3406 "403": {
3407 "description": "Forbidden"
3408 },
3409 "404": {
3410 "description": "Not Found"
3411 },
3412 "410": {
3413 "description": "Gone"
3414 },
3415 "429": {
3416 "description": "Too Many Requests"
3417 },
3418 "500": {
3419 "description": "Internal Server Error"
3420 }
3421 }
3422 }
3423 }
3424 },
3425 "components": {
3426 "securitySchemes": {
3427 "bearerAuth": {
3428 "type": "http",
3429 "scheme": "bearer",
3430 "bearerFormat": "JWT"
3431 }
3432 }
3433 }
3434}