unoffical wafrn mirror wafrn.net
atproto social-network activitypub
at angular21 3434 lines 74 kB view raw
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}